【问题标题】:Malformed ORC file error格式错误的 ORC 文件错误
【发布时间】:2019-11-01 19:33:34
【问题描述】:

将 Hive 外部表从 RC 升级到 ORC 格式并在我从表中全选时在其上运行 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 格式的新定义(如果有的话)的过程是什么?

【问题讨论】:

    标签: hadoop hive


    【解决方案1】:

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

    1. 将旧分区保留为 RC 文件,并将新分区设为 ORC。
    2. 将数据移动到临时表并使用插入覆盖将数据重写为 ORC 文件。

    【讨论】:

      【解决方案2】:

      块引用

      添加Row格式、输入格式和输出格式,解决create语句中的问题:

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

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

      定位“hdfs路径”;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多