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 卡加载文件