Как указать сопоставленные конфигурации и параметры java с помощью пользовательского jar в CLI с помощью Amazon EMR?

Я хотел бы знать, как указать конфигурации mapreduce, такие какmapred.task.timeout, mapred.min.split.size и т.д., при запуске потокового задания с использованием пользовательского jar.

Мы можем использовать следующий способ, чтобы указать эти конфигурации при запуске с использованием внешних языков сценариев, таких как ruby или python:

rubyastic-mapreduce -j --stream - имя-шага "mystream" --jobconf mapred.task.timeout = 0 --jobconf mapred.min.split.size = 52880 --mapper s3: // somepath / mapper. rb --reducer s3: somepath / reducer.rb - вход s3: // somepath / input --output s3: // somepath / output

Я пробовал следующие способы, но ни один из них не работал:

rubyastic-mapreduce --jobflow --jar s3: //somepath/job.jar --arg s3: // somepath / вход --arg s3: // somepath / вывод --args -m, mapred.min.split .size = 52880 -m, mapred.task.timeout = 0

rubyastic-mapreduce --jobflow --jar s3: //somepath/job.jar --arg s3: // somepath / input --arg s3: // somepath / output --args -jobconf, mapred.min.split .size = 52880 -jobconf, mapred.task.timeout = 0

Я также хотел бы знать, как передать параметры Java в потоковое задание, используя пользовательский jar в EMR. При локальном запуске на hadoop мы можем передать его следующим образом:

bin / hadoop jar job.jar input_path output_path-D <some_java_parameter> = <some_value>

Ответы на вопрос(2)

Ваш ответ на вопрос