hadoop - 如何在 Hive CDH 中创建 ORC 文件?

标签 hadoop hive cloudera dataformat hortonworks-data-platform

我可以在 Apache Hadoop 或 Hortonworks 的 HDP 中轻松创建 ORC 文件格式:

CREATE TABLE ... STORED AS ORC

但是这在 Cloudera 的 CDH 4.5 中不起作用。 (惊喜!)我得到:

FAILED: SemanticException Unrecognized file format in STORED AS clause: ORC

因此,作为替代方案,我尝试下载并安装包含 ORC 类的 Hive jar:

hive> add jar /opt/cloudera/parcels/CDH-4.5.0-1.cdh4.5.0.p0.30/lib/hive/lib/hive-exec-0.11.0.jar;

然后创建我的 ORC 表:

hive>    CREATE TABLE test (name STRING)

> row format serde
> 'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
>  stored as inputformat
>   'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'   
>   outputformat
>   'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat';
OK

但是从一些 CSV 数据插入到这个表中时,我得到一个错误:

hive> INSERT OVERWRITE TABLE test 
> SELECT name FROM textdata;

    Diagnostic Messages for this Task:
java.lang.RuntimeException: Error in configuring object
    at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
    at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:413)

如何在CDH中的Hive中创建ORC表?

最佳答案

CDH 4.5 包含 Hive 0.10,参见 CDH Version 4.5.0 Packaging and Tarballs . Hive 0.11 中添加了 ORC,请参阅 release notesHIVE-3874: Create a new Optimized Row Columnar file format for Hive .

CDH 5 现在处于 Beta 阶段,但它确实包含 Hive 0.11,请参阅 CDH Version 5.0.0 Beta 1 .

关于hadoop - 如何在 Hive CDH 中创建 ORC 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21345069/

相关文章:

hadoop - 与 apache pig latin 中的 GROUP 相对?

hadoop - 表格编程

hadoop - 如何获取 hdfs 文件上最后添加的数据?

mysql - 根据其他行的值计算百分比

hadoop - hql查询报错

hadoop - 在包含空间的路径中使用jar设置mapreduce.job.jar

hadoop - 重启后 HDFS block 损坏

java.lang.ClassCastException : class org. json.JSONObject 在 MapReduce 程序中

hadoop - 减少映射器和缩减器以在 Hive 中对非常大的表/ View 进行简单查询

azure - Cloudera - 启动服务 - NameNode 未格式化