Генерация паркетных файлов - различия между R и Python
Мы создали parquet
файл в Dask
(Python) и с Drill
(R используя Sergeant
пакет). Мы заметили несколько проблем:
- Формат
Dask
(т.е.fastparquet
) имеет_metadata
и_common_metadata
файлы в то время какparquet
файл вR \ Drill
не имеют этих файлов и имеютparquet.crc
файлы вместо (которые могут быть удалены). в чем разница между этимиparquet
реализации?
1 ответ
(отвечая только на 1), пожалуйста, разместите отдельные вопросы, чтобы было легче ответить)
_metadata
а также _common_metadata
являются вспомогательными файлами, которые не требуются для набора данных Parquet, эти файлы используются Spark/Dask/Hive/... для вывода метаданных всех файлов Parquet набора данных без необходимости считывать нижний колонтитул всех файлов. В противоположность этому Apache Drill создает аналогичный файл в каждой папке (по требованию), который содержит все нижние колонтитулы всех файлов Parquet. Только при первом запросе к набору данных все файлы читаются, дальнейшие запросы будут читать только тот файл, который кэширует все нижние колонтитулы.
Инструменты, использующие _metadata
а также _common_metadata
должен быть в состоянии использовать их, чтобы иметь более быстрое время выполнения, но не зависеть от них для операций. В случае, если они не существуют, тогда обработчику запросов просто нужно прочитать все нижние колонтитулы.