块和条带有什么区别?

vsaztqbk  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(727)

从hive的文档中:
如果表或分区包含许多小的rcfile或orc文件,那么上面的命令将把它们合并成更大的文件。对于rcfile,合并发生在块级别,而对于orc文件,合并发生在条带级别,从而避免了数据解压缩和解码的开销。
我的问题是:块和条有什么区别?

cpjpxq1n

cpjpxq1n1#

hdfs块是最底层,orc条带是上层,这些层是完全独立的,在orc条带中不关心下层存储层。
hdfs块:
hdfs块是最低级别的,独立于文件格式。hdfs将文件分块以优化存储。
一个条带可以存储在多个块中,一个块可以包含多个条带或条带的一部分。hdfs将分割文件,而不考虑条带格式或文件格式。
hdfs存储每个文件块的元数据,写入和读取文件对上层orc阅读器是透明的,hdfs将负责所有的块。
兽人条纹:
上层仓库。stripe对积木一无所知。
兽人在条纹级是可分割的。hdfs对orc结构以及如何将其拆分以进行处理一无所知。hdfs将文件分块以优化存储。在单个容器中至少可以处理一个条纹。您可以配置条带大小以适应块大小。
一些有用的链接。请阅读以便更好地理解:
hdfs块
hdfs块与条带
orc优化
大兽人条纹和s3块填充-非常有用的博客

相关问题