Hadoop 使用ORC文件格式的缺点是什么?

Hadoop 使用ORC文件格式的缺点是什么?,hadoop,hive,hiveql,Hadoop,Hive,Hiveql,我读过很多关于ORC文件格式在压缩和快速查询方面有多好的文章,特别是与拼花地板格式相比。 我了解ORC如何将数据跨行组拆分,将其细分为列组,以及如何使用元数据和内部统计信息跳过整个数据块。我理解它对Hive、查询加速以及需要Hive ACID事务的情况下特别有用 使用ORC有什么明显的缺点吗? 我想简明扼要地介绍一下你什么时候绝对不想使用兽人。到目前为止,我已经发现了一些模糊的提示,说明它“与Spark不兼容”,并且“与嵌套数据相比效率较低”,我想更好地理解为什么会这样 抱歉如果这是一个重复的问

我读过很多关于ORC文件格式在压缩和快速查询方面有多好的文章,特别是与拼花地板格式相比。 我了解ORC如何将数据跨行组拆分,将其细分为列组,以及如何使用元数据和内部统计信息跳过整个数据块。我理解它对Hive、查询加速以及需要Hive ACID事务的情况下特别有用

使用ORC有什么明显的缺点吗?

我想简明扼要地介绍一下你什么时候绝对不想使用兽人。到目前为止,我已经发现了一些模糊的提示,说明它“与Spark不兼容”,并且“与嵌套数据相比效率较低”,我想更好地理解为什么会这样


抱歉如果这是一个重复的问题,我还没有找到一个关于这个问题的完整答案。

让我们跳到拼花地板的一个场景是,在Spark 2.3之前,ORC没有矢量化的阅读器。他们正在研究spark中拼花地板和兽人之间的功能对等,spark 2.3在实现这一点上确实走了很长的路

我们在一个合理的大桌子上做了一个基准测试,并用一个窗口函数来计算一些复杂的东西,并且用spark 2.1轻松击败了orc。在宽表(500多列)上,这一点变得非常明显。但当谈到Spark 2.3时,我们的性能几乎相同。还需要注意的是,spark 2.3还附带了一个较新版本的orc,因此使用它和使用新spark读取旧表之间也存在性能差异

你可以在他们的JIRA板上了解更多