Wikipedia はログ ファイルを .gz として保存し、BigQuery は .gz ファイルを取り込むことができます。
Google Cloud Datalab を使用しているときに、このファイルを BigQuery に「移動」するにはどうすればよいですか?
Wikipedia はログ ファイルを .gz として保存し、BigQuery は .gz ファイルを取り込むことができます。
Google Cloud Datalab を使用しているときに、このファイルを BigQuery に「移動」するにはどうすればよいですか?
これは、現在 Web から .gz をロードしている方法です。
import gcp.bigquery as bq
import gcp.storage as storage
f = urllib.urlopen(url)
storage.Bucket('mybucket').item(gcs_url).write_to(f.read(), 'application/x-gzip')
table = bq.Table('%s.%s' % (dataset_name, table_name)).create(schema=schema, overwrite = True)
table.load_async(
'gs://mybucket/%s' % gcs_url, mode='overwrite', csv_delimiter=' ', quote='', max_bad_records=100)
これにより、 https://dumps.wikimedia.org/other/pagecounts-raw/2015/2015-01/で gz ファイルをダウンロードできます。
所見:
ファイルをダウンロードしてアップロードする簡単な方法が見つかりませんでした。代わりに、すべてを RAM (~100GB) に保持しています。このユースケースではうまく機能しますが、大きなファイルには適していません。
データをロードする前にテーブルを作成します。両方を同時に行う方法がわかりませんでした (そのため、BigQuery にはしばらく空のテーブルがあります)。
load_async を使用するとき、すべてのジョブが完了するのを簡単に待つ方法があればいいのにと思います。
https://cloud.google.com/monitoring/を統合する簡単な方法はありますか?
(課題トラッカーhttps://github.com/GoogleCloudPlatform/datalab/issues/198 )