Хммм. Я не уверен, сколько лет примеру с RunJobFlow ... Я лично проигнорировал бы его.
Ты умеешь бегать?
localhost$ elastic-mapreduce --describe
Раз вы можете играть прямо на кластере, чтобы вытряхнуть точные шаги, которые вам нужно сделать ... Это стоит сделать, чтобы вам не приходилось запускать / останавливать кластер несколько раз.
localhost$ elastic-mapreduce --create --alive --num-instances 1
localhost$ elastic-mapreduce -j j-YOUR_ID_HERE --ssh
cluster$ hadoop jar my.jar -D some=1 -D args=1 blah blah
cluster$ hadoop jar some_other_jar.jar -D foo -D bar
cluster$ ^D
localhost$ elastic-mapreduce -j j-YOUR_ID_HERE --terminate
Тогда, когда вы довольны шагами и вам нужно, чтобы они запускались без головы (скажем, из cron), вы можете настроить EMR для управления шагами (включая завершение самого кластера в конце)
localhost$ elastic-mapreduce --create --num-instances 1
localhost$ elastic-mapreduce --jar my_jar.jar --args "-D,some=1,-D,args=1,blah,blah"
localhost$ elastic-mapreduce --jar some_other_jar.jar --args "-D,foo,-D,bar"
Я бы изучил материал --json только в том случае, если вам нужны более сложные шаги, это немного загадочно и сложно сделать правильный первый раз ...