如何提交将jar托管在S3对象存储中的SPARK作业

问题描述 投票:0回答:1

我有一个带有Yarn的SPARK集群,我想将我的工作的jar放入与S3 100%兼容的Object Store中。如果我想提交工作,我会从google搜索,看起来就像这样:火花提交-主纱-部署模式簇<...> s3:// my_ bucket / jar_file但是,S3对象存储需要用户名和密码才能访问。那么,如何配置这些凭据信息以让SPARRK从S3下载jar?非常感谢!

amazon-s3 spark-submit
1个回答
0
投票

您可以使用Default Credential Provider Chain中的AWS docs

export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
./bin/spark-submit \
    --master local[2] \
    --class org.apache.spark.examples.SparkPi \
    s3a://your_bucket/.../spark-examples_2.11-2.4.6-SNAPSHOT.jar

我需要从Maven下载以下jar,并将其放在Spark jar目录中,以便允许在s3a中使用spark-submit模式(注意,您可以使用--packages指令从jar内部引用这些依赖项,但不是来自spark-submit本身):

// build Spark `assembly` project
sbt "project assembly" package
cd assembly/target/scala-2.11/jars/ 
wget https://repo1.maven.org/maven2/com/amazonaws/aws-java-sdk/1.7.4/aws-java-sdk-1.7.4.jar 
wget https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-aws/2.7.7/hadoop-aws-2.7.7.jar
© www.soinside.com 2019 - 2024. All rights reserved.