Hadoop 权威指南的面向列的格式章节中的序列顺序?

Sequence order in the column oriented formats chapter of book Hadoop the definitive guide?

Hadoop:权威指南第 4 版的第 137 页中,它谈到了面向列的格式文件,并显示了下图。

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

首先,RC不是柱状文件,它是记录柱状文件。 RC 和 ORC 是可拆分的。这意味着您不会读取所有文件而只获取几行,并且可以由许多容器并行读取。这就是我们需要拆分的原因。

拆分包含分组在一起的行并且可以彼此独立读取,同时列也分组在拆分内.相似的数据可以更好地压缩,所以如果将列组合在一起,它可以提高压缩率。在您的示例中,一个拆分包含 仅两行 ,但它可以包含 10000 行或更多行。

官方documentation对RC文件的评价:

  • 作为行存储,RCFile保证同一行中的数据位于 在同一个节点中。

  • 作为列存储,RCFile 可以利用列数据压缩和 跳过不必要的列读取。

另请参阅 ORC。使用 ORC 中的索引,可以轻松地在最低级别上过滤条带。此功能称为谓词下推。