我正在使用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标志,它仍然可以返回数据吗?
谢谢!
答案 0 :(得分:3)
bq确实尝试在回复时读取整个表,即使格式设置为none也是如此。防止这种情况的一种方法是使用--nosync,它将立即退出而不是等待查询完成。我正在添加一个--max_rows标志,允许您在结果中指定所需的行数(因此,如果您不需要,则只能指定0)。