BigQueryで1GB以上のファイルをローカルに保存する


こんにちは、技術部のMです。

今回は、BigQueryで1GB以上のデータをローカルにCSVファイルとして保存する方法を記述していきます。
BigQueryを使用していて、Pythonなどのプログラミング言語やツールなどを使ってデータ分析を行うために、クエリ結果をローカルで扱いたいという機会が多いかと思います。
しかしBigQueryでは、クエリの処理結果からファイルとしてローカルに直接保存するには1GB以下のサイズという制限があります。


結論


クエリ結果をテーブルに保存する → Cloud Shellでコマンド実行し、Cloud Storageにエクスポートする → Cloud Storageからローカルにダウンロードする

具体的な手順


1. クエリ結果をテーブルに保存する

クエリ実行結果の右上にある「結果を保存」ボタンを押下し、「BigQueryテーブル」を選択します。

blank


2. Cloud Shellでコマンド実行し、Cloud Storageにエクスポートする

Cloud Shellを起動し、下記のコマンドを実行します。(プロジェクト名、データセット名などは自身の扱っている名前に置き換えてください。)

				
					bq extract --destination_format CSV 'プロジェクト名:データセット名.テーブル名' gs://バケット名/任意のファイル名_*.csv
				
			

上記のコマンドを実行すると、ファイルが複数生成されます。
ファイル名に*をつけることで、0から自動的に連番を振ってくれます。


3. Cloud Storageからローカルにダウンロードする

Cloud Storageの上記で指定したバケットを開き、任意のファイルを選択し、ダウンロードボタンを押下します。

blank

注意点

保存されたファイルは複数に分かれているため、ひとつのファイルとして扱いたい場合は別途CSVファイルをまとめる必要があります。(こちらでは省略します。)


終わりに

今回は、BigQueryで1GB以上のデータ結果をローカルに保存する方法を紹介しました。
簡単なようで意外と手こずったので、少しでも同じことで困っている方のお力になれれば幸いです。


最後までお読みいただきありがとうございました!

スーパーソフトウエアの採用情報

あなたが活躍できるフィールドと充実した育成環境があります

blank
blank