sla*_*avi 8 python boto elastic-map-reduce
我试图在我的Amazon Elastic MapReduce作业上启用错误的输入跳过.我正在按照这里描述的精彩食谱:
http://devblog.factual.com/practical-hadoop-streaming-dealing-with-brittle-code
上面的链接说我需要以某种方式在EMR作业上设置以下配置参数:
mapred.skip.mode.enabled=true
mapred.skip.map.max.skip.records=1
mapred.skip.attempts.to.start.skipping=2
mapred.map.tasks=1000
mapred.map.max.attempts=10
Run Code Online (Sandbox Code Playgroud)
如何使用Boto在JobFlow上设置这些(和其他)mapred.XXX参数?
sla*_*avi 14
经过几个小时的挣扎,阅读代码和实验,以下是答案:
您需要添加一个新的BootstrapAction,如下所示:
params = ['-s','mapred.skip.mode.enabled=true',
'-s', 'mapred.skip.map.max.skip.records=1',
'-s', 'mapred.skip.attempts.to.start.skipping=2',
'-s', 'mapred.map.max.attempts=5',
'-s', 'mapred.task.timeout=100000']
config_bootstrapper = BootstrapAction('Enable skip mode', 's3://elasticmapreduce/bootstrap-actions/configure-hadoop', params)
conn = EmrConnection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
step = StreamingStep(name='My Step', ...)
conn.run_jobflow(..., bootstrap_actions=[config_bootstrapper], steps=[step], ...)
Run Code Online (Sandbox Code Playgroud)
当然,如果您有多个引导操作,则应该将其添加到bootstrap_actions数组中.
| 归档时间: |
|
| 查看次数: |
1989 次 |
| 最近记录: |