首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >火花-提交: NoSuchMethodError: NoSuchMethodError

火花-提交: NoSuchMethodError: NoSuchMethodError
EN

Stack Overflow用户
提问于 2022-11-17 19:55:51
回答 1查看 27关注 0票数 0

该方法属于SparkSession,名称为getOrCreate()

详细的例外是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.JsonMappingException.<init>(Ljava/io/Closeable;Ljava/lang/String;)V
    at com.fasterxml.jackson.module.scala.JacksonModule.setupModule(JacksonModule.scala:61)
    at com.fasterxml.jackson.module.scala.JacksonModule.setupModule$(JacksonModule.scala:46)
    at com.fasterxml.jackson.module.scala.DefaultScalaModule.setupModule(DefaultScalaModule.scala:17)
    at com.fasterxml.jackson.databind.ObjectMapper.registerModule(ObjectMapper.java:718)
    at org.apache.spark.util.JsonProtocol$.<init>(JsonProtocol.scala:62)
    at org.apache.spark.util.JsonProtocol$.<clinit>(JsonProtocol.scala)
    at org.apache.spark.scheduler.EventLoggingListener.initEventLog(EventLoggingListener.scala:89)
    at org.apache.spark.scheduler.EventLoggingListener.start(EventLoggingListener.scala:84)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:610)
    at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2690)
    at org.apache.spark.sql.SparkSession$Builder.$anonfun$getOrCreate$2(SparkSession.scala:949)
    at scala.Option.getOrElse(Option.scala:189)
    at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:943)
    at com.hiido.server.service.impl.SparkSqlJob.executing(SparkSqlJob.java:56)
    at com.hiido.server.service.impl.SparkSqlJob.main(SparkSqlJob.java:47)
    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.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:737)

有人说这是因为版本冲突,我不同意。因为我已经检查了我的火花版本,它是spark_core_2.12-3.2.1,杰克逊版本是2.12.3,spark_version是3.2.1-bin-hadoop2.7,我不知道这个问题。这个问题只会在星星团中发生,当我使用本地的时候就没问题了。谢谢。

补充:这是我的pom.xml,我只显示我的虔诚,斯里

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <properties>
        <java.version>1.8</java.version>
        <geospark.version>1.2.0</geospark.version>
        <spark.compatible.verison>2.3</spark.compatible.verison>
        <!--<spark.version>2.3.4</spark.version>-->
        <spark.version>3.2.1</spark.version>
        <hadoop.version>2.7.2</hadoop.version>
        <geotools.version>19.0</geotools.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>


        <!-- https://mvnrepository.com/artifact/io.netty/netty-all -->
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
            <version>4.1.68.Final</version>
        </dependency>


        <!--        <dependency>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-databind</artifactId>
                    <version>2.4.4</version>
                </dependency>-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId> jackson-annotations</artifactId>
            <version>2.12.3</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId> jackson-core</artifactId>
            <version>2.12.3</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.12.3</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.codehaus.janino</groupId>
            <artifactId>commons-compiler</artifactId>
            <version>3.0.8</version>
        </dependency>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>2.12.15</version>
        </dependency>
        <!-- geospark -->
        <dependency>
            <groupId>org.datasyslab</groupId>
            <artifactId>geospark</artifactId>
            <version>${geospark.version}</version>
        </dependency>
        <dependency>
            <groupId>org.datasyslab</groupId>
            <artifactId>geospark-sql_${spark.compatible.verison}</artifactId>
            <version>${geospark.version}</version>
        </dependency>
        <dependency>
            <groupId>org.datasyslab</groupId>
            <artifactId>geospark-viz_${spark.compatible.verison}</artifactId>
            <version>${geospark.version}</version>
        </dependency>
        <!-- geospark -->
        <dependency>
            <groupId>org.apache.sedona</groupId>
            <artifactId>sedona-core-3.0_2.12</artifactId>
            <version>1.1.1-incubating</version>
        </dependency>
        <dependency>
            <groupId>org.apache.sedona</groupId>
            <artifactId>sedona-sql-3.0_2.12</artifactId>
            <version>1.1.1-incubating</version>
        </dependency>
        <dependency>
            <groupId>org.apache.sedona</groupId>
            <artifactId>sedona-viz-3.0_2.12</artifactId>
            <version>1.1.1-incubating</version>
        </dependency>


        <dependency>
            <groupId>org.datasyslab</groupId>
            <artifactId>sernetcdf</artifactId>
            <version>0.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.12</artifactId>
<!--            <version>2.3.4</version>-->
            <version>3.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming_2.12</artifactId>
            <version>3.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.12</artifactId>
            <version>3.2.1</version>
            <!--<scope>provided</scope>-->
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-hive_2.12</artifactId>
            <version>3.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-mllib_2.12</artifactId>
            <version>3.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-mapreduce-client-core</artifactId>
            <version>${hadoop.version}</version>
            <scope>${dependency.scope}</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>${hadoop.version}</version>
            <scope>${dependency.scope}</scope>
        </dependency>
        <dependency>
            <groupId>net.sourceforge.javacsv</groupId>
            <artifactId>javacsv</artifactId>
            <version>2.0</version>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>42.2.5</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.janino</groupId>
            <artifactId>janino</artifactId>
            <version>3.0.8</version>
        </dependency>


        <dependency>
            <groupId>org.geotools</groupId>
            <artifactId>gt-grid</artifactId>
            <version>${geotools.version}</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.locationtech.spatial4j/spatial4j -->
        <dependency>
            <groupId>org.locationtech.spatial4j</groupId>
            <artifactId>spatial4j</artifactId>
            <version>0.8</version>
        </dependency>
        <!-- JTS is essentially only used for polygons. -->
        <!-- https://mvnrepository.com/artifact/org.locationtech.jts/jts-core -->
        <dependency>
            <groupId>org.locationtech.jts</groupId>
            <artifactId>jts-core</artifactId>
            <version>1.18.1</version>
        </dependency>
    </dependencies>
EN

回答 1

Stack Overflow用户

发布于 2022-11-22 16:19:30

这很可能是由Maven pom.xml中错误的打包策略造成的。

  1. 您的POM.xml包含许多不应该放在“编译”范围内的包。例如,火花和hadoop依赖关系。星系团通常已经拥有了所有这些库。如果您错误地将它们包含在您的罐子中,那么是否会使用哪个杰克逊版本是不确定的。请将其更改为“提供”范围。Spark和Sedona开发人员通常做的是,使用compile作用域进行本地测试,并在部署到集群时更改为provided范围.

  1. 通常不需要包含Hadoop依赖项,因为Spark附带了许多Hadoop依赖项。这将导致JackSon.

中的许多版本冲突。

  1. 您的GeoSpark依赖是错误的。请同时删除旧的https://sedona.apache.org/setup/maven-coordinates/#use-sedona-fat-jars

和Sedona的依赖项,并按照以下说明操作: GeoSpark

下面是Sedona + Spark项目的一个可运行示例:https://github.com/apache/incubator-sedona/blob/master/examples/sql/build.sbt#L59。虽然它是用sbt编写的,但是POM共享相同的逻辑。

请密切注意那些dependency scopeexclude零件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74484771

复制
相关文章
如何在技术和业务中保持平衡?
如果时间退回到十多年以前,新兴互联网公司的技术人员几乎都是从「业务开发」开始自己的职业生涯的。然而到了今天,不知道你有没有发现,业务开发和纯技术的开发已经有了明显的分野。
木东居士
2020/02/21
1.5K0
如何在基于Bytom开发过程中集成IPFS
比原相关资料:https://github.com/Bytom-Community/Bytom_Docs
比原链Bytom
2019/01/28
4370
如何在基于Bytom开发过程中集成IPFS
如何在基于Bytom开发过程中使用Bigchaindb
上期我们讲了在基于比原开发过程中链外存储可以用分布式存储IPFS,这期我们还给大家介绍另外一种链外存储的解决方案。bigchaindb:https://www.bigchaindb.com,下面我们讲一下集成过程。
比原链Bytom
2019/02/26
4420
如何在基于Bytom开发过程中集成IPFS
比原相关资料:https://github.com/Bytom-Community/Bytom_Docs
比原链Bytom
2019/01/18
7340
如何在基于Bytom开发过程中集成IPFS
如何在基于Bytom开发过程中使用Bigchaindb
上期我们讲了在基于比原开发过程中链外存储可以用分布式存储IPFS,这期我们还给大家介绍另外一种链外存储的解决方案。bigchaindb:https://www.bigchaindb.com,下面我们讲一下集成过程。
比原链Bytom
2019/01/25
4920
如何在基于Bytom开发过程中使用Bigchaindb
基于 Webpack 提升构建速度和保证构建质量详解
有一个很简单的划分方式,就是以构建(build)为分界线,分成前向治理和后向治理:
winty
2021/05/18
7090
基于 Webpack 提升构建速度和保证构建质量详解
ServiceOps:在DevOps中平衡速度和风险
CrowdStrike 的停机事件突出了当今业务运营的互联性,其中单个错误可能会影响许多组织和人员。CrowdStrike发生的事件 可能会发生在任何公司,即使是那些拥有良好变更控制和发布实践的公司,尤其是在组织中不同的开发团队采用不同的发布实践来加速软件交付时。缺乏统一的软件发布方法会增加引入错误或性能问题的风险。
云云众生s
2024/08/25
1100
ServiceOps:在DevOps中平衡速度和风险
敏捷过程中如何保证代码质量
本文目录: 一、为什么要做代码质量分析 二、常见的代码质量分析工具 三、DevOps平台中的代码质量分析 四、DevOps平台中如何为代码质量提供保障 一、为什么要做代码质量分析 在软件开发过程中,当
yuanyi928
2018/04/02
2K0
敏捷过程中如何保证代码质量
如何在开发生命周期之初改善软件质量
先人一步的企业正开始采用安全编程方法和工具,在软件开发生命周期的早期阶段处理安全问题。MaaS360 by Fiberlink公司的信息安全官David Lingenfelter说:“如果企业组织在软
静一
2018/03/22
9970
如何在开发生命周期之初改善软件质量
QUIC 如何在速度和安全性方面取代 TCP?
原文链接:How QUIC Is Displacing TCP for Speed and Security
萝卜要努力
2025/03/07
1080
QUIC 如何在速度和安全性方面取代 TCP?
如何平衡研发与开发
对于程序员来讲,很多时候会纠结一个问题,我做了这么多项目,除了上线了产品,自己的逻辑、对产品的设计进步了哪些,这一点对前端、后端其实都是一样的具有迷惑性。
RobinsonZhang
2018/08/28
5280
如何在windows下和linux下获取文件(如exe文件)的详细信息和属性
最近在项目开发中,由cs开发的exe的程序,需要自动升级,该exe程序放在linux下,自动升级时检测不到该exe程序的版本号信息,但是我们客户端的exe程序需要获取服务器上新程序的版本号信息。最后由我用java实现linux上exe文件的版本号读取功能。下面是详细代码:
业余草
2019/01/21
6K0
如何在windows下和linux下获取文件(如exe文件)的详细信息和属性
精度、速度完美平衡,最新图像分割SOTA模型重磅发布!!!
支撑影视人像抠图、医疗影像分析、自动驾驶感知等万亿级市场背后的核心技术是什么?那就要说到顶顶重要的图像分割技术。相比目标检测、图像分类等技术,图像分割需要将每个像素点进行分类,在精细的图像识别任务中不可替代,也是智能视觉算法工程师拥有关键核心竞争力的关键!
计算机视觉
2022/05/24
1.6K0
精度、速度完美平衡,最新图像分割SOTA模型重磅发布!!!
如何在序列标注过程中打标?
英文打标,token可以是一个单词(e.g. awesome),也可以是一个字符(e.g. a)。
伊泽瑞尔
2022/06/01
3610
如何在序列标注过程中打标?
我们如何在Elasticsearch 8.6, 8.7和8.8中提升写入速度
一些用户已经注意到Elasticsearch 8.6、8.7 和 8.8 在很多不同类型数据写入时速度都获得了可观的提升,从简单的Keywords到复杂的KNN向量,再到一些负载比较重的写入处理管道都是这样。写入速度涉及到很多方面:运行写入处理管道、反转内存中的数据、刷新段、合并段,所有这些通常都需要花费不可忽略的时间。幸运的是,我们在所有这些领域都进行了改进,这为端到端的写入速度带来了很不错的提升。例如,在我们的基准测试里面,8.8比8.6写入速度提升了13%,这个基准测试模拟了真实的日志写入场景,其中包含了多种数据集、写入处理管道等等。请参见下图,您可以看到在这段时间内,实施了这些优化措施后写入速率从 ~22.5k docs/s 提升到了 ~25.5k docs/s。
点火三周
2023/07/11
1.3K0
我们如何在Elasticsearch 8.6, 8.7和8.8中提升写入速度
企业如何在采购过程中做好成本控制?
学会降低成本是有效采购的其中一个重要方面。单是这个因素,就能决定是几乎没有盈利,还是大赚一笔。但是在降低成本的时候,企业要牢记一点——不能牺牲质量。降低成本很重要,但前提是保证质量,企业的供应品需要始终保持足够好的质量,而且需要按时交付。
数商云市场营销总监
2022/03/16
7320
在网络端口扫描期间寻找速度和准确度之间的平衡点
侦察是每个bug bounty或渗透测试中最为重要的阶段之一。侦察工作做得到不到位,可能会对最终的结果产生直接影响。侦察可以分为两类:即主动和被动侦察。在主动侦察中端口扫描是最常用的方法之一。通过端口扫描渗透测试人员或漏洞猎人可以确定在目标主机或网络上打开的端口,以及识别在这些端口上运行的服务。
FB客服
2019/08/30
1.8K0
在网络端口扫描期间寻找速度和准确度之间的平衡点
C#百万对象序列化深度剖析:如何在网络传输中实现速度与体积的完美平衡
在网络通信中,数据序列化是将对象状态转换为可存储或可传输的形式的过程,这对于TCP网络传输尤为关键。在项目中,当需要处理几十万条数据的传输时,传统的Json序列化方式由于其冗余的字段名和字符串格式,导致了二进制包体积庞大,且序列化与反序列化的效率低下。为了解决这些问题,我考虑采用更加高效的序列化方法,以减少包大小并提升处理速度。本文将探讨自定义二进制序列化、BinaryWriter/BinaryReader、MessagePack[1]和ProtoBuf[2]等4种序列化方法,并通过比较它们的性能,为大家提供我目前认为的最佳实践指南。
沙漠尽头的狼
2023/12/13
5110
C#百万对象序列化深度剖析:如何在网络传输中实现速度与体积的完美平衡
如何在 CI/CD 过程中实施高效的自动化测试和部署
在持续集成(CI)和持续交付(CD)过程中,自动化测试和部署是提高软件交付速度和质量的关键。本文将详细介绍如何选择适合的CI/CD工具,配置自动化构建和测试流程,制定全面的测试策略,并确保部署环境的稳定性,采用蓝绿部署等策略降低风险。
Swift社区
2024/08/01
3730
如何在 CI/CD 过程中实施高效的自动化测试和部署
栈平衡和栈迁移
程序的运行需要数据,而数据就存放在内存中。首选的存放地址肯定是寄存器中(运行速度快),但是寄存器也就几个,数据很多,所以就把数据存放在了堆栈中。
ly0n
2020/11/04
1.2K0
栈平衡和栈迁移

相似问题

按钮禁用在IE 10中不起作用

20

JavaScript函数调用在IE中不起作用

13

对javascript中函数的调用在IE中不起作用

10

使用在chrome中不起作用的javascript启用按钮

22

禁用javascript中的按钮在IE中不起作用

40
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文