LoginSignup
0
0

More than 1 year has passed since last update.

bqコマンドでクエリ結果をGCSに保存(Bigquery)

Last updated at Posted at 2021-12-08

きっかけ

コマンドライン(つまりはgcloudコマンド)でBigqueryにクエリを発行し、GCSにCSVを溜めたい要件があったのですが、公式ドキュメントを見ても下記の2つの例はあるものの、"これ"と言ったものがなかった。

やりたいこと

  • bqコマンドでクエリ結果をGCSにCSVで格納

サンプル

下記が実際に通ったサンプルです。[]は適宜[]も含めて書き換えてください。
実行した環境は、google cloud shellです。

sample
bq query --nouse_legacy_sql 'EXPORT DATA OPTIONS(
uri="gs://GCSのpath/test/hoge_*.csv",format="CSV",overwrite=true,header=true,field_delimiter=";")
AS SELECT name FROM `[pj_id].[dataset_name].[table_name]` WHERE [条件]

ポイント

  1. WebコンソールでのQueryとは、シングルコート系のお作法が違う
    1. カッコ()内は"(ダブルコート)でくくります。
    2. クエリ内での[pj_id].[dataset_name].[table_name]は`(バックコート)でくくる
  2. GCSへ保存するファイル名の名前に"*"をつける。
    1. おそらく出力ファイルが大きくなったときに連番で保存される
  3. CSVの出力方法(ヘッダーの有無等)
    1. こちらを参照

まとめ

リファレンスがなく類似記事がありそうであまりなかったので、bq query内でExport DATA OPTIONSを使ったあわせ技のお作法の参考になればと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0