Итак, мы наконец выяснили проблему - по крайней мере, в нашем случае.
При создании рабочего процесса с использованием Hue, когда добавляется Spark Action, по умолчанию запрашивается «File» и «Jar / py».название".Мы указали путь к файлу JAR, который мы хотели запустить, и имя этого файла JAR соответственно в этих полях, и он создал основное действие, как показано ниже:
окончательный XML, который он создал, был следующим:
<action name="spark-210e">
<spark xmlns="uri:oozie:spark-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<master>yarn</master>
<mode>cluster</mode>
<name>CleanseData</name>
<class>com.data.CleanseData</class>
<jar>JCleanseData.jar</jar>
<spark-opts>--driver-memory 2G --executor-memory 2G --num-executors 10 --files hive-site.xml</spark-opts>
<arg>yarn</arg>
<arg>[someArg1]</arg>
<arg>[someArg2]</arg>
<file>lib/JCleanseData.jar#JCleanseData.jar</file>
</spark>
<ok to="[nextAction]"/>
<error to="Kill"/>
</action>
Тег по умолчанию file
в нем вызывал проблему в нашем случае.
Итак, мы удалили его и отредактировали определение длякак видно ниже, и это сработало.Обратите внимание на изменение тега <jar>
.
<action name="spark-210e">
<spark xmlns="uri:oozie:spark-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<master>yarn</master>
<mode>cluster</mode>
<name>CleanseData</name>
<class>com.data.CleanseData</class>
<jar>hdfs://path/to/JCleanseData.jar</jar>
<spark-opts>--driver-memory 2G --executor-memory 2G --num-executors 10 --files hive-site.xml</spark-opts>
<arg>yarn</arg>
<arg>[someArg1]</arg>
<arg>[someArg1]</arg>
</spark>
<ok to="[nextAction]"/>
<error to="Kill"/>
</action>
PS: у нас была похожая проблема с действиями Hive.Файл hive-site.xml
, который мы должны были передать с помощью действия Hive, которое создало тег <job-xml>
, также вызывал проблемы.Таким образом, мы удалили его, и он работал как ожидалось.