Генерация паркетных файлов - различия между R и Python

Мы создали parquet файл в Dask (Python) и с Drill (R используя Sergeant пакет). Мы заметили несколько проблем:

  1. Формат 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 должен быть в состоянии использовать их, чтобы иметь более быстрое время выполнения, но не зависеть от них для операций. В случае, если они не существуют, тогда обработчику запросов просто нужно прочитать все нижние колонтитулы.

Другие вопросы по тегам