[SQL Tips] BigQueryの大規模データ処理コストを削減するトリック:Google Cloud Storageを活用した方法
BigQueryでSQLを実行してデータを取得する際、Pythonを使って特定のデータを選択する方法として、以下のようなパターンがよく見られます。
bq_client = bigquery.Client(...)
for i in python_list:
sql = f"""SELECT * FROM table_a WHERE id = '{i}' """
df = bq_client.query(sql).to_dataframe()
all_df.append(df, ignore_index=True)
これはシンプルな方法ですが、「table_a」が非常に大きい場合に問題があります。例えば、table_aのサイズが500GBだとして、100個のIDを調べると、単純計算で50TBのデータを処理することになります。データが大きければ大きいほど、処理コストも高くなります。
特定のカラムを選択しても、例えば200GBに削減したとしても20TBの処理となり、PythonでDaskやPySpark、Polarsなどを使っても根本的な解決にはなりません。ここで重要なのは、データがBigQueryにあり、それを効率的に取得する方法です。
解決策:BigQueryのData Exportを利用する
ここから先は
1,556字
1度限りなのでマガジンで購入される方が断然お得です
技術面接問題を通してSQLを学ぶ
1,000円
Google BigQueryなどSQLを使う場はこれまでもそしてこれからも存在します。このマガジンでは、アメリカのデータエンジニアやデー…
この記事が気に入ったらチップで応援してみませんか?