Apache spark spark cluster libs版本低于我的项目的解决方案是什么;格拉德尔的依赖
我的项目必须依赖于使用更高版本httpcore(4.3.2)的依赖关系,但在集群上,Spark使用的是4.2.5。在我用GradleShadowjar插件构建胖jar之后,我发现4.3.2在胖jar中。但是,当我使用spark submit运行spark程序时,总是加载4.2.5Apache 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项目中着色我的依赖项来解
那么,处理此类用例的一般解决方案是什么:您的依赖项使用的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插件也有同样的功能。编辑:这看起来像: