запуск программы spark с использованием рабочего процесса oozie

Я работаю с программой scala, используя пакеты spark. В настоящее время я запускаю программу с помощью команды bash из шлюза: / дома / Искра / бункер / Искра-отправить --master yarn-cluster --class " com.ХХХ.ыыы.zzz "--driver-java-options " - Dyyy.num=5" a.jar arg1 arg2

Я хотел бы начать использовать oozie для выполнения этой работы. У меня есть несколько недостатков:

где я должен поместить исполняемый файл spark-submit? на hfs? Как определить действие spark? где следует -- драйвер-java-параметры появляются? Как должно выглядеть действие oozie? это похоже на представленных здесь?

1 ответов


Если у вас есть достаточно новая версия oozie, вы можете использовать задачу spark oozie:

https://github.com/apache/oozie/blob/master/client/src/main/resources/spark-action-0.1.xsd

в противном случае вам нужно выполнить задачу java, которая вызовет spark. Что-то вроде:

   <java>
        <main-class>org.apache.spark.deploy.SparkSubmit</main-class>

        <arg>--class</arg>
        <arg>${spark_main_class}</arg> -> this is the class com.xxx.yyy.zzz

        <arg>--deploy-mode</arg>
        <arg>cluster</arg>

        <arg>--master</arg>
        <arg>yarn</arg>

        <arg>--queue</arg>
        <arg>${queue_name}</arg> -> depends on your oozie config

        <arg>--num-executors</arg>
        <arg>${spark_num_executors}</arg>

        <arg>--executor-cores</arg>
        <arg>${spark_executor_cores}</arg>

        <arg>${spark_app_file}</arg> -> jar that contains your spark job, written in scala

        <arg>${input}</arg> -> some arg 
        <arg>${output}</arg>-> some other arg

        <file>${spark_app_file}</file>

        <file>${name_node}/user/spark/share/lib/spark-assembly.jar</file>
    </java>