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

Firebase Crashlytics データを BigQuery にエクスポートできます。データが BigQuery に保存されると、SQL クエリを使用したデータの分析データの可視化とカスタム ダッシュボードの構築データの他のサービスへのエクスポートができます。

このページでは、Crashlytics と(必要に応じて)Firebase セッション データを BigQuery にエクスポートするように設定する方法について説明します。

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

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

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

  3. 画面上の手順に沿って、BigQuery へのエクスポートを設定します。次のオプションがあります。

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

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

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

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

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

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

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

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

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

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

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



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

  • Firebase は、BigQuery にリンクされているアプリからデータをエクスポートします。

    • セットアップ時には、デフォルトでプロジェクト内のすべてのアプリが BigQuery にリンクされますが、セットアップ時に特定のアプリをリンクしないように選択することもできます。

    • 後から Firebase プロジェクトに追加するアプリはすべて BigQuery に自動的にリンクされます。

    • データをエクスポートするアプリはいつでも管理できます。

  • Firebase は、セットアップ時に選択したデータセットのロケーションにデータをエクスポートします。

    • このロケーションは、Crashlytics データセットと Firebase セッション データセットの両方に適用されます(セッション データのエクスポートが有効になっている場合)。

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

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

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

    • BigQuery にリンクしてから、初回のバッチデータのエクスポートが完了するまでに、最長で 48 時間かかることがあります。

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

  • Firebase は BigQuery既存データのコピーをエクスポートします。

    • 各リンク済みアプリでは、このエクスポートには毎日の同期によるデータを含むバッチテーブルも含まれます。

    • 過去 30 日間または BigQuery へのエクスポートを有効にした最新の日付まで(どちらか最新のほう)、バッチテーブルのデータ バックフィルは手動でスケジュールできます。

    2024 年 10 月中旬より前Crashlytics データのエクスポートを有効にした場合は、エクスポートを有効にした日から 30 日前までバックフィルすることもできます。

  • BigQuery へのストリーミング エクスポートを有効にすると、Firebase は次の処理を行います。

    • リンクされた各アプリには、常に更新されるデータを含む独自のリアルタイム テーブルも作成されます(アプリの日次バッチ エクスポート用のバッチテーブルに加えて)。

    • ストリーミングを有効にしてからデータのストリーミングが開始されるまでに、最大で 1 時間かかることがあります。



BigQuery へのストリーミング エクスポートのメリット

デフォルトでは、データは毎日のバッチ エクスポートで BigQuery にエクスポートされます。また、BigQuery ストリーミングを使用すると、Crashlytics データと Firebase セッションをリアルタイムでストリーミングできます。ライブ ダッシュボードでの情報の表示、ライブでのロールアウトの監視、アラートやカスタム ワークフローをトリガーするアプリケーション問題のモニタリングなど、ライブデータが必要なあらゆる目的でストリーミング データを使用できます。

BigQuery へのストリーミング エクスポートを有効にすると、バッチテーブルに加えてリアルタイム テーブルも作成されます。どちらのタイプのテーブルも同じデータセット スキーマを持ちますが、バッチテーブルとリアルタイム テーブルには次のような重要な違いがあります。

バッチテーブル リアルタイム テーブル
  • データは 1 日 1 回エクスポートされます。
  • BigQuery へのバッチ書き込み前に、イベントが永続的に保存されます。
  • 最大 30 日前までのデータをバックフィルできます*。
  • データはリアルタイムでエクスポートされます。
  • バックフィルは実施できません。

バッチテーブルには書き込み前のイベントが永続的に保存されるため、このテーブルは長期分析で経時的な傾向を識別する場合に適しています。また、最大で 30 日前まで遡ってテーブルのバックフィルを行うことができます*。リアルタイム テーブルに書き込まれたデータはすぐに BigQuery に書き込まれるため、ライブ ダッシュボードやカスタム アラートにはリアルタイム テーブルが適しています。この 2 つのテーブルを合成クエリで組み合わせると、両方のメリットを利用できます。

デフォルトでは、リアルタイム テーブルのパーティションの有効期限は 30 日間です。これを変更する方法については、BigQuery ドキュメントのパーティションの有効期限を設定するをご覧ください。

* バックフィルのサポートの詳細については、新しいエクスポート インフラストラクチャにアップグレードするをご覧ください。



料金と BigQuery サンドボックス

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

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



BigQuery の新しいエクスポート インフラストラクチャにアップグレードする

2024 年 10 月中旬に、CrashlyticsCrashlytics データを BigQueryバッチ エクスポートするための新しいインフラストラクチャをリリースしました。



次のステップ