2
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?

BigQueryからGCSへデータをエクスポートする方法

Posted at

はじめに

BigQueryは大量のデータを処理するための強力なデータウェアハウスです。

時には、分析結果や集計データをGoogle Cloud Storage(GCS)にエクスポートして、外部システムで利用したり、長期保存したりする必要があります。

本記事では、BigQueryのEXPORT DATAクエリを使ってGCSにデータをエクスポートする方法を解説し、具体的なクエリ例とエクスポート時のオプションについて詳しく説明します。

1. 基本のエクスポートクエリ

BigQueryからGCSへデータをエクスポートする最も基本的な方法は、EXPORT DATAを使うことです。以下のようにクエリを書くだけで、簡単にデータをGCSに保存できます。

EXPORT DATA OPTIONS (
  uri='gs://出力先バケット名/export-file-*.csv',
  format='CSV',
  compression='GZIP',
  overwrite=true
) AS
SELECT * FROM `プロジェクト名.データセット名.テーブル名`;

上記のクエリでは、データをCSV形式でエクスポートし、GCSバケットにgzip圧縮して保存します。また、ファイルが大きい場合は自動的に分割され、ワイルドカード(*)を使用して複数ファイルに分けられます。

2.EXPORT DATAオプションの詳細

EXPORT DATAクエリはさまざまなオプションをサポートしており、データ形式や圧縮方法をカスタマイズすることができます。以下に主要なオプションを詳しく解説します。

  • uri:データの保存先を指定します。
    uriにはGCSバケットのパスを記載し、ファイル名の部分にワイルドカード(*)を使用することで、自動的に分割されたファイルを作成できます。
uri='gs://出力先バケット名/export-file-*.csv'
  • format:データのエクスポート形式を指定します。CSVやJSONなどの形式を選ぶことができます。
format='CSV'
  • compression:データを圧縮してエクスポートするためのオプションです。GZIPやNONEを指定できます。
compression='GZIP'
  • overwrite:エクスポート先に同名のファイルが既に存在する場合に、上書きするかどうかを指定します。
overwrite=true
  • header:CSVファイルにカラム名を含めるかどうかを指定します。
header=true

3. ファイル分割とパフォーマンス最適化

大規模データをエクスポートする際は、ファイルを分割してエクスポートすることで、パフォーマンスが向上します。
uriにワイルドカードを使用することで、エクスポートされたファイルが適切なサイズに自動的に分割されます。

たとえば、以下のクエリでは、日付範囲を指定して特定の期間のデータのみをエクスポートすることができ、
ファイルは自動的に分割されます。

EXPORT DATA OPTIONS (
  uri='gs://出力先バケット名/export-file-*.csv',
  format='CSV',
  compression='GZIP',
  overwrite=true
) AS
SELECT * FROM `プロジェクト名.データセット名.テーブル名`
WHERE date_column BETWEEN '2024-01-01' AND '2024-12-31';

4. まとめ

この記事では、BigQueryからGCSへデータをエクスポートする際の基本的な方法と、EXPORT DATAクエリのオプションを活用して、効率的にデータを管理する方法を解説しました。
適切なデータ形式や圧縮方法、ファイル分割を選ぶことで、パフォーマンスを向上させながら、ストレージのコストも最適化することができます。

公式ドキュメント:テーブルデータを Cloud Storage にエクスポートする

2
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
2
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?