Я хочу использовать данные только для искры, тогда какой формат файла лучше для улья? - PullRequest
0 голосов
/ 15 июня 2019

Я хочу получить доступ к таблице только для spark, в каком формате мне следует хранить данные таблицы в улье?(orc или паркет или авро или csv или текст или последовательность) ??почему ??

Я не собираюсь использовать эту таблицу где-либо, я просто использую ее для зажигания.

1 Ответ

1 голос
/ 16 июня 2019

Поскольку этот вопрос еще не закрыт, я постараюсь ответить и привести некоторые аргументы.

  1. Поскольку была добавлена ​​поддержка встроенного в Spark 2.3 встроенного ORC, а также были устранены многие проблемы с ORC, например:векторизованное чтение и запись, предикатное нажатие, эволюция схемы, использование индекса и фильтра Блума и многие другие улучшения и исправления.До Spark 2.3 лучше использовать Parquet, он работает намного быстрее и свободен от многих проблем.Также в соответствии с презентацией Hortonworks некоторые сложные типы не могут использоваться в ORC с собственной поддержкой, также продолжается работа с собственной поддержкой ORID ORC.Если эти ограничения являются критическими, используйте паркет.

  2. ORC гораздо лучше поддерживается в Hive на MR и Tez с самого начала: векторизация, PPD и ACID будут работать с ORC в штрафной в Hive.Вы сказали, что он будет использоваться только в Spark, но кто знает, кто также запросит ваши таблицы и почему вы упомянули Hive в этом вопросе.Программное обеспечение Analytics / BI может использовать Hive, а не Spark.

  3. Формат последовательности, текстовый файл и файл avro, которые вы также упомянули, нельзя даже сравнить с ORC и Parquet из-за отсутствия многих функций, таких как PPD, векторизация и ACID.Sequence - это разделяемый контейнер, который вам не нужен для Parquet или ORC, они также разделяемы.

Проверьте эту презентацию Hortonworks: orc-Improve-In-Apache-Spark-2-3 - содержит подробности улучшений, сравнение с паркетом, тесты производительности и некоторые ограничения.

...