私はoozieを使って簡単な仕事をしようとしています。
これは1つの単純な豚のアクションになります。
私はファイルを持っています:FirstScript.pigには以下が含まれています:
dual = LOAD 'default.dual' USING org.Apache.hcatalog.pig.HCatLoader();
store dual into 'dummy_file.txt' using PigStorage();
および以下を含むworkflow.xml:
<workflow-app name="FirstWorkFlow" xmlns="uri:oozie:workflow:0.2">
<start to="FirstJob"/>
<action name="FirstJob">
<pig>
<job-tracker>hadoop:50300</job-tracker>
<name-node>hdfs://hadoop:8020</name-node>
<script>/FirstScript.pig</script>
</pig>
<ok to="okjob"/>
<error to="errorjob"/>
</action>
<ok name='okjob'>
<message>job OK, message[${wf:errorMessage()}]</message>
</ok>
<error name='errorjob'>
<message>job error, error message[${wf:errorMessage()}]</message>
</error>
</workflow-app>
私は構造を作成しました:
FirstScript
|- lib
|---FirstScript.pig
|- workflow.xml
そして今何?それをデプロイしてoozieで実行するにはどうすればよいですか?
もっと経験豊富な人が助けてくれますか?
よろしく
パウエル
私はこのようにします:
hadoop fs -put workflow.xml some_dir/
oozie job --oozie http://your_Host:11000/oozie -config cluster_conf.xml -run
私のcluster_conf.xmlは次のようになります(最初にポートがHadoopディストリビューションに依存していることを確認してください):
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configuration>
<property>
<name>nameNode</name>
<value>hdfs://my_nn:8020</value>
</property>
<property>
<name>jobTracker</name>
<value>my_jt:8050</value>
</property>
<property>
<name>oozie.wf.application.path</name>
<value>/user/my_user/some_dir/workflow.xml</value>
</property>
</configuration>
構成ファイルは、file.xml
の代わりにjob.propertiesを指す必要があります。以来、job.properties
にはworkflow.xml
へのパスが含まれています
oozie job --oozie http://your_Host:11000/oozie -config **/job.properties** -run