orc如何划分域?

vuv7lop3  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(458)

我知道这一定是个愚蠢的问题,但经过几个小时的谷歌搜索,我找不到答案。
在csv这样的纯文本格式中很容易理解分隔符是如何工作的。在orc中,既然是二进制存储在hdfs中,那么什么是字段的分隔符呢?我被告知兽人中没有定界符,但我对这一说法深表怀疑。
即使存储为行组,对于每个行组的一列,也可以有多个数据字段,如何区分每个字段和下一个字段?如何将每一行与下一行分开?是否有一个分隔符来实现这一点?
谢谢你的评论!

8yoxcaq7

8yoxcaq71#

没有分隔符。它使用步幅/条纹,
文件正文分为条带。每个条带都是自包含的,可以仅使用其自身的字节以及文件的页脚和postscript来读取。每个条带只包含整行,因此行永远不会跨越条带边界。条带有三个部分:条带内行的一组索引、数据本身和条带页脚。索引和数据节都按列划分,因此只需要读取所需列的数据。
参考:orc

相关问题