FivetranのQuickstart Data ModelsでZendesk Supportを可視化する環境を作ってみた #Fivetran

2024.02.29

こんにちは、スズです。

以前DevelopersIO 2022にて、「dbt Transformationを使ってZendesk Supportを可視化する環境を作ってみた」というタイトルでビデオセッションで登壇していました。当該のビデオセッションや使用したスライドは以下にてご覧いただけます。

当該のセッションでは、Fivetranが用意したdbt packagesをdbt Cloudで展開し、Fivetranからはdbt Transformationを使用してGitリポジトリを参照して実行してデータの変換を行っていました。

現在のFivetranにはQuickstart Data Modelsという機能が搭載されています。Quickstart Data Modelsは、Fivetranが定義したData Model(以前のFivetran dbt packages)を使って簡単にデータ変換できる機能です。以下のブログでご紹介しておりますのであわせてご確認ください。

本記事では、「dbt Transformationを使ってZendesk Supportを可視化する環境を作ってみた」で行った内容をQuickstart Data Modelsに置き換えてやってみます。
なお、本記事では主にFivetranでの設定とロード先でのデータの状態のご紹介します。最後にTableau Cloudでダッシュボードを作成していますが、どういったダッシュボードの作成が行えるかといった深追いはしておりませんので、予めご了承ください。

※Quickstart Data Modelsは、本記事執筆時点(2024年2月29日)でベータ版となっています。

全体イメージ

今回は、Zendesk SupportのデータをFivetranでSnowflakeにロードし、Tableau Cloudでダッシュボードを作成します。データの変換に使用するFivetranのQuickstart Data Modelsでは、Zendesk Supportに対応したdbt projectを使ってデータの変換を行います。dbtはFivetran側で用意されていますので、ユーザーはdbtを用意する必要はありません。

事前準備

Quickstart Data Modelsでは、BigQueryやDatabricksなどをDestinationとしてサポートしています。サポートしているDestinationについては、以下のドキュメントにてご確認いただけます。

今回はDestinationとしてSnowflakeを使用します。SnowflakeをDestinationに設定する方法は、以下のブログにてご紹介しております。

また、Tableau CloudからSnowflakeに接続する際、今回はユーザーとパスワードを使って接続を行います。SnowflakeにはTableau Cloudから接続する用のユーザーアカウントをあらかじめ作成しておきます。

FivetranにZendesk SupportのConnectorを追加

ConnectorにZendesk Supportを追加していきます。Fivetranの[Connectors]の画面から、[Add connector]をクリックします。

Destinationを選択します。今回はSnowflakeにデータを同期しますので、あらかじめ用意していたSnowflakeのDestinationを選択します。

Connectorに[Zendesk Support]を選択します。

データの出力先となるDestination schemaとデータソースのZendesk SupportのDomainを設定し、[Authorize]をクリックしてZendesk Supportと接続します。接続に成功したら、[Save & Test]をクリックします。

接続テストに成功が行われます。テストに成功したのち、[Continue]をクリックします。

Quickstart Data Modelsを使用するかどうかを選択します。今回は使用するため[Yes, build models for me]を選択し、[Continue]をクリックします。なお、この画面でQuickstart Data Modelsを使用しないを選択した場合も、のちほど[Transformations]から有効化することが可能です。

データのモデルについては、ドキュメントにて詳細を確認することができます。

これで設定は完了です。[Start Initial Sync]をクリックして、初期同期を実行します。

Snowflakeのデータの確認

初期同期が完了したのち、Snowflakeのデータベースを確認します。FivetranのDestinationには「FIVETRAN_DB_SUZU」をロード先のデータベースとして設定しています。「FIVETRAN_DB_SUZU」のデータベースの配下に「ZENDESK」や「ZENDESK_ZENDESK」といったスキーマが作成されています。

FivetranのConnectorのDestination schemaには「ZENDESK」を設定しています。Snowflake側に作成された「ZENDESK」のスキーマには、FivetranでZendesk Supportからロードしたデータがあります。

「ZENDESK_ZENDESK_SOURCE」などのスキーマはData Modelsの定義で変換されたデータとなります。「ZENDESK_ZENDESK_SOURCE」を見てみると「STG_」から始まるステージングテーブルが作成されています。

「ZENDESK_ZENDESK_INTERMEDIATE」のスキーマには、「INT_」から始まる中間テーブルが作成されています。

「ZENDESK_ZENDESK」のスキーマに変換後のデータが用意されています。

Tableau Cloudでダッシュボードの作成

最後にTableau Cloudでダッシュボードを作成してみます。Tableau Cloudの[パーソナルスペース]から[ワークブックの作成]をクリックします。

[コネクタ]の[Snowflake]を選択します。

サーバーや認証など接続先のSnowflakeの設定を行い、[サインイン]をクリックします。

Snowflakeへの接続に成功すると、ワークブックのデータソースの画面が表示されます。ウェアハウスやデータベース、スキーマを設定し、使用するテーブルを設定していきます。

あとはワークブックでダッシュボードを作成していき、完成です。

最後に

FivetranのQuickstart Data ModelsでZendesk Supportを可視化する環境を作ってみました。

参考