0

我正在使用 bq 运行 BigQuery 查询,该查询从一个表中选择行的子集到目标表中。

我们的命令看起来像:

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 确实会尝试在回复时读取整个表格,即使格式设置为无。防止这种情况的一种方法是使用 --nosync 它将立即退出而不等待查询完成。我正在添加一个 --max_rows 标志,该标志将允许您指定结果中所需的行数(因此,如果您不需要任何行,则只需指定 0)。

于 2012-08-15T19:44:39.303 回答