5

BigQuery でログ分析をしようとしています。具体的には、ログ データを BigQuery に送信する appengine アプリと JavaScript クライアントがあります。bigquery では、完全なログ テキストを 1 つの列に保存しますが、重要なフィールドを他の列に抽出します。次に、それらの列に対してアドホック クエリを実行できるようにしたいと考えています。

2 つの質問:

1) このユースケースで BigQuery は特に優れていますか、それとも特に劣っていますか? 2) リボルビング ログを設定するにはどうすればよいですか? つまり、最後の N 個のログまたは最後の X GB のログ データのみを保存したいと考えています。削除はサポートされていないようです。

4

3 に答える 3

5
  1. ご存知のとおり、log2bq(http://code.google.com/p/log2bq/)と呼ばれるAppEngineMapReduceを介してAppEngineログデータをBigQueryに移動する優れたデモがあります。

  2. Re:「ユースケース」-Stack Overflowは、最良か最悪かを判断するのに適した場所ではありませんが、BigQueryはGoogleの内部で使用され、非常に大きなログデータを分析します。

  3. 完全なログテキストを単一の列に保存することの利点はわかりません。リボルビング「ログ」を設定する必要があると判断した場合は、BigQueryテーブルを個別に(おそらく1日に1つ)作成して、毎日のログダンプを取り込み、テーブルが古くなったら削除することができます。Table.deleteメソッドの詳細については、https: //developers.google.com/bigquery/docs/reference/v2/tables/deleteを参照してください。

于 2012-05-01T23:37:07.563 に答える
1

これを実装した後、そのために構築したフレームワークをオープンソース化することにしました。ここでフレームワークの詳細を確認できます: http://blog.streak.com/2012/07/export-your-google-app-engine-logs-to.html

于 2012-07-06T18:36:17.120 に答える
0

Google App Engine (Google Cloud) プロジェクトのログを BigQuery に保存したい場合、Google はこの機能を新しい Cloud Logging システムに組み込みました。これは「ログ エクスポート」として知られるベータ機能です https://cloud.google.com/logging/docs/install/logs_export

彼らはそれを次のように要約しています。

Google Compute Engine のログと Google App Engine のログを、Google Cloud Storage バケット、Google BigQuery データセット、Google Cloud Pub/Sub トピック、またはこれら 3 つの任意の組み合わせにエクスポートします。

Python GAE プロジェクトでは、「Stream App Engine Logs to BigQuery」機能を使用しています。これにより、アプリのログが BigQuery に直接送信され、BigQuery データセットでほぼリアルタイムのログ レコードが提供されます。

エクスポートされたログの使用方法を説明するページもあります。 https://cloud.google.com/logging/docs/export/using_exported_logs

複数日 (先週など) にわたって BigQuery にエクスポートされたログをクエリする場合は、次のFROMような句を含む SQL クエリを使用できます。

FROM
    (TABLE_DATE_RANGE(my_bq_dataset.myapplog_,
      DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY'), CURRENT_TIMESTAMP()))
于 2016-02-06T16:03:04.790 に答える