今回の課題
業務で非エンジニアの人がスプレッドシートを手動で更新したら、
リアルタイムでBigQueryのテーブルが変更されるという仕組みが作りたかった。
解決策
GoogleSpreadSheetsを外部テーブルとして、BigQueryのテーブルとして扱うことで実現することができた。
※参考:Google スプレッドシートを BigQuery のテーブルとして扱う
スプレッドシートを外部テーブルにするメリット・デメリット
メリット
- 手動でスプレッドシートを更新すると、BigQueryにもリアルタイムで反映される。
- 非エンジニアの人でも簡単にテーブルを更新することができる。
デメリット
- BigQuery上でテーブルのプレビューが確認できない。
- テーブルの更新をワークフローに組み込む訳ではないので、外部テーブルをベーステーブルとしたaggregationテーブルを作成するクエリなどは、別途実行する必要がある。