仅当查询不为空时,才从查询写入BigQuery中的表

时间:2016-09-21 12:41:29

标签: python google-bigquery

在BigQuery中,可以将新查询结果写入新表。我希望只有在查询返回至少一行时才创建表。基本上我不想最终创建空表。我找不到这样做的选择。 (我正在使用Python库,但我认为同样适用于原始API)

2 个答案:

答案 0 :(得分:1)

由于您必须在查询定义中指定目标,并且在运行它时不知道它将返回什么,因此您可以将LIMIT 1添加到最后吗?

如果新表中有结果,您可以检查job result object中的行号,然后重新运行不带限制器的查询。

答案 1 :(得分:1)

没有选择一步完成此操作。我建议运行查询,检查结果,然后使用WRITE_TRUNCATE执行表副本,以便在中间输出至少包含一行时将结果提交到最终位置。