格式错误的 ORC 文件错误
Malformed ORC file error
将 Hive External table 从 RC 格式升级到 ORC 格式并 运行 MSCK REPAIR TABLE 当我 select 全部来自 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 格式的新定义的流程是什么 table 如果有的话?
Hive 不会在您添加分区时自动重新格式化数据。您有两个选择:
- 将旧分区保留为 RC 文件,并将新分区设为 ORC。
- 将数据移动到暂存区 table 并使用插入覆盖将数据重写为 ORC 文件。
Blockquote
添加Row format,input format和outformat解决create语句中的问题:
创建外部 table xyz
(
一个字符串,
b 串)
分区方式(
c 字符串)
行格式 SERDE
'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
存储为输入格式
'org.apache.hadoop.mapred.SequenceFileInputFormat'
输出格式
'org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat'
位置"hdfs path";
将 Hive External table 从 RC 格式升级到 ORC 格式并 运行 MSCK REPAIR TABLE 当我 select 全部来自 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 格式的新定义的流程是什么 table 如果有的话?
Hive 不会在您添加分区时自动重新格式化数据。您有两个选择:
- 将旧分区保留为 RC 文件,并将新分区设为 ORC。
- 将数据移动到暂存区 table 并使用插入覆盖将数据重写为 ORC 文件。
Blockquote
添加Row format,input format和outformat解决create语句中的问题:
创建外部 table xyz ( 一个字符串, b 串) 分区方式( c 字符串)
行格式 SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' 存储为输入格式 'org.apache.hadoop.mapred.SequenceFileInputFormat' 输出格式 'org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat'
位置"hdfs path";