7

BigQuery(レポート)からCloudSQLデータベースにデータをダンプしたいのですが、これをプログラマチックに達成する最良の方法は何ですか?Google BigQueryからCloudSQLにエクスポートしますか?

BigQeryクエリを実行し、CSVとしてダウンロードしてからCloudコンソールにアップロードすることで、これを行うことができましたが、manuallyですが、これをプログラマチックに、できればPython/SQLで実行したいと考えています。

答えて

4

テーブル全体をダンプする場合は、BigQueryとCloud SQL APIを組み合わせて使用​​できます。

CloudQueryテーブルをCloud Storageに抽出するBigQueryのドキュメントhas an API example in python

データがCloud Storageに保存されたら、Cloud SQL Admin APIを使用してデータをMySQLテーブルにインポートできます。

詳細な制御が必要な場合は、BigQuery APIを使用してクエリを実行し、結果をフェッチし、Cloud SQLインスタンスに接続してデータを挿入できます。データの量が多い場合でも、これは実行されません。

より複雑なアプローチは、興味のあるデータをCloud Storageに書き込むためにDataflowを使用し、Cloud SQL APIを使用してデータをインポートすることです。

(私自身の好奇心のために、あなたはクラウドSQLの代わりにBigQueryにデータを望むためのユースケースを記述することができますか?それは私/私たちは、お客様が当社の製品とどこが改善することができますを使用しているかを理解するのに役立ちます。)

+1

私は2つのユースケースを提供できます:1)本当にSQL準拠のデータベース(UPDATE、DELETEなど)を必要とする第三者ツールまたはLOBアプリケーションを使用したいとします。 BQでデータを準備し、CloudSQLにエクスポートします。 2)BQへの移植が複雑で高価なMySQLの処理/解析/ ETLスクリプトがあります。 BQでデータを準備し、CloudSQLで何らかの処理を行い、その後BQに戻します。この必要性を排除するために、BQにはANSI-SQL互換性とストアドプロシージャが必要です。 (私はどちらかというとちょっとお勧めしません) –

+0

BigQueryでビッグデータの「数値処理」を行いたいのですが、毎日のレポートを出力したいと考えています。 BQクエリ)をMySQLデータベースに簡単に表示できるようにします。 –

+0

BigQueryの馬力でも大きなテーブルのクロスジョイントがすぐに圧倒されるため、ユースケースでは単純なアイデンティティよりも柔軟性の高いジョインにアクセスする必要があります。 – oulenz

関連する問題