首页 > 解决方案 > ST_INTERSECTS 问题 BigQuery Waze

问题描述

我正在使用以下代码来查询基于多边形的数据集:

  SELECT *
FROM `waze-public-dataset.partner_name.view_jams_clustered`
WHERE ST_INTERSECTS(geo, ST_GEOGFROMTEXT("POLYGON((-99.54913355822276 27.60526592074579,-99.52673174853038 27.60526592074579,-99.52673174853038 27.590813604291416,-99.54913355822276 27.590813604291416,-99.54913355822276 27.60526592074579))")) IS TRUE

验证消息显示“此查询在运行时将处理 1 TB”。

好像没有问题。但是,当我删除“WHERE INTERSECTS”函数时,验证消息说的完全一样:“此查询在运行时将处理 1 TB”,相同的 1 TB,所以我猜测 ST_INTERSECTS 函数不起作用。

标签: google-bigquerygisgeographysqlgeographywaze

解决方案


当您实际运行此查询时,收取的费用通常应该少得多,正如空间聚集表所预期的那样。我已经select count(*) ...使用一个合作伙伴数据集运行查询,虽然编辑器 UI 在运行查询之前宣布 9TB,但查询报告在运行后处理了大约 150MB。

节省来自聚集表 - 但与过滤器中使用的多边形相交的特定集群取决于表中的实际数据以及集群的创建方式。只有在查询运行时才能确定集群以及查询的成本。在这种情况下,编辑器 UI 显示查询的最大可能成本。


推荐阅读