0

bq を使用して BigQuery クエリを実行しています。これは、1 つのテーブルから宛先テーブルに行のサブセットを選択します。

コマンドは次のようになります。

bq --format=none query --destination_table=dpm_legacy.unique_test [query]

コマンドラインで私は得る:

Waiting on job_cda83335e0a4416ea9d4a2a0262d1ec7 ... (0s) Current status: RUNNING
Waiting on job_cda83335e0a4416ea9d4a2a0262d1ec7 ... (10s) Current status: DONE

しかし、その後、プロセスはしばらくハングし、CPU とメモリの使用量が増加し始め、最終的に出力がなくなります。

経験的に、ツールがハングする時間の長さは宛先テーブルの大きさに正比例するように思われるので、 --format=none フラグを使用してもデータが返される可能性はありますか?

ありがとう!

4

1 に答える 1

3

bq は、形式が none に設定されていても、応答時にテーブル全体を読み取ろうとします。これを防ぐ 1 つの方法は、クエリが完了するのを待たずにすぐに終了する --nosync を使用することです。結果に必要な行数を指定できるようにする --max_rows フラグを追加中です (何も必要ない場合は 0 を指定できます)。

于 2012-08-15T19:44:39.303 に答える