У меня есть переменная окружения, сохраненная в моем .bash_profile
. Я пытаюсь получить к нему доступ через программу Spark, используя метод sys.env()
в Scala. Когда у меня нет Ooz ie Scheduling, я могу правильно обращаться к переменной окружения в Spark. Однако, когда я пытаюсь запланировать мою программу, используя Ooz ie, программа выдает ошибку, что она не может прочитать переменную env.
Вот мой рабочий процесс. xml:
<workflow-app xmlns='uri:oozie:workflow:0.5' name='Security-User-Management'>
<start to='spark-node' />
<action name='spark-node'>
<spark xmlns="uri:oozie:spark-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<prepare>
<delete path="hdfs://<some hdfs url>/user/clsadmin/cmdw-security/cmdw-security-logs"/>
<mkdir path="hdfs://<some hdfs url>/user/clsadmin/cmdw-security/cmdw-security-logs"/>
</prepare>
<configuration>
<property>
<name>CMDW_CLOUD_USERNAME</name>
<value>abcd</value>
</property>
</configuration>
<master>${master}</master>
<name>CMDW-Security-User-Management</name>
<class>custom.cmdwldap.executable.Test</class>
<jar>hdfs://some hdfs url/user/clsadmin/security/Security.jar</jar>
<arg>CMDW_CLOUD_USERNAME=abcd</arg>
</spark>
<ok to="end" />
<error to="fail" />
</action>
<kill name="fail">
<message>Workflow failed, error message:
${wf:errorMessage(wf:lastErrorNode())}
</message>
</kill>
<end name="end" />
</workflow-app>
Как мне прочитать configuration
в моем Scala коде ...