Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark spark cluster libs版本低于我的项目的解决方案是什么;格拉德尔的依赖_Apache Spark - Fatal编程技术网

Apache spark spark cluster libs版本低于我的项目的解决方案是什么;格拉德尔的依赖

Apache spark spark cluster libs版本低于我的项目的解决方案是什么;格拉德尔的依赖,apache-spark,Apache Spark,我的项目必须依赖于使用更高版本httpcore(4.3.2)的依赖关系,但在集群上,Spark使用的是4.2.5。在我用GradleShadowjar插件构建胖jar之后,我发现4.3.2在胖jar中。但是,当我使用spark submit运行spark程序时,总是加载4.2.5 那么,处理此类用例的一般解决方案是什么:您的依赖项使用的jar版本比Spark使用的高。我能够通过创建一个着色jar来解决冲突 火花执行器在纱线模式下运行时存在依赖性问题 通过在我的Gradle项目中着色我的依赖项来解

我的项目必须依赖于使用更高版本httpcore(4.3.2)的依赖关系,但在集群上,Spark使用的是4.2.5。在我用GradleShadowjar插件构建胖jar之后,我发现4.3.2在胖jar中。但是,当我使用spark submit运行spark程序时,总是加载4.2.5


那么,处理此类用例的一般解决方案是什么:您的依赖项使用的jar版本比Spark使用的高。

我能够通过创建一个着色jar来解决冲突

火花执行器在纱线模式下运行时存在依赖性问题

通过在我的Gradle项目中着色我的依赖项来解决,如下所示:

apply plugin: 'com.github.johnrengelman.shadow'

shadowJar {
    // shading these two packages as they clash with spark executor env
    relocate 'org.apache.http', 'com.org.shaded.http'
    zip64 = true
}

build {
    dependsOn shadowJar
}

ref:

使用maven和maven shade插件,可以重新定位依赖项。我猜Gradle shadowJar插件也有同样的功能。编辑:这看起来像: