Firebase Crashlytics データを BigQuery にエクスポートできます。データが BigQuery に保存されると、SQL クエリを使用したデータの分析、データの可視化とカスタム ダッシュボードの構築、データの他のサービスへのエクスポートができます。
このページでは、Crashlytics と(必要に応じて)Firebase セッション データを BigQuery にエクスポートするように設定する方法について説明します。
BigQuery へのエクスポートを設定する
Firebase コンソールで、[統合] ページに移動します。
[BigQuery] カードで [リンク] をクリックします。
画面上の手順に沿って、BigQuery へのエクスポートを設定します。次のオプションがあります。
クラッシュの影響を受けていないユーザーとクラッシュが発生しなかったセッションをより詳しく理解するには、Firebase セッション データのエクスポートを有効にします。
BigQuery で Crashlytics データと Firebase セッション データにほぼリアルタイムでアクセスするには、ストリーミング エクスポートを有効にします。
BigQuery からのリンクを解除する
BigQuery からリンクを解除すると、BigQuery の対応するデータセットでデータの入力が停止されます。
次の点に注意してください。
すでに BigQuery にエクスポートされたデータは、許可された保持期間の間保持され、ストレージとクエリに対する課金も引き続き適用される場合があります。今後の課金を停止するには、データセットを手動で削除します。
他のサービスに BigQuery データがある場合、そのデータにはデータ保持に関する異なる規約が適用される場合があります。
BigQuery とのリンクは、Firebase プロジェクト レベル、プロダクト レベル、または特定のプロダクトのアプリレベルで解除できます。
BigQuery とのリンクを解除する手順は次のとおりです。
Firebase コンソールで、[統合] ページに移動します。
[BigQuery] カードで [管理] をクリックします。
特定のプロダクトのリンクを解除するか、特定のプロダクトの特定のアプリのリンクを解除するかを選択します。
Firebase プロジェクトのリンクを完全に解除するには、ページ下部のボタンを見つけます。
プロンプトが表示されたら、エクスポートの停止を確定します。
エクスポートを有効にした場合の影響
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 へのストリーミング エクスポートを有効にすると、バッチテーブルに加えてリアルタイム テーブルも作成されます。どちらのタイプのテーブルも同じデータセット スキーマを持ちますが、バッチテーブルとリアルタイム テーブルには次のような重要な違いがあります。
| バッチテーブル | リアルタイム テーブル |
|---|---|
|
|
バッチテーブルには書き込み前のイベントが永続的に保存されるため、このテーブルは長期分析で経時的な傾向を識別する場合に適しています。また、最大で 30 日前まで遡ってテーブルのバックフィルを行うことができます*。リアルタイム テーブルに書き込まれたデータはすぐに BigQuery に書き込まれるため、ライブ ダッシュボードやカスタム アラートにはリアルタイム テーブルが適しています。この 2 つのテーブルを合成クエリで組み合わせると、両方のメリットを利用できます。
デフォルトでは、リアルタイム テーブルのパーティションの有効期限は 30 日間です。これを変更する方法については、BigQuery ドキュメントのパーティションの有効期限を設定するをご覧ください。
* バックフィルのサポートの詳細については、新しいエクスポート インフラストラクチャにアップグレードするをご覧ください。
料金と BigQuery サンドボックス
料金のかからない Spark お支払いプランで Firebase プロジェクトを利用している場合は、BigQuery サンドボックスを使用できます。これにより、コストをかけずに BigQuery にアクセスできます。BigQuery サンドボックスとその機能については、BigQuery サンドボックスの使用をご覧ください。
Firebase プロジェクトが従量課金制の Blaze お支払いプランに登録されている場合は、BigQuery のすべての機能を使用できます。BigQuery の使用には BigQuery の料金が適用されますが、これには上限のある無料の使用も含まれます。
BigQuery の新しいエクスポート インフラストラクチャにアップグレードする
2024 年 10 月中旬に、Crashlytics は Crashlytics データを BigQuery にバッチ エクスポートするための新しいインフラストラクチャをリリースしました。
2024 年 10 月より後にバッチ エクスポートを有効にした場合、Firebase プロジェクトでは新しいエクスポート インフラストラクチャが自動的に使用されます。必要な対応はありません。
2024 年 10 月以前またはその期間中にバッチ エクスポートを有効にした場合、「BigQuery の新しいエクスポート インフラストラクチャにアップグレードするにはどうすればよいですか?」の情報をご確認のうえ、対応が必要かどうかを判断してください。
次のステップ
SQL クエリの例を確認する。
エクスポートしたデータと、Looker Studio などのさまざまな Google Cloud サービスを使用して、カスタム ダッシュボードを構築する。
エクスポートされたデータのデータセット スキーマについて学習する。