获取查询结果的size_bytes

问题描述:

我希望获取查询结果的size_bytes而不将结果保存到表中。
1.我注意到,我们可以使用使用获取查询结果的size_bytes

select size_bytes from [datasets__TABLES__] 

拿到表的大小的数据集。
2.我所试图做的是那种本,

select size_bytes from 
(some query) 

那是一个办法做到这一点?避免得到实际结果,只得到结果的字节大小?

谢谢。

+1

以获得您实际需要首先生成结果的结果大小!所以,不,不幸的是 - 你无法避免先获得实际结果!如果你能解释你的用例 - 我们可能会找到一些解决方法 –

+0

我c,谢谢米哈伊尔,那么我会先生成结果或者可能会想一些其他方法。情况是,我想计算不同情况下的数据消耗,这将跨越几个表格,以便我正在考虑直接从结果中获取大小而不保存到大查询中。 – HaipengSu

以获得您实际需要首先生成结果的结果大小!所以,不幸的是,你不能避免首先得到实际结果

如果你真的想/需要避免产生/付费的结果 - 你可以尝试根据你的数据的原始大小来估计结果大小(更多这里: Find out the amount of space each field takes in Google Big Query)以及结果中的估计行数

+0

谢谢你再次回答米哈伊尔。这不是关于使用干运行估计处理的数据大小,而是估计处理后的结果大小。我想我会先生成表格然后获得大小。 – HaipengSu

+0

我提供的链接,因为它显示如何找到实际运行任何查询的原始数据的大小。正如我在我的回答中解释的那样 - 如果您知道原始数据的性质/大小,查询并且您对输出中有多少行有一个想法 - 基于此,您可以尝试估计输出的大小。但确定 - 运行相关示例并从中获取大小是我认为最直接和最准确的方式 –

+0

完全同意,根据原始表的大小和输出行,我可以绝对估计输出结果的大小。无论哪种方式将工作。谢谢 – HaipengSu