Fivetranが定義したData Modelで簡単に分析用途のデータに変換できる「Quickstart Data Models」を試してみた

2023.04.25

さがらです。

Fivetranが定義したData Modelで簡単に分析用途のデータに変換できる「Quickstart Data Models」という機能を試してみたので、本記事でまとめてみます。

※2023/4/24時点では、Beta版の機能ですのでご注意ください。

Quickstart Data Modelsとは

まず、「Quickstart Data Models」とはどんな機能かについて説明します。

Fivetranには、Fivetranでロード後のデータを変換できるTransformationという機能があります。これはdbtを用いて事前に変換処理を開発しておき、そのdbtの変換処理をFivetran上でスケジュール実行できる、という機能です。

Fivetran社は、Fivetranでロード後のデータを変換するためのModelを集めたdbt packageも提供しているため、このdbt packageを使うことですぐに分析に使用できるデータを構築することが可能です。

ただ、このdbt Transformationを使うには、良くも悪くも事前にdbt projectを用意しておかないといけないです。特にPoCのような検証段階では、「Fivetranでロードして、dbt packageでどんな変換ができるんだろう、ぱぱっと結果を見て使えるか判断したいな」くらいの温度感だと思いますので、わざわざdbtをインストールしてリポジトリ作って…ってことを行うのは正直面倒ですよね。

そんなときに、「Quickstart Data Models」の出番です!

この機能を使うことで、Fivetran社で事前に定義済みの各コネクタに対応したdbt projectを裏側でセットアップし、ユーザーは自分でdbt projectを事前に用意しなくても、「Fivetranを使ってロード⇛Fivetran社が定義済のdbt packageで変換」を行うことが出来ます。

パパっと試したい方にはぴったりの機能だと思います!まさに「Quickstart」だなと。

Quickstart Data Modelsについては、下記のドキュメントに詳細に説明がありますので、こちらも併せてご覧ください。(1点だけ、Fivetran社で定義済の全てのdbt packageが対応しているわけではないため、ご注意ください。)

試してみた

やること

Fivetran Logのコネクタを用いてデータをロード後に、Fivetran Logコネクタに対応したQuickstart Data Modelsを用いてデータ変換を行ってみます。

Fivetran Logコネクタを用いてデータロード

Fivetran Logコネクタを用いたデータロードについては、下記のドキュメントをご覧ください。Fivetranのログを同期するだけなので、特に認証情報も不要ですぐにセットアップが可能です。

Fivetran Logコネクタに対応したQuickstart Data Modelsの設定

続いて、本題のQuickstart Data Modelsの設定に移ります。

Fivetranの画面で、Transformationsから先程GitHubコネクタでデータをロードしたDestinationを選択します。

画面右上からAdd transformationを押し、Quickstart Transformationを押します。

Quickstart transformationsの設定になるため、各項目を設定します。

  • Source Type:Quickstart transformationsで変換したいデータの、Fivetranコネクタの種類を選択
  • ConnectorSource Typeで選択したコネクタの種類から、今回変換を行いたいデータを持つコネクタの名称を選択
  • Output Models:ここは自動で入力されます。定義されるModelの説明については、こちらのFivetran社が提供するdbt packageから該当するpackageを選択ください。

同じ画面の下部にはSet scheduleがあります。

一番上のFully integratedですが、Fivetranによってロード処理が行われた直後に変換処理を実行することができます。Fivetranによりデータが更新されたら、変換処理も都度行ってほしいと思いますので、一番使う頻度は多い設定かなと思います!

上から二番目のPartially integratedですが、Fivetranのロード直後ではなく、任意の頻度で変換処理を実行します。もしFivetranのロードと実行タイミングが被った場合には、Fivetranのロード完了後にdbtのModelが実行されます。

上から三番目のIndependentですが、任意の頻度や時刻で変換処理を実行するということは上述のPartially integratedと変わらないのですが、Independentの場合はFivetranのロード処理とタイミングが被ったとしても、関係なく変換処理を実行します。

ここでは、Fully integratedを選択して、右下のSaveを押します。これで、Quickstart Data Modelsの設定は完了です!

Transformationsの設定確認

続いて、どのように設定がされたのか、見ていきたいと思います。

FivetranのTransformationsの画面を見ると、先程設定時に確認したData Modelが増えていることがわかります。

1つ、fivetran_log__schema_changelogの中身を見てみます。これを見ると、logconnectordestinationというFivetranで同期したテーブルからfivetran_log__schema_changelogが作られていることがわかります。

実行してみた

今回、Fully integratedでスケジュール設定をしていたので、元のFivetran Logコネクタを手動実行してみます!

このときTransformationからfivetran_log__schema_changelogを開いてみると、「Fivetranの同期が行われているよ」ということがわかるようになっています。今どの処理が行われているかわかるのは便利ですね!

Transformationの処理が完了すると、下図のように右側にSUCCEEDEDの履歴が表示されます。クリックすると、詳細なログも確認可能です。

実際にSnowflakeで確認してみると、各種スキーマとテーブル・ビューが作られていました!

※スキーマ名が、元のコネクタ名__このTransformationで動いているdbt projectで定義しているスキーマ名となる点だけ、注意が必要ですね…

1つ例として、作られたFIVETRAN_LOG__MAR_TABLE_HISTORYを見てみると各コネクタとテーブルごとに計測したMARが集計されていました。これは便利そうですね!

最後に

Fivetranが定義したData Modelで簡単に分析用途のデータに変換できる「Quickstart Data Models」を試してみました。

事前にdbt projectの定義が不要で、さくっと使えるデータに変換できるのは便利だなと感じました!特に私が試したFivetran LogコネクタのQuickstart Data Modelsはどの環境においてもすぐに使えるテーブルが多いと感じたので、ぜひご活用ください。