embulkでBigQueryの分割テーブル(partitioned table)へデータ投入

はじめに

BigQueryでクエリスキャンを行うと、いくらwhereで絞ったとしても、テーブル内の指定したカラムは全行読み、それに応じて課金される。BigQueryに分割テーブル(partitioned table)を作成することにより、時間や日付を絞り膨大なスキャンならびに課金を限定的にすることが可能だ。今回はembulkからデータのinsertを行うことにする。

やりたいこと

MySQL -> (embulk) -> BigQuery

embulkの設定

パラメータの詳細はこちら

https://github.com/embulk/embulk-output-bigquery

実施

結果(BigQuery)

_PARTITIONTIMEは見えないカラムのようなもので、その日付はinsertで更新される。

WHERE _PARTITIONTIME でスキャン対象カラムを絞ることが可能。

Facebook Comments