Можно ли разделить файлы паркета при хранении в AWS S3? - PullRequest
0 голосов
/ 07 ноября 2019
  • Я знаю, что файлы паркета разделяются, если они хранятся в хранилище блоков. Например, хранятся в HDFS
  • Они также разделяемы при хранении в хранилище объектов, таком как AWS s3?
  • Это сбивает меня с толку, потому что хранилище объектов должно быть атомарным. Вы либо получаете доступ ко всему файлу, либо ни к одному из файлов. Вы даже не можете изменить метаданные в файле S3 без перезаписи всего файла. С другой стороны, AWS рекомендует использовать разделяемые форматы файлов в S3 для повышения производительности Athena и других сред в экосистеме hadoop.

Ответы [ 2 ]

2 голосов
/ 07 ноября 2019

Да, файлы паркета разделяются.

S3 поддерживает позиционное чтение (запросы диапазона), которое может использоваться для чтения только выбранных частей входного файла (объекта).

0 голосов
/ 07 ноября 2019

Я не уверен на 100%, что вы имеете в виду, но в целом (я думаю), у вас есть паркетный раздел на ключах разделов и вы сохраняете столбцы в блоки строк. Когда я использовал в нем AWS S3, он сохранил как:

|-Folder
|--Partition Keys
|---Columns
|----Rows_1-100.snappy.parquet
|----Rows_101-200.snappy.parquet

Это обрабатывает эффективность расщепления, которую вы упомянули.

...