Афина возвращает разные наборы результатов, когда выполняется один и тот же запрос - PullRequest
2 голосов
/ 29 января 2020

Когда я выполняю один и тот же запрос несколько раз для одного и того же набора данных (те же самые файлы паркета на s3), каждый раз возвращаются несколько разные наборы результатов. Иногда несколько строк отсутствуют или агрегированные данные немного отличаются и т. Д. c. Конечно, запрос является относительно сложным с несколькими вложенными запросами и агрегатами, которые выполняются на подмножестве разделов, но я не понимаю, почему результаты запроса могут отличаться. Существует ли тип параметра запроса-согласованности, о котором я не знаю?

1 Ответ

0 голосов
/ 06 февраля 2020

Было бы полезно иметь пример запроса и пример макета ваших данных. Первое, что приходит на ум, - это то, что данные постоянно добавляются в файл паркета, но вы подтвердили, что это не так.

Если у вас много разделов, возможно, Афина не все же загрузите некоторые из этих разделов (автоматически). В то время как разделы могут быть там, Athena также должна загрузить эти разделы во внутренний каталог данных Athena. Возможно, что некоторые из этих разделов все еще отсутствуют в этом каталоге данных и поэтому не используются при выполнении запроса. В результате ваши агрегаты немного отклоняются.

Вы можете попробовать выполнить следующее, а затем несколько раз выполнить свой запрос и посмотреть, все ли изменится результат:

MSCK REPAIR TABLE table_name;

Дополнительная информация здесь .

...