Самый быстрый способ загрузить большой файл в облачное хранилище Google на python?

# #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. Тогда в этом случае бесполезно застегивать молнию.