Как написать рабочий процесс oozie для pyspark и что должны содержать теги class и jar в опции spark в этом рабочем процессе? - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь запустить скрипт pyspark в рабочем процессе oozie, но скрипт не запускается.Какие изменения я должен внести в код?

Я пытаюсь запустить скрипт pyspark, который отлично работает, когда выполняется непосредственно на терминале с помощью команды spark-submit.При попытке запустить, используя oozie workflow, мой скрипт вообще не запускается.пожалуйста, ознакомьтесь с приведенным ниже рабочим процессом.Причиной этой проблемы являются теги и опция spark?

<workflow-app name="My_Workflow"
 xmlns="uri:oozie:workflow:0.5">
 <global>
  <configuration>
   <property>
   <name>mapreduce.job.queuename</name>
   <value>NONP.${queueName}</value>
   </property>
   </configuration>
  </global>

<start to="cmp_feed_delta_process-A"/>
<action name="cmp_feed_delta_process-A" cred='hive_credentials'>

 <spark xmlns="uri:oozie:spark-action:0.1">
  <job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.compress.map.output</name>
<value>true</value>
</property>
</configuration>
<master>yarn</master>
<mode>cluster</mode>
<name>JB_CMP_OBS</name>
<jar>${nameNode}/user/HAASAAD0404_04647/cmp/daa/temp/JB_CMP_OBS.py</jar>

<spark-opts>--queue ${env}.${queueName} --files ${nameNode}/user/CoreSiteXMLs/hive-site.xml --executor-memory 25g --driver-memory 4g  --num-executors 100 --executor-cores 5  --conf spark.executor.extrajavaoptions="-XX:-UseGCOverheadLimit"
</spark-opts>
</spark>    
<ok to="EMAIL_SUCCESS"/>
<error to="EMAIL_FAILURE"/>
</action> 

<action name="EMAIL_SUCCESS">
 <email
 xmlns="uri:oozie:email-action:0.1">
 <to>${success_emails}</to>
 <subject>SUCCESS with workflow ID: ${wf:id()}</subject>
 <body>Hi,
  Data loading with workflow ID: ${wf:id()} completed successfully !
  This is an auto-generated email.
  Please do not reply to this email.

  Thanks
  Big Data Team.

 </body>
 </email>
 <ok to="end"/>
 <error to="kill"/>
 </action> 


<action name="EMAIL_FAILURE">
 <email
  xmlns="uri:oozie:email-action:0.1">
  <to>${failure_emails}</to>
  <subject>FAILURE with workflow ID: ${wf:id()}</subject>
  <body>Hi,

Data loading with workflow ID: ${wf:id()} failed !!!

This is an auto-generated email.
Please do not reply to this email.

Thanks,
Big Data Team.
</body>
</email>
<ok to="end"/> 
<error to="kill"/>
 </action> 

 <kill name="kill">
 <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode))}]  
  </message>
</kill>
<end name="end"/> 
</workflow-app>

Я ожидаю, что выходные данные сохраняются в таблице в соответствии с кодировкой сценария.Состояние рабочего процесса Oozie успешно изменено, но сценарий не запущен.

...