Spark SQL-разница между форматами сжатия gzip vs snappy vs lzo

Я пытаюсь использовать Spark SQL для записи .

по умолчанию Spark SQL поддерживает gzip, но он также поддерживает другие форматы сжатия, такие как snappy и lzo.

в чем разница между этими форматами сжатия и какой из них лучше для работы с Hive загрузка.

2 ответов


просто попробуйте их на ваших данных.

lzo и snappy-это быстрые компрессоры и очень быстрые декомпрессоры, но с меньшим сжатием, по сравнению с gzip, который сжимается лучше, но немного медленнее.


используйте Snappy, если вы можете обрабатывать более высокое использование диска для преимуществ производительности (более низкий CPU + Splittable).

когда Spark переключился с GZIP на Snappy по умолчанию, это было рассуждение:

основываясь на наших тестах, декомпрессия gzip очень медленная (

шустрый:

  • Место Для Хранения: Высокий
  • ЦП Использование: Низкий
  • Splittable:да (1)

с помощью gzip:

  • Место Для Хранения: Средний
  • использование процессора: средний
  • Splittable:нет

1) http://boristyukin.com/is-snappy-compressed-parquet-file-splittable/