2017-09-14 14 views
0

大量のデータ(VMのmemeoryに収まらない可能性があります)を返す可能性がある1つのプロジェクトのBigQueryで結合クエリを実行し、その結果をBigQueryもう一つのプロジェクト。大規模なBigQueryの結果を別のプロジェクトのBigQueryに保存する

データサイズが変わる可能性があり、VMの読み込みに必要なメモリが不足する可能性があるため、VMにデータをロードせずに簡単に行う方法はありますか?

+0

を新しいテーブルを作成するには、バッチでクエリの結果を読み、VMディスクに保存する必要があります - CLIツールは)

  • 先のプロジェクトにそれを行うことができます。 –

  • 答えて

    1

    プロジェクトのテーブルにクエリの結果を保存するには、まずVMに保存する必要はありません。ターゲットプロパティを適切に設定するだけで、そのテーブルを含むデータセットへの書き込み権限が必要です。

    先のプロパティは、あなたがプロパティの下に設定する必要がありますが、REST APIのjobs.insertを使用している場合、例えば
    を使用client toolに依存異なります

    configuration.query.destinationTableネストされたオブジェクト[オプション]
    クエリ結果を格納するテーブルを記述します。 が存在しない場合、結果を格納するための新しいテーブルが作成されます。この プロパティは、応答サイズが最大で を超える大きな結果に設定する必要があります。

    configuration.query.destinationTable.datasetId列[必須]このテーブルを含むデータセットの
    ID。

    configuration.query.destinationTable.projectId文字列[必須]このテーブルを含むプロジェクトの
    ID。

    configuration.query.destinationTable.tableId列[必須]
    IDテーブルの 。 IDには、英字(a-z、A-Z)、数字 (0-9)、またはアンダースコア(_)のみを含める必要があります。最大長は1,024文字です。

    1

    1つの方法は、操作のためにVMをバイパスし、Google Cloud Storageを代わりに使用することです。これは、Webインターフェイスからかなり確信して可能である(GSバケットにテーブルをエクスポート -

    プロセスは、両方のプロジェクトが

  • ソースプロジェクトへのアクセス権を持っているGSバケットを作成

    1. を次のようになります。 GSバケット内のファイルから
  • 関連する問題