HDFS и Hive Storage — сравнение форматов файлов и методов сжатия
Несколько дней назад мы провели тест, чтобы сравнить различные форматы файлов Hive и методы сжатия. Некоторые из этих форматов файлов являются собственными для HDFS и применимы ко всем пользователям Hadoop. Набор тестов состоит из аналогичных запросов Hive, которые создают таблицу, в конечном итоге устанавливают тип сжатия и загружают тот же набор данных в новую таблицу. Среди всех запросов мы протестировали форматы “файл последовательности”, “текстовый файл” и “RCFILE”, а также кодеки сжатия “default”, “bz”, “gz”, “LZO” и “Snappy”.
4 апреля 2012: Ответ на комментарий Хучева относительно LZ4.
Настройка
Среда представляет собой кластер Hadoop объемом 20 узлов и 120 терабайт, работающий под управлением Cloudera. CDH3U3. Исходный набор данных представляет собой папку 1.33 Go с 80 сжатыми и нерасщепляемыми файлами “bz2” внутри. Данные внутри отформатированы в формате CSV и содержат в общей сложности около 125 000 000 строк.
Ниже приведен пример запроса Hive, импортирующего данные с использованием “RCFILE” из формата HBase со сжатием “LZO”:
_BOS_ Подготовьте ТАБЛИЦУ СОЗДАНИЯ rc_lzo (клиентский BIGINT, ctime INT, mtime INT, строка кода, value_1 INT, value_2 INT ). СОХРАНЯЕТСЯ КАК RCFILE; — При сжатии УСТАНОВИТЕ hive.exec.compress.output=true; УСТАНОВИТЕ mapred.output.compression.codec=com.hadoop.compression.lzo.LzoCodec; — ИМПОРТИРУЙТЕ, ВСТАВЬТЕ, ПЕРЕЗАПИШИТЕ ТАБЛИЦУ rc_lzo, ВЫБЕРИТЕ * ИЗ ( ВЫБЕРИТЕ клиент, округлите(ctime/1000), округлите(mtime/1000), код, значение_1, значение_2 ИЗ промежуточного этапа ) T;
Результаты
В таблице ниже приведены результаты, которые мы получили. Столбцы запроса описывают тип теста. Название запроса начинается с формата файла, за которым следует кодек сжатия. Сообщалось о типах сжатия “блок” и “запись” для формата “файл последовательности” и кодека сжатия “по умолчанию”.
Семейство запросов “serdesf” использует пользовательский SerDe, который при необходимости кодирует каждый столбец в меньшем размере. В нашем случае код может быть сохранен в виде 1 символа (1 байта), значение_2 может быть представлено как разница между ним и значением_1 (2 байта). В целом, строка хранится в виде 16 байт по сравнению с 65 байтами изначально.
Запрос “bss” использует сериализацию BinarySortableSerDe, которая представляет собой пользовательский набор данных Hive, который мы связали с форматом “файл последовательности”.
на “b64” семья запросов использует пакет base64 в настоящее время в проекте куст ВНО.
<таблица class="мин-ж-полный границу-отдельная граница-интервал-0"> <ТР> запросй><й class="липкий топ-0 з-10 границы-границы б-серо-500 БГ-шифер-200 БГ-непрозрачность-85 РУ-3.5 ПЛ-4 пр-3 текст-слева текст-см шрифт-полужирный текст-серо-900 фона-размытие фона-фильтр см модель:PL-6 для LG:ПЛ-8">Времяй><й class="липкий топ-0 з-10 границы-границы б-серо-500 БГ-шифер-200 БГ-непрозрачность-85 РУ-3.5 ПЛ-4 пр-3 текст-слева текст-см шрифт-полужирный текст-серо-900 фона-размытие фона-фильтр см модель:PL-6 ЛГ:ПЛ-8">размерй> тр> <элемента tbody class="[&_tr:п-й ребенок(нечетные)]:БГ-белый [&_tr:п-й ребенок(даже)]:БГ-шифер-50"> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">СФтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">2мин 3Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">7.91 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">sf_stringтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">2мин 22Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">8.72 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">sf_df_blockтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">2мин 17Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">8.72 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">sf_df_recordтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">2мин 12сектд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">7.32 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">sf_bzтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">2ч 43mn 24Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">9.9 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">sf_gzтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">2мин 29Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">8.72 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">sf_lzoтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">2мин 36Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">8.80 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">sf_snappyтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">3млн 55 сектд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">8.23 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">ТФтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">1мн 45 об/минтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">6.44 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">tf_bzтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">2мин 14Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">1.12 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">tf_dfтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">2мин 16Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">1.12 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">tf_gzтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">48Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">1.34 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">tf_lzoтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">1мн 28Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">2.41 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">tf_snappyтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см:ЛП-6ЛГ:ПЛ-8">1мн 2Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">2.55 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">вертолеттд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">1мн 30-х годовтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">5.78 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">rc_dfтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">5мин 15Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">917.68 МОтд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">rc_gzтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">4млн 36Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">917.80 МОтд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">rc_snappyтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">52Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">1.85 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">rc_lzoтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">38Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">1.67 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">serdesfтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">59стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">3.63 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">serdesf_dfтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">1мн 27Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">4.61 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">serdesf_bzтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">3ч 6млн 9Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">9.63 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">serdesf_gzтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">1мн 51Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">6.02 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">serdesf_snappyтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">1мн 35Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">4.80 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">БССтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">1мн 25Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">5.73 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">b64тд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">2мин 5Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">9.17 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">b64_bzтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">21млн 15Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">1.14 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">b64_dfтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">21млн 25Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">1.14 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">b64_gzтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">53Стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">1.62 перейтитд> тр> <тр> <тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">b64_snappyтд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 для LG:ПЛ-8">59стд><тд class="пробел-без переноса границы-границы б-серо-200 РУ-2, МН-4 пр-3 текст-см шрифта-Средний текст-серо-900 см модель:PL-6 ЛГ:ПЛ-8">2.89 перейтитд> тр> элемента> стол>
Заметки
мы хотели бы запустить тесты по большим набором входных данных с более распространенным форматом а кластер время является дефицитным ресурсом на данный момент. В результате размеры файлов, вероятно, являются репрезентативными, но результаты по скорости следует интерпретировать с осторожностью.
Скорость зависит только от времени импорта (при использовании нестандартных файлов в качестве входных данных), а не от того, насколько быстро эти форматы сопоставляются с заданиями map/reduce.
В рамках теста мы также протестировали блочный тип сжатия на других типах кодеков но они не возымели никакого эффекта, поэтому мы пришли к выводу, что тип блока применяется только к кодеку по умолчанию в файлах последовательности.
Мы попытались запустить тест serdesf в аналогичном режиме, но используя формат RCFILE вместо файла последовательности, но результаты идентичны запросам семейства rc.
Интерпретация
Запрос “tf” действует как ссылка, поскольку он хранит наши данные в несжатом формате CSV. Немного неудобно видеть, что все запросы “файл последовательности” генерируют файл большего размера. Это не то, чего мы ожидали, но, возможно, это связано с тем, что мы часто используем тип integer.
С точки зрения размера файла, формат “RCFILE” со сжатием “по умолчанию” и “gz” дает наилучшие результаты. Сервер “base64”, использующий “файл последовательности” со сжатием “bz” и “по умолчанию”, не так уж далек от этого. Однако результаты “base64” достаточно медленные, чтобы их можно было обойти.
С точки зрения скорости, форматы “RCFILE” с “lzo” и “snappy” работают очень быстро, сохраняя при этом высокую степень сжатия.
О LZ4
Мы не тестировали LZ4. Исходя из нашего понимания HADOOP-7657, поддержка LZ4 предназначена для Hadoop версий 0.23.1, 0.24.0 и не перенесена в нашу запущенную Cloudera CDH3U3. Если вам интересно узнать о LZ4, вот интересная статья, в которой сравниваются LZ4 и Snappy. Также стоит отметить тест самых быстрых компрессоров в памяти.
Другие новости: