格式错误的ORC文件错误

时间:2015-02-05 17:20:31

标签: hadoop hive

当Hive External表从RC升级到ORC格式并在我从表中选择all时运行MSCK REPAIR TABLE时,我收到以下错误 -

Failed with exception java.io.IOException:java.io.IOException: Malformed ORC file hdfs://myServer:port/my_table/prtn_date=yyyymm/part-m-00000__xxxxxxxxxxxxx Invalid postscript length 1

将RC格式的历史数据迁移到同一个表的ORC格式化新定义时应遵循的流程是什么?

2 个答案:

答案 0 :(得分:4)

添加分区时,Hive不会自动重新格式化数据。你有两个选择:

  1. 将旧分区保留为RC文件并创建新分区ORC。
  2. 将数据移动到临时表,并使用insert overwrite将数据重写为ORC文件。

答案 1 :(得分:-1)

  

Blockquote

添加行格式,输入格式和外部格式以解决create语句中的问题:

创建外部表xyz ( 一个字符串, b字符串)  被(   c字符串)

行格式序列 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' 存储为INPUTFORMAT   'org.apache.hadoop.mapred.SequenceFileInputFormat' 输出格式     'org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat'

位置“ hdfs路径”;