Fivetran を触ってみて思ったことたち

はじめに 前回に引き続きELツールであるFivetranを試しており、ちょいちょい触って気づいたことを書き留めておきます。 一般的な話はドキュメントによく書かれているので、さわる中で気になった点にフォーカスして書いてみます。 所感 Transformations(dbt連携) 今回はfivetranのdbt連携を使い、オープンデータから稲作に関するデータと天気情報を持ってきてゴニョろうとする、みたいなデモを作ってみました。 Github 生データをlakeにいれ、少し加工したものをwarehouse、分析に使う段をmartとわけてます。 fivetran側でconnector/destinationの設定をして、githubにdbtのコードをアップロード、fivetran側で連携の設定を入れればあとは簡単に動作するようになります。 dbtを連携させるとこんな感じでソースからmartまでいい感じに可視化できました。 (文字等はあとから書き込んでいます) 手軽に使えるのはとても良いですね。 ログについて ログは以下のようにWeb UI上から確認できます。 また、ログの転送設定も可能で、例えば成功時のログは以下のようにjsonで構造化されてcloudlogginから確認できます。 dbtのログさえちゃんと構造化されているので、サクッとメトリックを作ったり通知するのもやりやすそうに見えます。 { "insertId": "9g7n20g1atrvd6", "jsonPayload": { "event": "dbt_run_succeeded", "created": "2022-09-10T07:14:44.435Z", "data": { "startTime": "2022-09-10T07:14:17.900Z", "result": { "stepResults": [ { "step": { "processBuilderCommand": [ "dbt", "test", "--models", "+sunshine_time", "+temperature" ], "name": "Scheduled: Test" }, "failedModelRuns": 0, "successfulModelRuns": 0, "success": true, "commandResult": { "error": "", "exitCode": 0, "output": "07:14:39 Running with dbt=1.2.0\n07:14:39 Partial parse save file not found....

2022-09-10

FivetranをTerraformで構成する方法

はじめに ELツールであるFivetranを試す機会があり、terraformも使えるということでどこまで使えるのか試してみました 構成 データの転送は CloudSQL(GCP) -> Fivetran -> BigQuery という経路で行うことにしました。 CloudSQLの準備 CloudSQLはコンソール上から適当に作成しています。 その上でデータは面倒だったのでこの手順で用意し、その上で以下のようにしてユーザを作成します。 CREATE USER 'fivetran'@'%' IDENTIFIED BY 'ぱすわーど' GRANT SELECT, REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'fivetran'@'%' Terraform provider.tf api_key, api_secretはWebUI上から発行しておいてください 1terraform { 2 required_providers { 3 fivetran = { 4 source = "fivetran/fivetran" 5 version = "0.6.3" 6 } 7 } 8} 9 10 11provider "fivetran" { 12 api_key = "APIKEY" 13 api_secret = "APISECRET" 14} main.tf 1resource "fivetran_group" "group" { 2 name = "Terraform" 3} 4 5resource "fivetran_connector" "mysql" { 6 group_id = fivetran_group....

2022-09-08