BigQueryにテーブル作成からバッチロードまでしたメモ
公開日:
:
BigQuery, Google Cloud Platform
プロジェクト作成、課金設定までしている前提。
データセットを作成
1 2 |
$ bq mk --dataset test_dataset_batch_load Dataset 'xxxxxxxx:test_dataset_batch_load' successfully created. |
テーブルを作成
1 2 |
$ bq mk --table test_dataset_batch_load.test_batch_load id:int64,user_id:int64,name:string Table 'xxxxxxxx:test_dataset_batch_load.test_batch_load' successfully created. |
データの作成(データがない場合)
こんなかんじでデータ作成
1 2 3 4 5 6 7 8 9 10 |
$ find . -type f ./data/data1_tsv0000.gz ./data/data1_tsv0001.gz ./data/data1_tsv0002.gz $ zcat ./data/data1_tsv0000.gz 0 1 a 1 2 b 2 3 c 3 4 d |
データをGCSにアップロード
1 2 3 4 5 6 |
$ gsutil cp -r ./data gs://[your-gcs-bucket]/test_batch_load/data Copying file://./data/data1_tsv0000.gz [Content-Type=application/octet-stream]... Copying file://./data/data1_tsv0001.gz [Content-Type=application/octet-stream]... Copying file://./data/data1_tsv0002.gz [Content-Type=application/octet-stream]... / [3 files][ 233.0 B/ 233.0 B] Operation completed over 3 objects/233.0 B. |
データをGCSからBigQueryにロード
1 2 |
$ bq load --source_format=CSV --field_delimiter="\t" test_dataset_batch_load.test_batch_load gs://[your-gcs-bucket]/test_batch_load/data/data1_tsv*.gz "id:int64,user_id:int64,name:STRING" Waiting on bqjob_r5ac7adb308d60126_0000016f94af5c50_1 ... (1s) Current status: DONE |
ロードしたデータをクエリしてみる
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$ bq query --nouse_legacy_sql "select id, user_id, name from test_dataset_batch_load.test_batch_load" Waiting on bqjob_r35337cdceedf0638_0000016f94c91977_1 ... (0s) Current status: DONE +----+---------+--------------------------------------------+ | id | user_id | name | +----+---------+--------------------------------------------+ | 5 | 6 | adsfad | | 6 | 7 | ka;lkd;l | | 8 | 9 | dka;dkie | | 10 | 10 | ,cvzfjf | | 11 | 11 | tetrwttrytyetytytyrtytrtyryuyujkhjknkm,nm, | | 12 | 34 | lf,g5f5v5e5fg | | 0 | 1 | a | | 1 | 2 | b | | 2 | 3 | c | | 3 | 4 | d | +----+---------+--------------------------------------------+ |
ちなみにデータファイルの中身全量
あってる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ find . -type f | xargs -I {} bash -c "echo {}; zcat {}" ./data/data1_tsv0000.gz 0 1 a 1 2 b 2 3 c 3 4 d ./data/data1_tsv0001.gz 5 6 adsfad 6 7 ka;lkd;l 8 9 dka;dkie ./data/data1_tsv0002.gz 10 10 ,cvzfjf 11 11 tetrwttrytyetytytyrtytrtyryuyujkhjknkm,nm, 12 34 lf,g5f5v5e5fg |
スポンサードリンク
関連記事
-
pythonでstorage transfer serviceを使ってみた。
準備 pythonのインストールとかする。 このあたり。http://kei0310.
-
Compute Engine(GCE)にpyenv環境を作ってみた
pyenvのインストール 必要なOSモジュールのインストール https://