Моя проблема заключается в том, что я безуспешно нахожу свойство, введенное из командной строки в задаче Oozie. Вот как я начинаю работу oozie:Доступ к собственности, введенной в командной строке в задании Oozie
$ oozie job -config /home/mruser/conf/mapreduce.properties -Dsample.property.filename=/path/to/file/samplefile.txt -run -oozie http://server:11000/oozie
и это соответствующий фрагмент кода из программы java.
Configuration conf = new Configuration();
String configurationLocation = System.getProperty("oozie.action.conf.xml");
Path localConfigurationPath = new Path(configurationLocation);
conf.addResource(localConfigurationPath);
Job job = new Job(conf, "Sample oozie data load");
Configuration.dumpConfiguration(conf, new BufferedWriter(new OutputStreamWriter(System.out)));
String samplePropertyFilenameFromJobConfig = job.getConfiguration().get("sample.property.filename");
String samplePropertyFilenameFromProperty = System.getProperty("sample.property.filename");
В приведенном выше коде "samplePropertyFilenameFromJobConfig" и "samplePropertyFilenameFromProperty" оба нуль. Также я не смог найти свое свойство в выводе «Configuration.dumpConfiguration()».
Когда я найду свою работу в Oozie UI однако, и я нажимаю на вкладке «Работа Configuration» Я вижу
<property>
<name>sample.resolution.filename</name>
<value>/path/to/file/samplefile.txt</value>
</property>
Пожалуйста, обратите внимание, что, когда я воспитываю конкретные действия, которые выполняются и нажмите на «Конфигурация действия» вкладка, я НЕ вижу эту конфигурацию.
Как добраться до этого свойства в программе Java под управлением Oozie?