Spark提交任务出现的错误:scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object;

概述

操作:spark 操作kudu时编写代码打成package使用spark-submit提交任务

使用spark-submit 提交任务时出现如下错误:

Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object;
        at org.apache.spark.sql.SparkSession$Builder.config(SparkSession.scala:804)
        at org.apache.spark.sql.SparkSession$Builder.appName(SparkSession.scala:795)
        at com.hikvision.idatalight.workbench.modules.SparkReadKuduApp$.main(SparkReadKuduApp.scala:22)
        at com.hikvision.idatalight.workbench.modules.SparkReadKuduApp.main(SparkReadKuduApp.scala)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:730)
        at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)
        at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)
        at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)
        at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

提交的脚本

nohup spark-submit \
--class com.test.modules.SparkReadKuduApp \
--master yarn \
--deploy-mode cluster \
/apps/dev/test-1.0.0-jar-with-dependencies.jar >zy.log &

解决方案:

  1. 版本问题
    查看idea中使用的版本和生产环境中是否一致

网上贴出的问题解决方案基本都是这样说的,但是我本人查看了版本确实是一致的,因此排除。
后面我发现了一个问题我们spark版本用的时cdh的:saprk 2.3-cdh-5.16。这才是问题所在。。。看解决方案二.

  1. spark2-submit
    cdh版本的spark2.3 已经把spark-submit 改成spark2-submit了 。。。。因此提交脚本改成如下:
nohup spark2-submit \
--class com.test.modules.SparkReadKuduApp \
--master yarn \
--deploy-mode cluster \
/apps/dev/test-1.0.0-jar-with-dependencies.jar >zy.log &

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值