来自Hive的文档:
如果表或分区包含许多小的RCFiles或ORC文件, 然后上述命令会将它们合并为更大的文件。的情况下 RCFile合并发生在块级别,而对于ORC文件, 合并发生在条带级别,从而避免了开销 对数据进行解压缩和解码。
我的问题是:块和条纹之间有什么区别?
答案 0 :(得分:2)
HDFS块是最低级别,ORC条带是较高级别,这些级别是完全独立的,ORC中的条带并不关心较低的存储层。
HDFS块:
ORC条纹:
上层存储。 Stripe对块一无所知。
ORC可在条带级别拆分。 HDFS对ORC结构以及如何对其进行拆分以进行处理一无所知。 HDFS将文件拆分为多个块以优化存储。单个容器中至少可以处理一条带。您可以配置条带大小以适合块大小。
一些有用的链接。请阅读以获得更好的理解: