BigQueryで1GB以上のファイルをローカルに保存する
こんにちは、技術部のMです。
今回は、BigQueryで1GB以上のデータをローカルにCSVファイルとして保存する方法を記述していきます。
BigQueryを使用していて、Pythonなどのプログラミング言語やツールなどを使ってデータ分析を行うために、クエリ結果をローカルで扱いたいという機会が多いかと思います。
しかしBigQueryでは、クエリの処理結果からファイルとしてローカルに直接保存するには1GB以下のサイズという制限があります。
結論
クエリ結果をテーブルに保存する → Cloud Shellでコマンド実行し、Cloud Storageにエクスポートする → Cloud Storageからローカルにダウンロードする
具体的な手順
1. クエリ結果をテーブルに保存する
クエリ実行結果の右上にある「結果を保存」ボタンを押下し、「BigQueryテーブル」を選択します。
2. Cloud Shellでコマンド実行し、Cloud Storageにエクスポートする
Cloud Shellを起動し、下記のコマンドを実行します。(プロジェクト名、データセット名などは自身の扱っている名前に置き換えてください。)
bq extract --destination_format CSV 'プロジェクト名:データセット名.テーブル名' gs://バケット名/任意のファイル名_*.csv
上記のコマンドを実行すると、ファイルが複数生成されます。
ファイル名に*をつけることで、0から自動的に連番を振ってくれます。
3. Cloud Storageからローカルにダウンロードする
Cloud Storageの上記で指定したバケットを開き、任意のファイルを選択し、ダウンロードボタンを押下します。
注意点
保存されたファイルは複数に分かれているため、ひとつのファイルとして扱いたい場合は別途CSVファイルをまとめる必要があります。(こちらでは省略します。)
終わりに
今回は、BigQueryで1GB以上のデータ結果をローカルに保存する方法を紹介しました。
簡単なようで意外と手こずったので、少しでも同じことで困っている方のお力になれれば幸いです。
最後までお読みいただきありがとうございました!
関連記事
- 2024-01-19
- テクノロジー