登录
首页 >  Golang >  Go问答

在使用Apache Beam Spark Runner运行Go示例时遇到com.fasterxml.jackson.databind.type的java.lang.NoSuchMethodError错误

来源:stackoverflow

时间:2024-03-01 08:24:26 220浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《在使用Apache Beam Spark Runner运行Go示例时遇到com.fasterxml.jackson.databind.type的java.lang.NoSuchMethodError错误》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

我想在一个主服务器和两个从服务器(spark2.4.5 版本)的 spark 集群上使用 spark runner 运行 apache beam go sdk 提出的成绩示例。我使用 ./gradlew :runners:spark:2:job-server:runshadow -psparkmasterurl=spark://localhost:7077 启动作业运行程序,并使用以下命令运行它: grades -runner=spark -endpoint=localhost:第8099章

但是我收到以下错误。

2021/10/08 11:42:34  (): org.apache.beam.sdk.Pipeline$PipelineExecutionException: java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.type.TypeBindings.emptyBindings()Lcom/fasterxml/jackson/databind/type/TypeBindings;
   at org.apache.beam.runners.spark.SparkPipelineResult.beamExceptionFrom(SparkPipelineResult.java:73)
   at org.apache.beam.runners.spark.SparkPipelineResult.waitUntilFinish(SparkPipelineResult.java:104)
   at org.apache.beam.runners.spark.SparkPipelineResult.waitUntilFinish(SparkPipelineResult.java:92)
   at org.apache.beam.runners.spark.SparkPipelineRunner.run(SparkPipelineRunner.java:199)

我认为问题可能来自 spark 作业运行程序,因为我使用 python 测试了另一个代码,并且得到了相同的错误。 任何帮助将不胜感激


正确答案


抱歉回复晚了,我只是在研究相关问题。

不幸的是,spark 2 作业服务器在升级 beam 中使用的 jackson 版本时被破坏。默认情况下,spark 首先从其自己的系统类路径加载类。该类路径包含一个非常过时的 jackson 版本,它不再与 beam 兼容。

虽然在向 spark 提交 beam java 应用程序时有解决这个问题的方法,但不幸的是,这些方法不适用于 spark 作业服务器。看 https://github.com/apache/beam/issues/23568了解更多详情。

此外,beam 中已弃用 spark 2 支持。

我建议改为运行 spark 3 的作业服务器。

./gradlew :runners:spark:3:job-server:runShadow -PsparkMasterUrl=spark://localhost:7077

今天关于《在使用Apache Beam Spark Runner运行Go示例时遇到com.fasterxml.jackson.databind.type的java.lang.NoSuchMethodError错误》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>