如何在hivecdh中创建orc文件?

bkkx9g8r  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(392)

我可以用apache hadoop或hortonworks的hdp轻松创建orc文件格式:

CREATE TABLE ... STORED AS ORC

然而,这在cloudera的cdh4.5中不起作用(惊喜!)我得到:
失败:semanticexception无法识别存储为子句中的文件格式:orc
因此,作为替代方案,我尝试下载并安装包含orc类的HiveJar:

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的配置单元中创建orc表?

9udxz4iz

9udxz4iz1#

cdh4.5包含hive0.10,请参阅cdh4.5.0版的打包和tarballs。orc是在hive0.11中添加的,请参阅发行说明和hive-3874:为hive创建新的优化行-列文件格式。
cdh5现在是beta版,但它确实包含hive0.11,请参阅cdh5.0.0beta1版。

相关问题