-1

私は開発者ではありませんので、このことについて私にご負担ください。私はGoogle BigQuery - Automating a Cron JobでPHPベースの答えに従うことができなかったので、それが私が探しているものと同じものであるかどうかはわかりません。Google CloudからBigQueryへのデッドアップデータの追加を自動化する最も簡単な方法

とにかく、私はGoogle Cloudを使用してデータを保存しています。データはそこでCSVにアップロードされます。 BigQueryを使用してジョブを実行し、BigQueryテーブルにデータを設定します。

私のコントロールできない理由のため、CSVには重複したデータがあります。だから私は基本的には、おそらく、毎日午前1時に実行し、既存のテーブルにすべての新しいデータを追加するために、毎日ETLを作成されて何をしたいか:

  1. 追加されていない新しいファイルを特定する(日付のようなもの=今日 - 1)
  2. は、一時BigQueryのテーブル
  3. デだますI)は、さまざまな方法でこれを行うことができます(SQL経由BigQueryのテーブルを
  4. 挿入に変換するステップ1からのすべてのCSV上のジョブを実行しますBigQueryテーブルに重複しない一時テーブルを追加します。
  5. 一時テーブルに

を削除しますので、基本的に私は、正方形の1で立ち往生している - 私は自動化された方法でこののいずれかの操作を実行する方法がわかりません。 BigQueryにはAPIがありますが、documentation on cron jobsがあり、Cloud Dataflowという名前がありますが、これらのウサギの穴を降りる前に、他の誰かがこの経験を持っていて、私にいくつかのヒントを与えることができると願っていました。私が言ったように、私は開発者ではないので、これを達成するためのより単純な方法があれば、それを実行するのが簡単になります。

誰もが提供できるお手伝いをありがとう!

+0

これがdownvotedされている理由、私はGoogleからの文書を通じて働いていると、それは助けていないわかりません。 –

答えて

0

グラハムポーリーには犯罪はありませんでしたが、私は別のアプローチを使用しました。これらのページ(とランダムなバッチファイルのGoogle検索と試行錯誤のTON)のおかげ:

  • how to get yesterday's date in a batch file
  • https://cloud.google.com/bigquery/bq-command-line-tool

    ます。cscript // NOLOGO C:\デスクトップ\ yester.vbs> C :\ Desktop \ tempvar.txt & &

    set/p zvar = < C:\ Desktop \ tempvar。TXT & &

    デルC:\デスクトップ\は& &

    BQ負荷tempvar.txt data.data = 1 --skip_leading_rows %% _溶接:0.4〜%% %%溶接:〜 4.2 %% %%溶接:6.2〜%% _ 1 GS:// mybucket /データ/ %%溶接:0.4〜%% - %%溶接:4.2〜%% - %%溶接:6.2〜%% * .csv.gz タイムスタンプ:TIMESTAMP、TRANSACTIONID STRING & &

    BQクエリー--destinati on_table = data.data %% _溶接:0.4〜%% %% 溶接:〜4.2 %% %%溶接:6.2〜%% 2「data.data溶接SELECT * FROM %% :〜0.4 %% %% 溶接:〜4.2 %% %%溶接:1.2「& &

    BQのCP -a data.data_重量%〜6.2 %% _ 1基%溶接:0.4〜%% %% 溶接:〜4.2 %% %%溶接:6.2〜%% _ 2 data.data & &

    BQ RM-Fのdata.data %% _溶接:0.4〜%% %% 溶接:〜4.2 %% %%溶接:6.2〜%% _ 1 & &

    BQ RM-Fのdata.data %% _溶接:0.4〜%% %% 溶接:〜4.2 %% %%溶接:6.2〜%% _ 2

A VBスクリプトと呼ばれるyester.vbsはYYYYMMDD形式で昨日の日付を出力します。これは、デ - だまさ(すべての列でグループ化を経由して)テーブルが作成されるから、テーブルに昨日のデータGCS内のファイルと出力を検索するために使用される変数として保存されます。次いで、これをメインテーブルに追加され、2つの中間テーブルが削除されます。それはWindowsのタスクスケジューラ経由.CMDファイルとして保存し、実行しているため

ダブルパーセント記号が表示されます。

2

は、これを解決するには、いくつかの方法がありますが、私はこのようなものをお勧めします:

  1. はGCS(ソース)から読み取られ、BigQueryの(シンク)に追加書き込むためのテンプレートデータフローパイプラインを作成します。
  2. パイプラインは重複を直接削除することができます。 hereおよびhereを参照してください。
  3. GCSバケットを監視するためにcloud functionを作成します。
  4. 新しいファイルが到着すると、クラウド機能が自動的に起動され、データフローパイプラインを呼び出して新しいファイルの読み込みを開始し、そのファイルを除外して結果をBigQueryに書き込みます。
関連する問題