《hadoop最终指南》中面向列格式一章中的配置单元序列顺序?

mrfwxfqh  于 2021-06-01  发布在  Hadoop
关注(0)|答案(1)|浏览(329)

在hadoop:the definalite guide第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 ?

pdkcd3nj

pdkcd3nj1#

首先,rc不是列式文件,它是记录列式文件。rc和orc是可拆分的。这意味着您不必读取所有的文件,只获取很少的行,而且可以由许多容器并行读取。这就是为什么我们需要分裂。
拆分包含分组在一起的行,这些行可以彼此独立地读取,同时列也在拆分中分组。类似的数据可以得到更好的压缩,因此如果将列分组在一起,可以提高压缩效果。在您的示例中,一个拆分只包含两行,但可以包含10000行或更多行。
官方文件对rc文件的描述:
作为行存储,rcfile保证同一行中的数据位于同一节点中。
作为列存储,rcfile可以利用逐列数据压缩并跳过不必要的列读取。
也可以读一下兽人。使用orc中的索引,条纹可以很容易地在最低级别上过滤。这个特性称为 predicate 下推。

相关问题