1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

BigQueryからGCSへのエクスポートとダウンロード

Posted at

あちこち調べて回った備忘録になります。
一通りの権限は持っている前提で進めますので、BigQueryやGCSの権限については割愛します。動かなかったらだいたい権限。

大量のデータをダウンロードしたい

BigQueryのテーブルにあるデータをエクスポートしたいとき、いざエクスポートを実行しようとするとスプレッドシートやGCSにエクスポートなどの項目があります。(CSVでダウンロードしたいんだけど。)

image.png

エディタで実行した結果を保存する場合はCSVなどの方法もありますが、サイズの上限があるので大量にデータを取得したい場合はいずれも足りません。かといって何度も取得するのは面倒くさい。
image.png

なので大量のデータをダウンロードしようと思った場合は、GCSにエクスポートした後にダウンロードが必要になるようです。

GCSへのエクスポート

スクリーンショット 2023-02-28 16.44.20.png

「GCSにエクスポート」を選択した後、上記の画面が表示されるのでロケーション、エクスポートの形式、圧縮の形式を選択します。
何気にトラップなのは、このロケーションにエクスポートするファイル名や拡張子を入力しなければエクスポートがうまくいかないところでしょうか。
エクスポートがうまくできてなくてもエラーも何も表示されなくてずっと待ってました。うまくいっている場合は結構すぐにデータが出来上がります。
あと、サイズを指定できないので、データ量が多いと大量にファイルがエクスポートされます。

CSVでGZIP圧縮を選択した場合はこのように記述します。
/ファイル名*.csv.gz

Google Cloud SDKの導入

GCSからファイルをまとめてダウンロードをしようとすると、次のようなポップアップが開きます。
どうやらブラウザコンソールからは1ファイルずつしかダウンロードできないようです。

スクリーンショット 2023-02-28 16.52.47.png

なのでメッセージにもあるようにgsutilコマンドを使用する必要があります。
そのためにはGoogle Cloud SDKをインストールします。

Macで順番に実行しています。

ターミナル
% cd SDKをインストールしたいディレクトリ

% curl https://sdk.cloud.google.com | bash #実行するとgoogle-cloud-sdkというフォルダが作られます

% exec $SHELL -l #シェル再起動

% gcloud init

gcloud initのあとはGoogleにログインを求められたり、

Please enter numeric choice or text value (must exactly match list item):
プロジェクトを選択したり

Do you want to configure a default Compute Region and Zone? (Y/n)?
タイムゾーンを選択したりします。

初期化が完了したら先程のダウンロードコマンドをコピペして実行すると、ようやくデータのダウンロードができます。

参考サイト

テーブルデータのエクスポート
https://cloud.google.com/bigquery/docs/exporting-data?hl=ja

Google Cloud SDKの導入
https://www.faq.idcf.jp/app/answers/detail/a_id/941/c/98

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?