我正在尝试使用oozie做一个简单的工作。
这将是一个简单的猪行动。
我有一个文件: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一起运行?
任何人都可以获得更多经验吗?
问候
的Pawel
答案 0 :(得分:8)
我是这样做的:
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>
答案 1 :(得分:2)
配置文件应指向job.properties而不是for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
a[i][j] = ........
}
}
。由于file.xml
包含job.properties
workflow.xml