MixpanelからBigQueryにデータを連携してエクスポートする手順を紹介!

MixpanelとBigQueryを連携して書き出しまっす!
2023.03.10

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ミックスパネラーの國崎です。
今回は「Mixpanelで取得したデータをデータウェアハウスのBigQueryに連携してエクスポートする」という中級者っぽいことをやってみたので、その手順を紹介します。

前提条件

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

  • BigQueryのプロジェクトはすでに作成済み
  • Mixpanelですでにイベントデータを取得済み
  • Mixpanelのエンタープライズプランとパイプラインオプションを使っている

BigQueryの操作手順

まずはBigQueryの操作から紹介します。

データセットの作成

すでに作成済みのプロジェクト配下にデータセットを作成します。
作成したいプロジェクトの横の3点リーダーから「データセットを作成」を選択。
mixpanel-bigquery1

今回のデータセット名は「mixpanel_test20230309」にします。
mixpanel-bigquery2

データセットにロールを割り当て

作成したデータセットにロールを割り当てます。
左メニューIAMと管理>IAMに遷移。
mixpanel-bigquery3

新しいプリンシパルに"export-upload@mixpanel-prod-1.iam.gserviceaccount.comを追加して、ロールでBigQueryジョブユーザーBigQueryデータオーナーを割り当てます。
mixpanel-bigquery4
mixpanel-bigquery5

こちらの作業後はMixpanelの作業に移行します。

Mixpanelの操作手順

MixpanelのダッシュボードからProject Settingsに遷移します。
mixpanel-bigquery7

Project IDは後ほど使いますので、どこかにコピーするかページのタブをそのまま残しておくようにします。
mixpanel-bigquery8

左メニューのService Accountsから今回の連携で使うサービスアカウントを作成します。
ロールはAdminでOKです。
mixpanel-bigquery9

Mixpanelの以下ページにアクセスし、BigQuery連携のパイプラインを作成します。

Create Pipeline

パイプライン作成にあたり、SCHEMATIZED BIGQUERY PIPELINEを開きます。
mixpanel-bigquery6

以下の項目は最低限埋めます。

  • project_id…Mixpanelのダッシュボードでコピーしたやつ
  • trial…trueの場合は試用版が作成
  • data_source…eventsかpeopleか選択
  • from_date…エクスポートの開始日
  • frequency…データの更新頻度
  • bq_region…BigQueryのリージョン
  • gcp_project…BigQueryのプロジェクト
  • bq_dataset_name…BigQueryのテーブルセット名

パイプラインを埋めたら右上のAUTHENTICATIONでMixpanelのダッシュボードで作成したサービスアカウントのアカウント名とパスを入力して、Try It!をクリック。
mixpanel-bigquery10

連携が完了したら200が表示されます。
mixpanel-bigquery11

MixpanelダッシュボードのIntegrationsを確認するとConnectedの表記がされていました。
こちらで接続されているPipeline Nameも確認できます。
mixpanel-bigquery12

再度BigQueryで確認

BigQueryのデータセットの中身を見るとイベントデータが書き出されていました。
mixpanel-bigquery13

パイプラインのdata_sourceをpeopleにして再度作成するとユーザーデータも書き出されるようになりました。
mixpanel-bigquery14
mixpanel-bigquery15
MixpanelとBigQueryの連携ができるようになったね!

BigQueryとの連携を止めたり削除する方法

当たり前ですが、連携したBigQueryを解消する方法もあります。
連携を止める場合は以下のPause Pipelineにアクセスして作業します。

Pause Pipeline

作成したパイプラインを削除する場合はDelete Pipelineにアクセスします。

Delete Pipeline

停止や削除にあたってはproject_idとPipeline Nameが必要になります。

まとめ

以上、MixpanelのデータをBigQueryに書き出すまでの連携手順紹介でした。
ドキュメントでは中級者・上級者向けとありましたが、初心者に毛が生えた人のレベルでもできるかと思います。

今回の記事で参考にしたドキュメントも案内しておきますので、詳細気になる方はこちらも併せてご覧ください。

MixpanelとBigQuery連携の公式ドキュメント

今回の連携とは逆パターンとなるBigQueryのデータをmixpanelに連携させる検証記事は以下をご覧ください。