2016-08-31 9 views
1

私は、BigQuery Web UIを使用して、Firebaseアプリのイベントデータ(大きな乱雑なテーブル)からいくつかのカスタムテーブルを導き出しています。これにより、他の表示サービス(この場合はGoogle Data Studio)が動的なダッシュボードとレポートを表示することができます。BigQuery Web UIでの派生テーブルの自動更新

問題は、派生したテーブルを毎朝自動更新することができないことです。代わりに、データを更新するためにクエリを手動で再実行する必要があります。これらのジョブをインターフェイスで実行するように設定する方法はありますか?あるいは、どこかでジョブを設定する必要がありますか?ありがとう。

+0

ありませんが、UI上で設定するには、特別な工具はありません、あなたはAPI +ライブラリを使用してどこか別の場所で実行する必要があります。 – Pentium10

答えて

1

スケジュールされた表のマテリアライゼーションと同じくらい単純ではありませんが、Google App Engineでcronを設定して、毎日のクエリジョブを開始できます。私はこれがフリー層に簡単に残るはずだと思います。

PythonJavaの両方のドキュメントがあります。

Apps Scriptで日常の仕事をスケジュールできるようです。

私が試した簡単な例です。

  • 移動先:script.google.com
  • は(BigQueryのをオンにし、その後、...メニュー>リソース>アドバンスドサービス)高度なサービスを有効にします。
  • デフォルト関数の名前をもっとわかりやすくするために、私は "rebuildTables"を選択しました。
  • 「トリガー」ボタンをクリックします(時計のようにタックがはみ出しているように見えます)。
  • プロジェクトに名前を付けます。私は "BigQuery - Build Daily Tables"を選択しました。
  • これでトリガーを追加できます。たとえば、時間駆動、曜日タイマー、午前5時〜午前6時
  • スクリプトを編集します。ここから借用:https://developers.google.com/apps-script/advanced/bigquery
function rebuildTables() { 
    // Replace this value with the project ID listed in the Google 
    // Developers Console project. 
    var projectId = 'EXAMPLE_PROJECT'; 

    var request = { 
    configuration: { 
     query: { 
     query: 'SELECT 17;', 
     destinationTable: { 
      "projectId": "EXAMPLE_PROJECT", 
      "datasetId": "EXAMPLE_DATASET", 
      "tableId": "EXAMPLE_TABLE" 
     }, 
     writeDisposition: "WRITE_TRUNCATE" 
     } 
    }  
    }; 

    // Fire-and-forget. 
    BigQuery.Jobs.insert(request, projectId); 
} 
+0

これは素晴らしいことです。それはPythonのように見えるほど簡単です。どうもありがとう! – Deprey

関連する問題