google-bigquery - 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 函数不起作用。
解决方案
当您实际运行此查询时,收取的费用通常应该少得多,正如空间聚集表所预期的那样。我已经select count(*) ...
使用一个合作伙伴数据集运行查询,虽然编辑器 UI 在运行查询之前宣布 9TB,但查询报告在运行后处理了大约 150MB。
节省来自聚集表 - 但与过滤器中使用的多边形相交的特定集群取决于表中的实际数据以及集群的创建方式。只有在查询运行时才能确定集群以及查询的成本。在这种情况下,编辑器 UI 显示查询的最大可能成本。
推荐阅读
- performance - 通过自定义单元格和异步数据加载提高 v-data-table 的性能
- javascript - 仅当存储在服务器上的文件发生更改时,如何更新我的 html?
- regex - 如何使用 Excel 公式来验证自定义的电子邮件地址?
- regex - 可以使用 Angular 8 在 ngx-translate i18n json 文件中使用正则表达式吗?
- python-3.x - 如何在一行上打印多行
- c# - 将 JSON 转换为涉及大量嵌套 JSON 对象的 C#
- python - Python:更新类函数内嵌套字典的值
- string - 如何在 Clojure 中替换字符串中的特定字符?
- google-cloud-platform - 云功能无法移动存档桶中的文件
- javascript - Javascript:函数返回 0 而不是出现奇数次的数字