Athena:在此比例因子下查询耗尽的资源
Athena: Query exhausted resources at this scale factor
我有两个数据帧转储,我们称它们为 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));
有什么办法可以避免这种情况吗?
Athena 是否有可识别的模式,哪些东西适用?
急速supports Spatial queries since version 0.197。
Athena is based on Presto 0.172,因此它(目前)无法有效地执行此类查询。
如果你有每个多边形的中心坐标并且多边形具有相同的半径,你可以使用haversine函数测量2个多边形中心之间的距离,并与标准半径相比,找出相交的那些。
我有两个数据帧转储,我们称它们为 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));
有什么办法可以避免这种情况吗?
Athena 是否有可识别的模式,哪些东西适用?
急速supports Spatial queries since version 0.197。 Athena is based on Presto 0.172,因此它(目前)无法有效地执行此类查询。
如果你有每个多边形的中心坐标并且多边形具有相同的半径,你可以使用haversine函数测量2个多边形中心之间的距离,并与标准半径相比,找出相交的那些。