use*_*380 2 hadoop amazon-s3 amazon-web-services apache-spark
我在AWS EMR上运行Spark,我在输出文件(rdd.saveAsTextFile('<file_dir_name>')
)上获得正确权限时遇到了一些问题.在hive中,我会在开头添加一行,set fs.s3.canned.acl=BucketOwnerFullControl
然后设置正确的权限.对于Spark,我尝试运行:
hadoop jar /mnt/var/lib/hadoop/steps/s-3HIRLHJJXV3SJ/script-runner.jar \
/home/hadoop/spark/bin/spark-submit --deploy-mode cluster --master yarn-cluster \
--conf "spark.driver.extraJavaOptions -Dfs.s3.canned.acl=BucketOwnerFullControl" \
hdfs:///user/hadoop/spark.py
Run Code Online (Sandbox Code Playgroud)
但是没有在输出文件上正确设置权限.将'fs.s3.canned.acl = BucketOwnerFullControl'或任何S3固定权限传递给spark作业的正确方法是什么?
提前致谢
我找到了解决方案.在作业中,您必须访问JavaSparkContext并从那里获取Hadoop配置并在那里设置参数.例如:
sc._jsc.hadoopConfiguration().set('fs.s3.canned.acl','BucketOwnerFullControl')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1758 次 |
最近记录: |