SparkApp 无法加载 Aws Java Sdk 定义

Posted

技术标签:

【中文标题】SparkApp 无法加载 Aws Java Sdk 定义【英文标题】:SparkApp unable to load Aws Java Sdk definitions 【发布时间】:2019-07-22 19:56:40 【问题描述】:

我的 spark 应用程序无法加载 AWSCredentials 类并显示消息 - Failed to load com.pipeline.ana.SparkApp: com/amazonaws/auth/AWSCredentials

我有这些进口 -

import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.AmazonS3;

像这样创建 s3Client -

AWSCredentials credentials = new BasicAWSCredentials("access_key", "secret_key");
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                    .withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration("https://10.10.1.225:19443", "region1"))
                    .withCredentials(new AWSStaticCredentialsProvider(credentials))
                    .build();

用于放置对象(java RDD 中存在的字符串)。当我执行mvn clean package 时,构建成功但spark-submit 无法找到AWS 类。

我的 maven 依赖 com.amazonaws.aws-java-sdk.1.11.595。 如何解决?

【问题讨论】:

【参考方案1】:

由于我使用的是 IntelliJ ide,因此有时是缓存问题。只需从项目文件夹中删除项目元数据目录并导入项目。 build.sbt 将重新加载依赖项而不会失败。我的问题用这种天真的方法解决了。

【讨论】:

以上是关于SparkApp 无法加载 Aws Java Sdk 定义的主要内容,如果未能解决你的问题,请参考以下文章

如何从 AWS lambda java 中的类路径加载属性文件

Android Video View - 无法从 SD 卡加载文件

ruby 适用于AWS的SD

无法使用Java TestNG项目解决AWS设备场中的依赖项 - jar错误

java 此类可帮助您将SD卡中的图像异步加载到列表视图中

无法从类路径上的 /AwsCredentials.properties 文件加载 AWS 凭证