AWS Spectrum дает пустой результат для файлов паркета, созданных AWS Glue

Мы создаем ETL с помощью AWS Glue. А для оптимизации производительности запросов мы храним данные в apache parquet. Один раз данные сохраняются на S3 в паркетном формате. Мы используем AWS Spectrum для запроса этих данных.

Мы успешно протестировали весь стек в нашей учетной записи AWS для разработки. Но когда мы перешли на нашу производственную учетную запись AWS. Мы застряли со странной проблемой. Когда мы запрашиваем, строки возвращаются, но данные пусты. введите здесь описание изображения

Хотя запрос подсчета возвращает хорошее число введите здесь описание изображения

В ходе дальнейшего расследования мы узнали, что файлы apache parquet в учетной записи AWS для разработки имеют кодировку RLE, а файлы в рабочей учетной записи AWS — в кодировке BITPACKED. Чтобы усилить этот аргумент, я хочу преобразовать BITPACKED в RLE и посмотреть, смогу ли я запрашивать данные.

Я новичок в файлах паркета и не смог найти особой помощи для преобразования кодировок. Может ли кто-нибудь дать мне способы сделать это.

В настоящее время нашим главным подозреваемым является другая кодировка. Но если вы можете догадаться любой другой вопрос. Буду рад изучить возможности.


person jimy    schedule 13.11.2017    source источник


Ответы (1)


Мы нашли ошибку в конфигурации. Имена столбцов наших внешних таблиц и указанные в AWS Glue несовместимы. Мы исправили это и теперь можем просматривать данные. Недостаток части AWS Spectrum в том, что я не выдавал соответствующее сообщение об ошибке.

person jimy    schedule 13.11.2017