我有两个数据帧转储,可以将它们称为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.197版本开始, Presto支持空间查询。Athena基于Presto 0.172,因此(当前)无法有效执行此类查询。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句