Cloud Functionsを使用してLookerで実行したクエリの結果をBigQueryにロードする

※ 本投稿はLooker Advent Calendar 2021 18日目の記事となります。

英語版もご覧になります

こんにちは!
 

Lookerで実行したクエリの結果を取得して、BigQueryのテーブルにロードする、Google Cloud Function向けのコードを書いてみました。Looker Python SDKとBigQueryのPython clientを利用しています。このワークフローは、Cloud Workflow を使って cron ジョブで自動実行するように設定することができます。
 

コードサンプルはこちら

Image

 


 

55a92c28-181b-4eda-a80b-823ad0436765.gif

 

使用例

  • System Activityのデータを取得する現在のLookerの仕様上、System ActivityのLookMLはユーザーからは編集できません。このワークフローを利用して、System Activityのデータに対して実行したクエリの結果を取得し、直接BigQueryにロードすることができます。そのBigQueryのテーブルをLookerのコネクションとして登録すれば、LookMLのデータモデリングを追加してユーザーが自由に編集できるSystem Activityのデータモデルを作成することができます。(現在、Lookerのシステムアクティビティには最大100,000行または過去90日分のクエリ履歴とeventデータが保存されています。)
     

  • 別のDBからBigQueryへのデータ転送 : 他のDBデータからのデータをLookerで実行したクエリの結果を取得して、BigQueryのテーブルにロード


 

注意事項 

  • Google Cloud Functionは簡単に設定でき、軽い処理の実行に適しています。重い処理を実行する場合は、LookerのネイティブActions(Google Cloud Storage、 S3への送信)や、追加でETL/ELTツール(GCPのDataflowなど)を利用することを検討してください。

  • System Activityのパフォーマンス等に柔軟性を持たせるために、Elite System Activityの利用の検討をお勧めします。


ご質問等がございましたらぜひコメントください!

3 0 656