2017-01-09 2 views
0

Я создал новый рабочий процесс Oozie в пользовательском интерфейсе Hue на основе нижеследующего запроса hql.Рабочий процесс Oozie не работает должным образом

things.hql

drop table output_table; 
create table output_table like things; 
insert overwrite table output_table select t.* from things_dup td right outer join things t on (td.item_id = t.item_id) where td.item_id is null; 
insert overwrite table things_dup select * from things; 

Таблицы,

вещи таблица

item_id product 
1   soap 
2   chocklate 

things_dup

item_id product 
1   soap 

ш курица я запустить HQL отдельно

Hadoop ДФС -f things.hql

его работы отлично. Таблица things_dup обновилась правильно.

Но когда я запускаю рабочий процесс, таблица things_dup не обновляется. Вставить переписать таблицу things_dup выбрать * из вещей;

Может ли кто-нибудь знать, почему? Пожалуйста, помогите мне исправить эту проблему.

Workflow.xml

<workflow-app name="Things_workflow" xmlns="uri:oozie:workflow:0.4"> 
    <start to="Things_workflow"/> 
    <action name="Things_workflow"> 
     <hive xmlns="uri:oozie:hive-action:0.2"> 
      <job-tracker>${jobTracker}</job-tracker> 
      <name-node>${nameNode}</name-node> 
       <job-xml>/user/cloudera/hive-site.xml</job-xml> 
      <script>things.hql</script> 
      <file>/user/cloudera/hive-site.xml#hive-site.xml</file> 
     </hive> 
     <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> 

действие

<hive xmlns="uri:oozie:hive-action:0.2"> 
    <job-tracker>localhost.localdomain:8021</job-tracker> 
    <name-node>hdfs://localhost.localdomain:8020</name-node> 
    <job-xml>/user/cloudera/hive-site.xml</job-xml> 
    <script>things.hql</script> 
    <file>/user/cloudera/hive-site.xml#hive-site.xml</file> 
</hive> 

Спасибо, Манимекалай

+0

Не могли бы вы разместить свой рабочий поток.xml –

+0

'workflow.xml' и какова ошибка, которую вы видите. Пожалуйста, проверьте журналы из запущенного рабочего действия куста. Благодарю. – YoungHobbit

+0

Спасибо за ваш ответ. Я не писал ни одного XML. Я создал рабочий процесс с помощью редактора HUE UI Oozie. –

ответ

0

я также получил проблему с улья oozie, но, наконец, решена.

Пожалуйста, сопоставьте вам workflow.xml с этим.

Пожалуйста, поставьте это job-xml перед конфигурационным узлом.

<?xml version="1.0" encoding="UTF-8"?> 
<workflow-app xmlns="uri:oozie:workflow:0.2" name="pig-hive-wf"> 

<start to="hive-node" /> 

    <action name="hive-node"> 
    <hive xmlns="uri:oozie:hive-action:0.2"> 
     <job-tracker>${jobTracker}</job-tracker> 
     <name-node>${nameNode}</name-node> 

     <job-xml>hive-site.xml</job-xml> 

     <configuration> 
     <property> 
      <name>mapred.job.queue.name</name> 
      <value>${queueName}</value> 
     </property> 
      <property> 
        <name>oozie.hive.defaults</name> 
        <value>/user/cloudera/oozie/pig_hive_data_WF/hive-site.xml</value> 
       </property> 
     </configuration> 
     <script>/user/cloudera/oozie/pig_hive_data_WF/load_data.q</script> 
     <param>LOCATION=/user/${wf:user()}/oozie/pig_hive_data_WF/output/pig_loaded_data</param> 
     <file>hive-conf.xml#hive-conf.xml</file> 
    </hive> 
    <ok to="end"/> 
    <error to="fail"/> 
    </action> 

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

вы можете скопировать файл улья site.xml из /etc/hive/conf/hive-site.xml и поместить в рабочий процесс реж.

Смежные вопросы