spark2.x升3.x

背景

  • 现在有个需求,将spark2的代码迁到spark3上。代码中使用了xgboost包,该包不在集群默认配置中,可以算是一个三方的包了。对应仓库
  • 所以我们在提交任务前应该将仓库下载的依赖包放到hdfs目录中,并且提交任务时应该指定好xgboost的jar目录。(下面这些都是我放进去的,因为一直报错,以为是xgb版本的问题,所以都试了试)在这里插入图片描述

报错如下

在这里插入图片描述

个人解决方法(每个人的情况不同,本文仅作记录用)

  • 因为之前用的spark2.0,scala2.11,历史的xgb-jar包还在放hdfs上,现在将hdfs的三方xgb依赖包2.11版本的去掉,仅保留2.12的即可。(按理说pom文件依赖已经指明了2.12,进程还去解析2.11的xgb依赖,服了。)
  • 之前的配置参数:
    • <scala.version>2.11.12</scala.version>
      <scala.binary.version>2.11</scala.binary.version>
      <java.version>1.8</java.version>
      <spark.version>2.4.8</spark.version>
      <xgboost.version>1.1.2</xgboost.version>
  • 现在的
    • <scala.version>2.12.18</scala.version>
      <scala.binary.version>2.12</scala.binary.version>
      <java.version>1.8</java.version>
      <spark.version>3.2.3</spark.version>
      <xgboost.version>1.4.1</xgboost.version>
      <hadoop.version>3.3.6</hadoop.version>
      <hive.version>3.1.3</hive.version>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值