Могу ли я использовать Athena / Presto для сортировки таблицы перед записью? - PullRequest
0 голосов
/ 12 марта 2019

Я хочу заархивировать свои журналы в формате Parquet. Прежде чем писать таблицу, я хочу отсортировать ее по столбцу c, чтобы у каждого файла Parquet был только небольшой диапазон c. Это позволит Athena / Presto эффективно сканировать таблицу, когда запрос включает предложение WHERE в столбце c (с помощью предиката pushdown).

Однако мне неясно, могу ли я использовать Афину или Престо для сортировки всей таблицы. Мне нужна распределенная сортировка - не та, которая выполняется на одном узле - потому что набор данных слишком велик, чтобы поместиться на одном узле. Возможен ли такой вид? Если да, то как мне его вызвать?

1 Ответ

2 голосов
/ 12 марта 2019

Presto поддерживает распределенную сортировку , начиная с 0,206 . Афина в настоящее время основана на Presto 0.172 , и я не знаю, поддерживали ли они эту функцию.

Так что ваш выбор

  • захватить последний Presto @ https://prestosql.io/download.html
  • упрощает развертывание Presto на AWS из Starburst (https://www.starburstdata.com/presto-aws-cloud/) (отказ от ответственности: я из Starburst)
  • использовать Presto, связанный с EMR (я не знаю, как он настроен, но, вероятно, распределенная сортировка по-прежнему включена по умолчанию)
...