MixpanelからBigQueryにデータを連携してエクスポートする手順を紹介!
ミックスパネラーの國崎です。
今回は「Mixpanelで取得したデータをデータウェアハウスのBigQueryに連携してエクスポートする」という中級者っぽいことをやってみたので、その手順を紹介します。
前提条件
今回の作業における前提条件です。
- BigQueryのプロジェクトはすでに作成済み
- Mixpanelですでにイベントデータを取得済み
- Mixpanelのエンタープライズプランとパイプラインオプションを使っている
BigQueryの操作手順
まずはBigQueryの操作から紹介します。
データセットの作成
すでに作成済みのプロジェクト配下にデータセットを作成します。
作成したいプロジェクトの横の3点リーダーから「データセットを作成」を選択。
今回のデータセット名は「mixpanel_test20230309」にします。
データセットにロールを割り当て
作成したデータセットにロールを割り当てます。
左メニューIAMと管理>IAMに遷移。
新しいプリンシパルに"export-upload@mixpanel-prod-1.iam.gserviceaccount.comを追加して、ロールでBigQueryジョブユーザーとBigQueryデータオーナーを割り当てます。
こちらの作業後はMixpanelの作業に移行します。
Mixpanelの操作手順
MixpanelのダッシュボードからProject Settingsに遷移します。
Project IDは後ほど使いますので、どこかにコピーするかページのタブをそのまま残しておくようにします。
左メニューのService Accountsから今回の連携で使うサービスアカウントを作成します。
ロールはAdminでOKです。
Mixpanelの以下ページにアクセスし、BigQuery連携のパイプラインを作成します。
パイプライン作成にあたり、SCHEMATIZED BIGQUERY PIPELINEを開きます。
以下の項目は最低限埋めます。
- 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ダッシュボードのIntegrationsを確認するとConnectedの表記がされていました。
こちらで接続されているPipeline Nameも確認できます。
再度BigQueryで確認
BigQueryのデータセットの中身を見るとイベントデータが書き出されていました。
パイプラインのdata_sourceをpeopleにして再度作成するとユーザーデータも書き出されるようになりました。
MixpanelとBigQueryの連携ができるようになったね!
BigQueryとの連携を止めたり削除する方法
当たり前ですが、連携したBigQueryを解消する方法もあります。
連携を止める場合は以下のPause Pipelineにアクセスして作業します。
作成したパイプラインを削除する場合はDelete Pipelineにアクセスします。
停止や削除にあたってはproject_idとPipeline Nameが必要になります。
まとめ
以上、MixpanelのデータをBigQueryに書き出すまでの連携手順紹介でした。
ドキュメントでは中級者・上級者向けとありましたが、初心者に毛が生えた人のレベルでもできるかと思います。
今回の記事で参考にしたドキュメントも案内しておきますので、詳細気になる方はこちらも併せてご覧ください。
今回の連携とは逆パターンとなるBigQueryのデータをmixpanelに連携させる検証記事は以下をご覧ください。