Firebase データを BigQuery にエクスポートする

Firebase では、Firebase プロダクトを使用するアプリの履歴データを調べたり分析したりするためのツールが Firebase コンソールに用意されています。これらのツールで、アプリの利用状況のさまざまな疑問に対する回答を得られます。とはいえ、自分独自の疑問に対する回答を得るために独自のクエリを作成したい場合もあります。

これを行うには、さまざまな Firebase プロダクトから BigQuery にデータをエクスポートします。BigQuery を使用すると、BigQuery SQL でデータを分析したり、データをエクスポートして独自のツールで使用したりできます。

次のプロダクトでは、BigQuery へのデータ エクスポートがサポートされています。

必要な権限と推奨されるロール

BigQuery へのデータ エクスポートの設定を表示または管理するには、それに対応するレベルのアクセス権が必要です。

必要な Firebase アクセス権がない場合は、Firebase プロジェクトのオーナーに、Firebase コンソールの IAM 設定を介して該当するロールを割り当ててもらうよう依頼してください。オーナーの確認や割り当てなど、Firebase プロジェクトへのアクセスについてご不明な点がある場合は、Firebase プロジェクトの権限とアクセスに関するよくある質問をご覧ください。



BigQuery へのエクスポートを設定する

  1. Firebase コンソールにログインし、プロジェクトを選択します。

  2. をクリックし、[プロジェクトの設定] を選択します。

  3. [統合] タブを選択します。

  4. [BigQuery] 統合カードで、[リンク] をクリックします。

  5. 画面上の手順に沿って、BigQuery へのエクスポートを設定します。

BigQuery からリンクを解除すると、BigQuery の対応するデータセットでデータの入力が停止されます。

次の点に注意してください。

  • すでに BigQuery にエクスポートされたデータは、許可された保持期間の間保持され、ストレージとクエリに対する課金も引き続き適用される場合があります。今後の課金を停止するには、データセットを手動で削除します。

  • 他のサービスに BigQuery データがある場合、そのデータにはデータ保持に関する異なる規約が適用される場合があります。

BigQuery とのリンクは、Firebase プロジェクト レベル、プロダクト レベル、または特定のプロダクトのアプリレベルで解除できます。

BigQuery とのリンクを解除する手順は次のとおりです。

  1. Firebase コンソールで、[統合] ページに移動します。

  2. [BigQuery] カードで [管理] をクリックします。

  3. 特定のプロダクトのリンクを解除するか、特定のプロダクトの特定のアプリのリンクを解除するかを選択します。

    Firebase プロジェクトのリンクを完全に解除するには、ページ下部のボタンを見つけます。

  4. プロンプトが表示されたら、エクスポートの停止を確定します。



エクスポートを有効にした場合の影響

  • データセットのロケーションを選択します。データセットの作成後はロケーションを変更できませんが、データセットを別のロケーションにコピーするか、データセットを別のロケーションに手動で移動(再作成)することはできます。詳細については、既存のエクスポートのロケーションを変更するをご覧ください。

    このロケーションは、BigQuery にエクスポートされたデータにのみ適用され、Firebase コンソールで使用するために保存されたデータのロケーションには影響しません。

  • デフォルトでは、プロジェクト内のすべてのアプリが BigQuery にリンクされ、後からプロジェクトに追加するアプリもすべて BigQuery に自動的にリンクされます。データを送信するアプリを管理することもできます。

  • Firebase は BigQuery に既存データのコピーをエクスポートします。 エクスポートするデータの初回の読み込みには、最長で 48 時間かかる場合があります。

  • Firebase は、BigQuery へのデータの毎日の同期を設定します。

    • 通常、プロジェクトをリンクした後、最初のデータセットが BigQuery にエクスポートされる翌日の同期まで待つ必要があります。

    • 毎日の同期は、BigQuery でスケジュール設定したエクスポートに関係なく、1 日 1 回行われます。同期ジョブのタイミングと所要時間は変更される可能性があるため、エクスポートの特定のタイミングに基づいてダウンストリーム オペレーションやジョブをスケジュールすることはおすすめしません。



既存のエクスポートのロケーションを変更する

BigQuery へのエクスポート用にプロダクトを設定してデータセットを作成した後は、そのデータセットのロケーションを変更できません。ただし、既存のデータセットを別のロケーションの新しいデータセットにコピーし、その新しいロケーションにデータ エクスポートをリセットすることはできます。BigQuery データセットのロケーションについて学習する。

データ エクスポートのロケーションを変更するプロダクトを選択する

Google アナリティクス

既存の Google Analytics エクスポートのロケーションを BigQuery に変更する手順は次のとおりです。

  1. Firebase コンソールで、[統合] ページに移動します。 次に、以下の操作を行います。

    1. [BigQuery] カードで [管理] をクリックします。
    2. Google Analytics のスライダーをオフに切り替えて、BigQuery を無効にします。
  2. Google Cloud コンソールで、[BigQuery] ページに移動します。 次に、以下の操作を行います。

    1. 元のデータセット内の既存データをコピーして保存するための、一時的なデータセットを作成します。一時的なデータセットに、元のデータセットとは異なる名前を割り当てます。
    2. 元のデータセットから一時的なデータセットにデータをコピーまたは移動します。
    3. 元のデータセットを削除します。
    4. 元のデータセット(analytics_ANALYTICS_PROPERTY_ID)と同じ名前の新しい永続的なデータセットを作成し、目的のリージョンを選択します。
    5. 一時的なデータセットから新しいデータセットにデータをコピーまたは移動してから、一時的なデータセットを削除します。
  3. Firebase コンソールと BigQuery カードに戻ります。 次に、以下の操作を行います。

    1. Google Analytics のスライダーをオンに切り替えて、BigQuery 統合を再度有効にします。
    2. 次に、エクスポートを有効にするアプリを選択します。

Cloud Messaging

既存の Cloud Messaging エクスポートのロケーションを BigQuery に変更する手順は次のとおりです。

  1. Firebase コンソールで、[統合] ページに移動します。 次に、以下の操作を行います。

    1. [BigQuery] カードで [管理] をクリックします。
    2. Cloud Messaging のスライダーをオフに切り替えて、BigQuery を無効にします。
  2. Google Cloud コンソールで、[BigQuery] ページに移動します。 次に、以下の操作を行います。

    1. 元のデータセット内の既存データをコピーして保存するための、一時的なデータセットを作成します。一時的なデータセットに、元のデータセットとは異なる名前を割り当てます。
    2. 元のデータセットから一時的なデータセットにデータをコピーまたは移動します。
    3. 元のデータセットを削除します。
    4. 元のデータセット(firebase_messaging)と同じ名前の新しい永続的なデータセットを作成し、目的のリージョンを選択します。
    5. 一時的なデータセットから新しいデータセットにデータをコピーまたは移動してから、一時的なデータセットを削除します。
  3. Firebase コンソールと BigQuery カードに戻ります。 次に、以下の操作を行います。

    1. Cloud Messaging のスライダーをオンに切り替えて、BigQuery 統合を再度有効にします。
    2. 次に、エクスポートを有効にするアプリを選択します。
  4. Google Cloud コンソールに戻り、[BigQuery] ページで、新しいリージョンの Cloud Messaging に転送構成が作成されていることを確認します。

Crashlytics

既存の Crashlytics エクスポートのロケーションを BigQuery に変更する手順は次のとおりです。

  1. Firebase コンソールで、[統合] ページに移動します。 次に、以下の操作を行います。

    1. [BigQuery] カードで [管理] をクリックします。
    2. Crashlytics のスライダーをオフに切り替えて、BigQuery を無効にします。
  2. Google Cloud コンソールで、[BigQuery] ページに移動します。 次に、以下の操作を行います。

    1. 元のデータセット内の既存データをコピーして保存するための、一時的なデータセットを作成します。一時的なデータセットに、元のデータセットとは異なる名前を割り当てます。
    2. 元のデータセットから一時的なデータセットにデータをコピーまたは移動します。
    3. 元のデータセットを削除します。
    4. 元のデータセット(firebase_crashlytics)と同じ名前の新しい永続的なデータセットを作成し、目的のリージョンを選択します。
    5. 一時的なデータセットから新しいデータセットにデータをコピーまたは移動してから、一時的なデータセットを削除します。
  3. Firebase コンソールと BigQuery カードに戻ります。 次に、以下の操作を行います。

    1. Crashlytics のスライダーをオンに切り替えて、BigQuery 統合を再度有効にします。
    2. 次に、エクスポートを有効にするアプリを選択します。
  4. Google Cloud コンソールに戻り、[BigQuery] ページで、新しいリージョンの Crashlytics に転送構成が作成されていることを確認します。

Performance Monitoring

既存の Performance Monitoring エクスポートのロケーションを BigQuery に変更する手順は次のとおりです。

  1. Firebase コンソールで、[統合] ページに移動します。 次に、以下の操作を行います。

    1. [BigQuery] カードで [管理] をクリックします。
    2. Performance Monitoring のスライダーをオフに切り替えて、BigQuery を無効にします。
  2. Google Cloud コンソールで、[BigQuery] ページに移動します。 次に、以下の操作を行います。

    1. 元のデータセット内の既存データをコピーして保存するための、一時的なデータセットを作成します。一時的なデータセットに、元のデータセットとは異なる名前を割り当てます。
    2. 元のデータセットから一時的なデータセットにデータをコピーまたは移動します。
    3. 元のデータセットを削除します。
    4. 元のデータセット(firebase_performance)と同じ名前の新しい永続的なデータセットを作成し、目的のリージョンを選択します。
    5. 一時的なデータセットから新しいデータセットにデータをコピーまたは移動してから、一時的なデータセットを削除します。
  3. Firebase コンソールと BigQuery カードに戻ります。 次に、以下の操作を行います。

    1. Performance Monitoring のスライダーをオンに切り替えて、BigQuery 統合を再度有効にします。
    2. 次に、エクスポートを有効にするアプリを選択します。
  4. Google Cloud コンソールに戻り、[BigQuery] ページで、新しいリージョンの Performance Monitoring に転送構成が作成されていることを確認します。



料金と BigQuery サンドボックス

料金のかからない Spark お支払いプランで Firebase プロジェクトを利用している場合は、BigQuery サンドボックスを使用できます。これにより、コストをかけずに BigQuery にアクセスできます。BigQuery サンドボックスとその機能については、BigQuery サンドボックスの使用をご覧ください。

Firebase プロジェクトが従量課金制の Blaze お支払いプランに登録されている場合は、BigQuery のすべての機能を使用できます。BigQuery の使用には BigQuery の料金が適用されますが、これには上限のある無料の使用も含まれます。