sqlを定期実行させて、bigqueryのテーブルを操作させたいのですが以下方法を試行するも想定通りの動きになりません。他に方法がありましたらご教示頂きたいです。
■実現したいこと BigQueryに3つのテーブルを作成して、スケジュールジョブでテーブルを更新したい ■実装案 Aテーブル、Bテーブル、Cテーブル ➀OracleDBのデータをembulkでBigQueryへバルクインサートする。対象のテーブルは2つ(A,B) ➁BigQueryに作成された2つのテーブル(A,B)、別途BigQueryにテーブルを1つ(C)作成する ➂2つのテーブル(B、C)から、Bにだけ存在するカラムを抽出 ➃Aテーブルから一致するカラム値を検索し、対象レコードだけをCテーブルへインサートする ➄1分毎に定期実行 ⇒Bigqueryへ単純増分バルクインサートを実施し、GoogleクラウドのAPIを使って処理する方法を調査 ⇒Schedule queryと、App Engine Cron Serviceを使って実現できるか検証 ⇒➀から➃までを処理するSQL作成は、検証用PCのオラクル環境で検証済み ⇒BigQuery上でテスト予定 ⇒BigQueryで3テーブルを使用した、➀から➃までの処理が成功 ⇒➄について調査・検証中(crontabでテスト) ⇒Cloud Shellはログアウトして1時間経過するとcrontabの中身が消える ⇒Schedule queryでは、実行間隔の最短許容時間は 3 時間となる ⇒Google App EngineのCronサービスを使ったテストを実施中。(cron.ymlファイルを生成し、デプロイして、動作確認中) ⇒失敗 ⇒Google App EngineのTask Queueを利用して、BigQueryのテーブルに対してクエリを定期実行している事例があった為、検証 ⇒Go言語、SQL、cron、を組み合わせて実装するも以下エラーが出力し正常に動作せず error:(gcloud.app.deploy) error response:[9] deployment contains files that cannot bi compiled: compile faild: /work_dir/app.go:49:17: undefined:os
回答1件
あなたの回答
tips
プレビュー