报错日志如下

可以看出报错的地方再OrcFile的WriterVersion的from方法,定位代码发生在下面代码的values[val]代码段。values的值从代码可以看出values的数据应该为5,见下图代码

而传过来的val是6,向上看代码,version来源是文件的meta,应该是spark版本的原因导致hive不支持的version。

解决

修改OrcFile文件的WriterVersion的内部类的from方法:

public static WriterVersion from(int val) {
      if (val >= values.length) return FUTURE; // Special handling for the magic value.
      return values[val];
    }

重新打包,并替换hive-exec.jar 和 hive-orc.jar 

 

 

 

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐