我遇到了严重的问题“资源超过查询执行" 当 Google Big Query 大表(105M 记录)带有 '订购每个'条款。
这是示例查询(使用公共数据集:维基百科):
SELECT Id,Title,Count(*) FROM [publicdata:samples.wikipedia] Group EACH by Id, title Order by Id, Title Desc
如何在不添加 Limit 关键字的情况下解决这个问题。
在大数据数据库上使用order by并不是一个普通的操作,在某些时候它超出了大数据资源的属性。您应该考虑对查询进行分片或在导出的数据中运行订单。
正如我今天向您解释的你的另一个问题,添加allowLargeResults
将允许您返回较大的响应,但您不能指定顶级 ORDER BY、TOP 或 LIMIT 子句。这样做会抵消使用的好处allowLargeResults
,因为查询输出无法再并行计算。
您可以尝试的一种选择是对查询进行分片。
where ABS(HASH(Id) % 4) = 0
您可以多次使用上述参数来获得更小的结果集,然后进行组合。
另请阅读第 9 章 - 了解查询执行它解释了内部分片的工作原理。
你还应该阅读BigQuery 启动清单
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)