>

2018年4月24日火曜日

Google Cloud Storage(GCS)に大量のファイルをアップロードする方法

機械学習に使うデータセットとか大量のデータをGCSにアップロードする場合はちゃんとした方法でアップロードしないと遅すぎて1月経っても終わらなかったりする。

GCSのドキュメント( https://cloud.google.com/storage/docs/object-basics?hl=ja )には
アップロード方法としてコンソール, GSUTIL, コードサンプル, REST APIの4通りの方法が記載されているがこのうちコンソール, GSUTIL, コードサンプル(python)について試して速度を見てみた。
その結果
コードサンプル(python) >> GSUTIL > コンソール
でした。
アップロードするならコードサンプル(python)がおススメです。

なお、pythonの場合コードサンプルは
def upload_blob(bucket_name, source_file_name, destination_blob_name):
    """Uploads a file to the bucket."""
    storage_client = storage.Client()
    bucket = storage_client.get_bucket(bucket_name)
    blob = bucket.blob(destination_blob_name)
    blob.upload_from_filename(source_file_name)
    print('File {} uploaded to {}.'.format(
        source_file_name,
        destination_blob_name))

となっているが注意する点は

  • from google.cloud import storage をすること。
  • コードサンプル中のbucket_nameには"gs://mybucket"の場合は"mybucket"を設定すること。
  • コードサンプル中のdestination_blob_nameには"gs://mybucket/floder1/myfile.jpg"の場合は"floder1/myfile.jpg"を設定すること。


0 件のコメント: