Порядок следования в колонке, ориентированный на форматы, глава книги Hadoop - полное руководство?
1 ответ
Во-первых, RC - это не столбчатый файл, это Record Columnar file. RC, а также ORC являются разделяемыми. Это означает, что вы не читаете весь файл, чтобы получить только несколько строк, и он может быть прочитан параллельно многими контейнерами. И именно поэтому нам нужны расколы.
Разделители содержат строки, которые сгруппированы и могут считываться независимо друг от друга, и в то же время столбцы также группируются внутри разделений. Подобные данные можно сжать лучше, поэтому, если столбцы сгруппированы, это улучшает сжатие. В вашем примере один раздел содержит только две строки, но он может содержать 10000 или более строк.
Что говорится в официальной документации о файле RC:
Как хранилище строк, RCFile гарантирует, что данные в одной строке находятся в одном и том же узле.
Как хранилище столбцов, RCFile может использовать сжатие данных по столбцам и пропускать ненужные чтения столбцов.
Также читайте об ORC. Используя индексы в ORC, полосы могут быть легко отфильтрованы на самом низком уровне. Эта функция называется предикатом push down.