У меня есть 25-килобайтный файл паркета «строка» (всего 469,5 КБ), где каждый элемент в паркете имеет уникальный целочисленный идентификатор.Зная это, я поместил индекс в этот столбец, но он не отображается, поскольку индексирование столбца фактически влияет на производительность при использовании Athena (сервис AWS) / Presto (базовый движок).Я пытаюсь сделать простой выбор из того места, где я хочу вытащить одну из строк по ее id-
SELECT *
FROM widgets w
WHERE w.id = 1
. Столбец id
проиндексирован, поэтому, как только Presto находит это совпадение, делать это не следует.любое дальнейшее сканирование.Столбец также упорядочен, поэтому он должен быть в состоянии выполнить бинарный поиск для определения местоположения вместо тупого сканирования.
Я могу сказать, правильно ли используется индекс со времен Афинывозвращает количество байтов, отсканированных в операции.С индексом и без него Athena возвращает размер самого файла в байтах в качестве размера сканирования, то есть сканирует весь файл.Просто чтобы быть уверенным, порядок так, чтобы id был самой первой строкой, также не имел влияния.
Разве это невозможно в текущей версии Athena / Presto?Я использую питона, панд и пиарроу.