我有两个数据帧转储,可以将它们称为df1
和df2
,它们以json文件(例如spark的输出)的形式位于s3中。
两个数据集都包含一个polygon
字段,其中包含一个WKT多边形。
df1
大于1TB,df2
约为3GB。
我正在尝试将这两个数据集合并,以使多边形相交。但是,似乎Athena无法处理此类联接查询,并失败并显示以下错误:
Query exhausted resources at this scale factor
select count(*) from
df1
left join df2
on st_intersects(df1.polygon, df2.polygon)
limit 1;
非地理查询绝对可以正常工作。 单点地理查询也可以正常工作:
select (st_area(st_intersection(polygon, ST_Point(-64.0059731, 27.7143528))) / st_area(polygon))
from df1
where st_contains(polygon, ST_Point(-64.0059731, 27.7143528));
有什么办法可以避免这种情况?
雅典娜是否有可识别的模式,适用于哪些东西?
答案 0 :(得分:1)
Presto supports Spatial queries since version 0.197。 Athena is based on Presto 0.172,因此(当前)无法有效执行此类查询。