Как указать сопоставленные конфигурации и параметры 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>