雅典娜:以这个比例因子查询耗尽的资源

lo8azlld  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(316)

我有两个Dataframe转储,让我们调用它们 df1 以及 df2 ,以json文件的形式驻留在s3中(比如spark的输出)。
两个数据集都包含 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));

有什么办法可以避免这种情况吗?
雅典娜是否有一个可识别的模式,哪种模式有效?

dm7nw8vv

dm7nw8vv1#

presto自版本0.197起支持空间查询。athena是基于presto 0.172的,所以它(目前)不能有效地执行这样的查询。

相关问题