You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Hadoop集群运行Spark Pipeline时遇java.lang.NoSuchFieldError: HIVE_LOCAL_TIME_ZONE错误

java.lang.NoSuchFieldError: HIVE_LOCAL_TIME_ZONE 问题排查

基本情况

  • 技术栈:Spark 3.2.4、JDK 1.8、Scala 2.11.12
  • 部署方式:打包成Uber-Jar后通过spark-submit提交
  • 依赖处理:Maven中单独引入hive-serde:3.1.4以解决之前的错误
  • 业务流程:从Hive表读取数据,处理后写入Hive表,错误在云环境触发
  • 疑问:该错误是否由Jar包冲突导致?

报错日志

23/10/04 09:20:11 INFO yarn.ApplicationMaster: Final app status: FAILED, exitCode: 15, (reason: User class threw exception: java.lang.NoSuchFieldError: HIVE_LOCAL_TIME_ZONE
    at org.apache.hadoop.hive.serde2.lazy.LazySerDeParameters.extractColumnInfo(LazySerDeParameters.java:166)
    at org.apache.hadoop.hive.serde2.lazy.LazySerDeParameters.<init>(LazySerDeParameters.java:92)
    at org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe.initialize(LazySimpleSerDe.java:116)
    at org.apache.spark.sql.hive.execution.HiveTableScanExec.addColumnMetadataToConf(HiveTableScanExec.scala:125)
    at org.apache.spark.sql.hive.execution.HiveTableScanExec.hadoopConf$lzycompute(HiveTableScanExec.scala:101)
    at org.apache.spark.sql.hive.execution.HiveTableScanExec.hadoopConf(HiveTableScanExec.scala:98)
    at org.apache.spark.sql.hive.execution.HiveTableScanExec.hadoopReader$lzycompute(HiveTableScanExec.scala:110)
    at org.apache.spark.sql.hive.execution.HiveTableScanExec.hadoopReader(HiveTableScanExec.scala:105)
    at org.apache.spark.sql.hive.execution.HiveTableScanExec.$anonfun$doExecute$2(HiveTableScanExec.scala:211)

结论:就是Jar包冲突导致的

Spark 3.2.4默认依赖的Hive版本是2.3.9,你手动引入的hive-serde:3.1.4和这个版本存在API不兼容问题:

  • HIVE_LOCAL_TIME_ZONE字段是Hive 3.x版本新增的,而Spark自带的Hive 2.3.9中没有该字段
  • 打包Uber-Jar时同时包含了两个版本的Hive类,类加载器加载到不匹配的类后,就会触发找不到字段的错误

解决办法

  1. 移除手动引入的hive-serde:3.1.4依赖,直接使用Spark自带的Hive SerDe版本
  2. 如果必须使用Hive 3.x的特性,需要将所有Hive相关依赖统一为3.x版本,同时注意Spark 3.2.x官方仅支持Hive 0.13到2.3.x,使用Hive 3.x可能存在更多兼容性问题
  3. 打包时给Hive相关依赖添加provided范围,避免将集群已有的Hive Jar包打入Uber-Jar,从根源减少冲突概率

内容的提问来源于stack exchange,提问作者Yo Yo Money Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 09:15:21