Google bigquery BigQuery干运行返回什么?

Google bigquery BigQuery干运行返回什么?,google-bigquery,Google Bigquery,BigQuery文档说: 在表的较小分区而不是一个较大的表上测试查询。如果使用API,请验证查询的语法,并使用dryRun标志获取数据处理统计信息 但他们也说,对于dryRun: 如果已设置,则不实际运行查询。有效查询将返回空响应,而无效查询将返回与非空运行时相同的错误。默认值为false 这些似乎是矛盾的,还是我遗漏了什么?不,这并不矛盾 在我看来,第一条消息是“通过打开“干运行”标志,尝试查看您的查询是否可以运行” 第二条消息说“如果您将DryRun标志设置为true,它将返回有关您的查询的

BigQuery文档说:

在表的较小分区而不是一个较大的表上测试查询。如果使用API,请验证查询的语法,并使用dryRun标志获取数据处理统计信息

但他们也说,对于dryRun:

如果已设置,则不实际运行查询。有效查询将返回空响应,而无效查询将返回与非空运行时相同的错误。默认值为false


这些似乎是矛盾的,还是我遗漏了什么?

不,这并不矛盾

在我看来,第一条消息是“通过打开“干运行”标志,尝试查看您的查询是否可以运行”

第二条消息说“如果您将DryRun标志设置为true,它将返回有关您的查询的统计信息,因此如果查询有效,则在不运行查询的情况下返回“totalBytesProcessed”,并且返回的错误与查询无效时通常会收到的错误相同”


因此,可以将“干运行”视为语法检查/错误检查/检查所处理的字节。

我发现它们有点不同步,需要一些澄清

下面是对
dryRun
的另一种更准确的描述。从中,搜索dryRun:

[可选]如果已设置,则不实际运行此作业。将生成有效的查询 返回一个基本为空的响应,其中包含一些处理统计信息,而 无效查询将返回与非查询时相同的错误 排练。未定义非查询作业的行为

看起来文档只是缺少了两个独立建议之间的要点


我记录了一个内部跟踪错误来清理这个。谢谢你让我们注意到这一点

它将被定义为“为这个查询处理的总字节数。如果这个查询是一个干运行,那么这个字节数就是如果这个查询是运行的,将会被处理的字节数。”Stuart同意-所以这个标志的文档充其量是很差的(我会说它完全错了)。为了澄清-“一个空响应”与“数据处理统计数据”注意,即使设置了
dry_run
,查询也可能返回一个尚未完成的作业,这是一个额外的复杂性。请参阅
返回:
字段,但它不会返回任何内容,它将返回“数据处理统计信息”,即将要处理的字节数。因此,旗帜本身的文档充其量只是误导。在这里@GrahamWheeler,我在我的答案中添加了Stuartd的部分,并将其切换到“communityWiki”,因此,如果你想接受这一部分而不是你的部分,我不会得到任何关于代表性的信息^^