HUE版本:3.12.0

Pig版本:0.16.0

前言

通过浏览器访问ip:8888登陆HUE界面,首次登陆会提示你创建用户,这里使用账号/密码:hue/hue登陆。

一、业务场景

执行pig脚本将name_age_comma.txt文件中的逗号,转为竖线|,并输出到/user/hue/learn_oozie/mazy_pig_1/output路径下。

二、创造数据

样例数据name_age_comma.txt,任务运行前放到/user/hue/learn_oozie/mazy_pig_1/input/目录下。

1
2
3
4
5
6
John,14
Tim,46
Rohan,24
Sam,40
Rahul,12
Van,13

三、创建Pig脚本

在HDFS路径上创建/user/hue/learn_oozie/mazy_pig_1/mazy_pig_1.pig脚本,内容如下:

1
2
inputData = load '$inputPath' using PigStorage(',');
store inputData into '$outputPath' using PigStorage('|');

注意:使用符号$来表示Pig脚本内的参数变量。例如:$inputPath

四、创建workflow

点击“工作流程>编辑器>Workflow”,跳转到新页面,点击“创建”,如下图所示:

点击Pig模块,拖动至箭头处,也可修改workflow名称,如下图所示:

选择pig脚本在hdfs上的路径,如下图所示:

添加参数,如下图所示:

因为pig脚本内的参数为inputPathoutputPath,所以添加参数:

1
2
inputPath=/user/hue/learn_oozie/mazy_pig_1/input/name_age_comma.txt
outputPath=/user/hue/learn_oozie/mazy_pig_1/output

警告:output文件夹执行workflow时会自动创建,不要自己创建。

五、设置workflow

如下图所示,点击“设置”按钮,可以设置参数和工作区等配置。

默认配置oozie.use.system.libpath为true,这样会在工作区目录下默认新建lib包,如果需要jar包依赖的话,可以放在lib目录下。

Tip:工作区的目录HUE会默认生成,也可以自定义设置,lib文件会生成在该工作区内。

六、执行workflow

设置完Workflow后,我们点击保存并执行Workflow,如下图所示:

点击执行workflow后,会在工作区生成job.propertiesworkflow.xml文件,这两个文件执行workflow必不可少,不过HUE自动为我们生成了。

七、查看结果

执行Workflow后,会生成一个job作业,等Workflow执行成功后,可以在HDFS路径上查看/user/hue/learn_oozie/mazy_pig_1/output/part-m-00000文件,如下图所示:

八、总结

在HUE上通过Oozie调用Hive SQL任务流:

  • 需要先创建好Pig脚本,

  • 然后在Oozie Workflow里面选择🐷Pig Script;

  • 选择之前创建好的Pig脚本,设置变量;

  • 设置工作区及依赖的jar包路径

  • 执行Workflow