MixpanelからSnowflakeにパイプラインを使ってデータを送信する

MixpanelとSnowflakeのパイプライン連携の手順紹介です。
2023.07.03

ミックスパネラーの國崎です。
以下の記事でFivetranを使ったMixpanelとSnowflakeの連携について案内をしてましたが、、、

MixpanelのデータをFivetranを使ってSnowflakeにロードしてみた

今回はMixpanelのパイプラインオプションを使ってFivetranを使わずともSnowflakeと連携できるやり方を紹介します。
今回の記事を読む前に「オプションで連携できるならFivetranいらなくね!?」って思った方もいるかもしれませんが、結論から言わせてもらうと「Fivetranを使った連携を選択したがいい方もいる」ので、MixpanelからSnowflakeの連携を考えている方は今回の記事も踏まえた上で、連携手段を検討いただければと思います。

前提条件

今回の作業における前提条件です。

  • Snowflakeのアカウントは作成済み
  • Mixpanelですでにユーザーデータとイベントデータを取得済み
  • Mixpanelのエンタープライズプランとパイプラインオプションを使っている

MixpanelからSnowflakeへの連携手順

前提条件を満たしている方はMixpanelのドキュメントで案内されているパイプライン作成画面にいきましょう。
以下手順です。

1.SCHEMATIZED SNOWFLAKE PIPELINEを開く

Snowflakeのパイプライン作成画面

20230703_1

SCHEMATIZED SNOWFLAKE PIPELINEをクリックすれば項目入力画面が開きます。

2.PIPELINE内の以下項目を入力

任意項目は無しでも連携はできます。

  • project_id(必須)…ダッシュボードの設定>Project Settingsで確認
  • trial(必須)…trueの場合は試用版が作成される
  • schema_type(必須)…monoschema/multischemaのいずれかを選択
  • data_source(必須)…events/peopleのいずれかを選択
  • sync(必須)…trueだとデータが変更時に更新される
  • from_date(必須)…エクスポートの開始日
  • to_date(任意)…空の場合は無期限で続行
  • frequency(必須)…データの更新頻度
  • events(任意)…指定がない場合全データがエクスポート
  • where(任意)…eventsを書き出す際のプロパティを指定
  • snowflake_prefix(任意)…作成されたビューとテーブルの接頭辞
  • snowflake_share_with(必須)…SnowflakeアカウントのLocator
  • region(必須)…書き出し先のリージョンを指定

3.画面右側でサービスアカウントとPASSを入力

20230703_2

サービスアカウントはダッシュボードの設定>Project Settings>Service Accountsで作成できます。

4.Try It!を押して200が出れば成功!

20230703_3

諸注意

上記の手順を見ても分かる通り、作業自体は全然難しくないのですが、入力すべき項目がよくわからないと言う方やエラーになる方もいると思いますので、以下私が経験した範囲での情報を諸注意として共有いたします。

1.trialについて
trueで一度でも連携するとパイプラインオプションを購入していないサービスアカウントで再度trialを利用することはできません。

2.snowflake_share_withについて
SnowflakeアカウントのLocatorはSnowflake画面の左下で確認できました。
regionも同様です。
20230703_4

3.該当のregionがない場合はFivetranを使う
2023年7月時点でパイプラインが使えるリージョンは以下5つです。

  • us-west-aws
  • us-east-aws
  • us-east-2-aws
  • eu-west-1-aws
  • ap-southeast-2-aws

上記にないリージョンとの連携はエラーになり、現時点では連携ができないようになっています。
そのため上記以外のリージョンで連携する場合はFivetranが必須になります。

冒頭でお伝えした「Fivetranを使った連携を選択したがいい方もいる」はこちらの内容に当てはまる方です。

4.Mixpanelの画面で連携は確認できてるがSnowflake内にデータが確認できない場合
Data>Private SharingのDirect SharesでエクスポートをするとDatabasesで確認できるようになります。
20230703_5

実際に連携されたSnowflake画面

パイプラインでの連携が無事成功すればSnowflakeのDatabasesにMixpanelのデータが反映されます。
20230703_6

eventsのデータはこんな感じ。
20230703_7

peopleのデータはこんな感じ。
20230703_8

上記のデータは一部ですが、なんとなくのイメージが伝わると幸いです。

わからない場合は公式チャットに問い合わせをしよう!

パイプラインの設定でその他解決しないことがありましたら、公式サポートに問い合わせてみるのもありです。
公式サポートへの問い合わせはヘッダーアイコンから行うことができます。
20230703_9

ただ公式サポートとのやりとりは英語になりますので、英語が苦手な方はDeepLやGoogleなどの翻訳ツールを活用ください。
ちなみにクラスメソッドでは公式サポートの取次サポートを日本語対応で行なっております。

その他参考

Snowflakeとの連携については公式ドキュメントでも詳細の案内があります。
詳しい仕様などを確認したい方はこちらもご一読ください。

Schematized: Snowflake

また今回の検証とは逆のパターンになるSnowflakeのデータをmixpanelに入れる検証記事は以下をご覧ください

Snowflakeからmixpanelに直接連携!Warehouse Eventsを使ってみる