FivetranでSnowflakeをDestinationに設定してみる

2021.10.31

さがらです。

Fivetranを使用する上で、必ずConnectorとDestinationの設定を行う必要があります。

  • Connector:SalesforceやGoogle Analyticsなど、抽出したいデータソースのこと。
  • Destination:SnowflakeやBigQueryなど、Connectorから抽出したデータの格納先のこと。

本エントリでは、DestinationにSnowflakeを設定する手順をまとめていきます。

公式情報

SnowflakeをDestinationとして設定する手順は、こちらの公式Docに記載されております。 基本的にはこちらのDocに沿って、随時情報を補足する形で進めていきます。

0.対象アカウントでのOwnerロールを手に入れる

まず、Destinationを設定することができるのは、対象のFivetranアカウント内でOwnerロールを持つユーザーのみです。

自分がOwnerロールを持っているかどうかは、Fivetranにログインして任意のDestination選択後、画面左上のDestination名が書かれている所をクリックして、「Manage Account」が表示されているかどうかで確認可能です。

「Manage Account」が表示されていない場合はDestinationの追加ができませんので、Ownerロールを持つユーザーに「Ownerロールを付与してください!」とお願いしましょう。

※一方で、Ownerロールは対象のFivetranアカウントにおいて最上位の権限となります。基本的には限られたユーザーのみに付与すべきロールだと思いますので、運用する上ではご注意ください。

また、Fivetranでのロールについてはこちらのエントリが参考になります。

1.Snowflakeでの各種設定

Snowflake上での設定が必要なため、Snowflakeにログインします。このとき、ACCOUNTADMINロールを持つユーザーでログインしないと後述のSQLが 実行できないため、ご注意ください

基本的には、以下のURLのSTEP2-2に記載のSQLをワークシート上で実行すればOKですが、いくつかポイントがあるため以下に説明していきます。

各オブジェクトの名称の設定

クエリの3行目~8行目では、ロール名、ユーザー名、ユーザーのパスワード、ウェアハウス名、データベース名、を変数として設定するようになっています。

ここで設定した名称に応じて、後続のクエリで各オブジェクトが作られるようになります。 すでに対象のSnowflakeアカウント内で存在している名称を入れた場合には、各クエリのif not exists句によりエラーが発生しないようになっています。

各名称はデフォルト設定でも良いと思いますが、最低でもパスワードは別途用意したものを設定しましょう!

ウェアハウスの各種パラメータ設定

クエリの29行目~34行目では、ウェアハウスの各パラメータの設定をしています。

基本はデフォルト値で問題ないかと思いますが、処理するデータ量が多い場合、ウェアハウスのサイズがXSだと同期処理が遅くなる可能性もあります。

同期処理が遅くなる原因はConnector側のAPIの制約なども原因として考えられるため一概には言えないのですが、2回目以降の同期でも処理が遅いと感じる場合にはサイズ変更を検討しても良いと思います。

2.FivetranでのDestinationの設定

Snowflake側での設定ができたら、Fivetranでの設定に移ります。

Fivetranログイン後、「Manage Account」ページへ移動し、画面右上の「+DESTINATION」を押します。

作成するDestinationの名前を「Destination Name」に入れます。その後、ADD DESTINATIONを押します。

追加するDestinationに該当する製品を選択します。ここではSnowflakeを選択した上で、「CONTINUE SETUP」を選択します。

Host、Portなど接続に必要な情報を入力します。1番の工程で、Snowflake上でクエリを実行した際のユーザー名、データベース名、などを入力しましょう。

Enterprise以上のプランで契約頂くと、「Cloud service provider」が選択できるようになっています。Standardプランの場合はGCPで固定です。

各契約プランでの違いはこちらの公式Docも参考になると思います。

すべて入力完了したら「SAVE&TEST」を押します。

最後に、Snowflakeへの接続テストが行われます。このように「All connection tests passed!」と表示されたら、SnowflakeをDestinationに設定する方法は完了です!

まとめ

FivetranでSnowflakeをDestinationに設定する方法を説明しました。

ご覧いただいた通り、そこまで煩雑な手順はなかったと思います! 各種Connectorの設定についてもFivetranは公式Docが充実しているため、あまり躓くことなく設定ができる印象です。

各種アプリケーションからDWHにデータを抽出したい時、Fivetranが対応しているデータソースであればとても簡単に設定が可能です!

人手の運用コストがかかっているデータソースがあれば、ぜひFivetranをご検討ください。