当前位置: 首页 > news >正文

MapReduce 读取 Hive ORC ArrayIndexOutOfBoundsException: 1024 异常解决

个人博客地址:MapReduce 读取 Hive ORC ArrayIndexOutOfBoundsException: 1024 异常解决 | 一张假钞的真实世界

在MR处理ORC的时候遇到如下异常:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1024
	at org.apache.orc.impl.RunLengthIntegerReaderV2.nextVector    (RunLengthIntegerReaderV2.java:369)
	at org.apache.orc.impl.TreeReaderFactory$BytesColumnVectorUtil.commonReadByteArrays    (TreeReaderFactory.java:1231)
	at org.apache.orc.impl.TreeReaderFactory$BytesColumnVectorUtil.readOrcByteArrays    (TreeReaderFactory.java:1268)
	at org.apache.orc.impl.TreeReaderFactory$StringDirectTreeReader.nextVector    (TreeReaderFactory.java:1368)
	at org.apache.orc.impl.TreeReaderFactory$StringTreeReader.nextVector    (TreeReaderFactory.java:1212)
	at org.apache.orc.impl.TreeReaderFactory$ListTreeReader.nextVector    (TreeReaderFactory.java:1902)
	at org.apache.orc.impl.TreeReaderFactory$StructTreeReader.nextBatch    (TreeReaderFactory.java:1737)
	at org.apache.orc.impl.RecordReaderImpl.nextBatch(RecordReaderImpl.java:1045)
	at org.apache.hadoop.hive.ql.io.orc.RecordReaderImpl.ensureBatch(RecordReaderImpl.java:77)
	at org.apache.hadoop.hive.ql.io.orc.RecordReaderImpl.hasNext(RecordReaderImpl.java:89)

通过搜索发现这个Bug在Hive 2.1.1版本中已经修复。我使用的就是这个版本,检查对应的源代码发现代码是已经按照下面的Patch修复过得:[HIVE-14483] java.lang.ArrayIndexOutOfBoundsException org.apache.orc.impl.TreeReaderFactory$BytesColumnVectorUtil.commonReadByteArrays - ASF JIRA

通过反编译发现我最终打包后的代码中使用的是未修复Bug的代码版本。通过依赖包发现依赖的以下模块中也包含ORC的Jar:

<dependency>
    <groupId>org.apache.orc</groupId>
    <artifactId>orc-mapreduce</artifactId>
    <version>1.1.0</version>
</dependency>

解决方法是将orc-mapreduce包升级到1.1.2版本,依赖配置如下:

<dependency>
    <groupId>org.apache.orc</groupId>
    <artifactId>orc-mapreduce</artifactId>
    <version>1.1.2</version>
</dependency>

相关文章:

  • Excell 代码处理
  • kafka基本知识
  • Prompt Engineering的重要性
  • JAVAweb-JS基本数据类型,变量,DOM,pop,push函数,事件
  • 【Python爬虫(47)】探秘分布式爬虫性能:从测试到优化之路
  • 哈希表入门到精通:从原理到 Python 实现全解析
  • 洛谷P9242 [蓝桥杯 2023 省 B] 接龙数列
  • 【SpringBoot教程】SpringBoot整合Caffeine本地缓存及Spring Cache注解的使用
  • SSI用量子计算来玩AI
  • 策略模式Spring框架下开发实例
  • AI(14)-prompt
  • 跟据spring boot版本,查看对应的tomcat,并查看可支持的tomcat的版本范围
  • Windows11安装GPU版本Pytorch2.6教程
  • [Android]文本多的时候让TextView的字体自动变小
  • 量子比特的实现与优化技术:解密量子计算的核心
  • 【Python爬虫(45)】Python爬虫新境界:分布式与大数据框架的融合之旅
  • 15-贪心算法
  • (面试经典问题之连接池篇)连接池构成、作用及其基本原理详解
  • mysql8.x导出文件给mysql5.7运行 【解决方案】
  • 玩转Docker | 使用Docker部署本地自托管reference速查表工具
  • 做的图怎么上传到网站/系统优化软件十大排名
  • 网站建设方案ppt 枫子科技/成都专业网站推广公司
  • 免费网站建设itcask/网站如何提升seo排名
  • 北京网站建设在线/性能优化大师
  • 学网站开发好找工作吗/武汉seo搜索优化
  • 普陀企业网站建设/外链平台