BigQuery 无法查询滞后的大表
Posted
技术标签:
【中文标题】BigQuery 无法查询滞后的大表【英文标题】:BigQuery can't query large tables with lag 【发布时间】:2015-01-27 16:18:05 【问题描述】:我在 BigQuery 上有一个包含 3,674,736 行的表,当我使用窗口函数 LAG 和 PARTITION BY 一个具有 370 个不同值的字段运行查询时,BigQuery 返回“错误:查询执行期间超出资源。”。
窗口函数是否有任何限制,但没有记录?
【问题讨论】:
【参考方案1】:缺乏诊断此问题的信息。但是,根据标题,您可能正在尝试使用窗口函数和 allowLargeResults 来生成输出,which is unsupported。
您可能还想查看troubleshooting document 以了解有关超出资源错误的更多上下文。
【讨论】:
感谢您的回答!我已经成功地使用延迟或其他窗口函数对超过 10 亿行的表进行了数百次查询,提取了大约 5000 万行并在具有大约 15,000 个不同值的字段中进行了分区。但是,50M/15k小于3.7M/370,所以我怀疑这取决于分区的大小,因为计算是平均值,分区不包含相同数量的元素。以上是关于BigQuery 无法查询滞后的大表的主要内容,如果未能解决你的问题,请参考以下文章
带有“Order Each by”子句的 Google BigQuery 大表(105M 记录)产生“资源超出查询执行”错误