首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将Spark fileoutputcommitter.algorithm.version=2与AWS胶水配合使用

将Spark fileoutputcommitter.algorithm.version=2与AWS胶水配合使用
EN

Stack Overflow用户
提问于 2019-06-04 02:27:20
回答 2查看 2.7K关注 0票数 1

我还没有弄清楚这一点,但我正在尝试使用AWS Glue的直接输出提交者:

spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version=2

是否可以将此配置与AWS Glue一起使用?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-04 02:59:27

选项1 :

Glue使用spark上下文,您也可以将hadoop配置设置为aws glue。因为内部动态框架是一种数据帧。

代码语言:javascript
复制
sc._jsc.hadoopConfiguration().set("mykey","myvalue")

我认为您还需要像这样添加相应的类

代码语言:javascript
复制
sc._jsc.hadoopConfiguration().set("mapred.output.committer.class", "org.apache.hadoop.mapred.FileOutputCommitter")

代码语言:javascript
复制
 sc = SparkContext()

    sc._jsc.hadoopConfiguration().set("mapreduce.fileoutputcommitter.algorithm.version","2")

    glueContext = GlueContext(sc)
    spark = glueContext.spark_session

在python中调试:

代码语言:javascript
复制
sc._conf.getAll() // print this

代码语言:javascript
复制
sc.getConf.getAll.foreach(println)

选项2:

另一边你试着使用胶水的作业参数:

https://docs.aws.amazon.com/glue/latest/dg/add-job.html,它具有文档中提到的键值属性

代码语言:javascript
复制
'--myKey' : 'value-for-myKey'  

您可以按照下面的屏幕截图编辑作业并使用--conf指定参数

选项3:

如果您正在使用aws cli,您可以在下面尝试...https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html

有趣的是,他们在文档中提到,不要像下面这样设置消息。

总结:我个人更喜欢option1,因为你有编程控制。

票数 3
EN

Stack Overflow用户

发布于 2019-06-05 16:20:19

进入胶水作业控制台,按如下所示编辑您的作业:

Glue>作业>编辑Job>脚本库和作业参数(可选)>作业参数

设置以下内容:

密钥:--conf值:

spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version=2

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56432696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档