# #python #google-cloud-platform #google-cloud-storage
Вопрос:
У меня есть большой CSV-файл размером около 20 ГБ, мне нужно загрузить его в облако Google, это один гигантский файл, а не разделенный. Как мне быстро загрузить это? Вот что у меня есть:
def WriteFile2Cloud(filepath, filename):
global config
global debug
if(debug):
print("Writing to file: " filename)
session = GetSession()
client = storage.Client(config.GoogleProjectID(), _http=session)
bucket = client.get_bucket(config.GoogleBucketName())
blob = bucket.blob(filename)
file = blob.upload_from_file(filepath "/" filename)
Есть ли какой-нибудь способ ускорить загрузку файла?
Комментарии:
1. Какова скорость загрузки вашего интернет-соединения? Какова скорость загрузки с использованием вашего кода? Google Cloud поддерживает загрузку объектов сегментами и параллельно, а затем объединение. Если это одноразовый процесс, я рекомендую использовать
gsutil -m filename gs://mybucket/filename
. Отредактируйте свой вопрос с подробностями.2. Как насчет того, чтобы сначала заархивировать файл? Затем распакуйте его, когда он закончит загрузку?
3. Ну, вы можете застегнуть его, но имейте в виду, что есть время застегнуть его и время распаковать. 20 ГБ-это небольшой файл по сравнению с TBs. Вы действительно ограничены скоростью загрузки, так как ввод-вывод не является основным фактором.
4. Вы можете заархивировать файл перед загрузкой, но вы не сможете распаковать его на месте после сохранения.
5. Тогда в этом случае бесполезно застегивать молнию.