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