У меня есть два дампа данных, давайте назовем их df1
и df2
, которые хранятся в s3 в виде файлов json (вывод, скажем, spark).
Оба набора данных содержатполе polygon
, содержащее многоугольник WKT.
df1
-> 1 ТБ, df2
- ~ 3 ГБ.
Я пытаюсь объединить эти два набора данных, так чтополигоны пересекаются.Тем не менее, похоже, что Афина не может обрабатывать такие запросы на соединение, что приводит к ошибке:
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));
Есть ли способ избежать этого?
Есть ли идентифицируемый шаблон для Афины, для которого все работает?