Афина: запрашивать исчерпанные ресурсы при таком масштабном коэффициенте.

У меня есть два дампа фрейма данных, позвольте называть их df1 и df2, находящиеся в s3 в виде файлов json (вывод, скажем, искры).

Оба набора данных содержат поле polygon, которое содержит многоугольник WKT.

df1 is > 1TB, df2 is ~3GB.

Я пытаюсь объединить эти два набора данных так, чтобы полигоны пересекались. Однако похоже, что Афина не может обрабатывать такие запросы на соединение, что приводит к ошибке:

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));

Есть ли способ избежать этого?

Есть ли у Афины определенный шаблон, для которого все работает?


person ixaxaar    schedule 25.06.2018    source источник
comment
Для справки, Presto получил поддержку Spatial join в версии 0.197 (prestodb.io/docs /current/release/release-0.197.html). Ограничены ли вы использованием Athena, которая (в настоящее время) основана на Presto 0.172?   -  person Piotr Findeisen    schedule 26.06.2018
comment
Я тоже столкнулся с этой ошибкой несколько месяцев назад. Однако это автоматически прекратилось, когда я попытался через некоторое время - полчаса или около того. Это все то же самое?   -  person Resham Wadhwa    schedule 28.06.2018
comment
@ReshamWadhwa вау, звучит сложно. Но да, я пытался когда-то / дни, я полагаю, что разметка поможет, и я попробую обновить это.   -  person ixaxaar    schedule 28.06.2018
comment
@PiotrFindeisen спасибо за указатель, думаю, я вернусь к presto / geomesa, если это не сработает. Однако единственное преимущество использования athena - бессерверность, я не хочу поддерживать инфраструктуру.   -  person ixaxaar    schedule 28.06.2018


Ответы (1)


Presto поддерживает пространственные запросы, начиная с версии 0.197. Athena основана на Presto 0.172 , поэтому он (в настоящее время) не может эффективно выполнять такие запросы.

person Piotr Findeisen    schedule 28.06.2018
comment
Вы, наверное, имеете в виду такой PR: github.com/prestodb/presto/pull/9474 - person ixaxaar; 31.07.2018