Порядок следования в колонке, ориентированный на форматы, глава книги Hadoop - полное руководство?

На странице 137 Hadoop: полное руководство, 4-е издание, в нем рассказывается о файлах форматов, ориентированных на столбцы, и показана картинка ниже.

Почему в RCFile порядок следования чисел 1,4,2,5,3,6,7,10,8,11,9,12 скорее, чем 1,4,7,10,2,5,8,11,3,6,9,12?

1 ответ

Решение

Во-первых, RC - это не столбчатый файл, это Record Columnar file. RC, а также ORC являются разделяемыми. Это означает, что вы не читаете весь файл, чтобы получить только несколько строк, и он может быть прочитан параллельно многими контейнерами. И именно поэтому нам нужны расколы.

Разделители содержат строки, которые сгруппированы и могут считываться независимо друг от друга, и в то же время столбцы также группируются внутри разделений. Подобные данные можно сжать лучше, поэтому, если столбцы сгруппированы, это улучшает сжатие. В вашем примере один раздел содержит только две строки, но он может содержать 10000 или более строк.

Что говорится в официальной документации о файле RC:

  • Как хранилище строк, RCFile гарантирует, что данные в одной строке находятся в одном и том же узле.

  • Как хранилище столбцов, RCFile может использовать сжатие данных по столбцам и пропускать ненужные чтения столбцов.

Также читайте об ORC. Используя индексы в ORC, полосы могут быть легко отфильтрованы на самом низком уровне. Эта функция называется предикатом push down.

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