我们目前使用的是spark 2.1和hadoop 2.7.3,我知道也不敢相信spark仍然需要aws-java-sdk版本1.7.4。我们正在使用一个maven项目,我想知道是否有任何方法可以设置库或我的环境,以便能够使用spark 2.1以及其他使用最新aws-java-sdk的应用程序?我猜这和询问是否可以设置一个使用不同版本的aws-java-sdk的工作流是一样的,然后当我想在集群上运行jar时,我可以只指向最新的aws-java-sdk。我知道我显然可以维护单独的项目,一个用于spark,另一个用于纯sdk工作,但我希望将它们放在同一个项目中。
发布于 2018-01-27 22:13:45
使用Spark2.1以及其他使用最新aws-java-sdk的应用程序
您可以在创建JAR时尝试使用Maven Shade插件,然后确保用户类路径在Hadoop类路径(spark.executor.userClassPathFirst)之前。这将确保您加载的是Maven包含的所有依赖项,而不是Spark提供的依赖项
我以前用Avro做过这个,但我知道AWS SDK有更多的功能
https://stackoverflow.com/questions/48116654
复制相似问题