HUE版本:3.12.0

前言

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

一、业务场景

基于HUE系统,使用平台自带的hadoop-mapreduce-examples.jar对一个文本文件执行wordcount操作。

二、前期准备

HDFS/user/hue/wc/目录下新建wordcount.txt文件,内容如下:

1
2
3
4
My English teacher has a big house.
It has a living room, a big dining room, two bedrooms, a study, two bathrooms and a big kitchen.
In the living room, there is a big picture, four brown sofas, white fans and blue walls. The TV set is big. There is a big Chinese knot on the wall. There are lanterns below the lights. I like them.
This is my English teacher’s house.

hadoop-mapreduce-examples.jar文件在/usr/hdp/2.6.4.0-91/hadoop-mapreduce/目录下。WordCount的程序片段如下图所示:

三、两种方式

目前有两种方法可以执行jar包程序。一种是作业设计器,另一种是直接编辑workflow。

3.1 作业设计器

首先打开HUE Web UI,点击“查询编辑器>作业设计器”,如下图所示:

然后点击“创建”,选择“Java”。如下图所示:

我们主要配置:

  • Jar路径:jar包在HDFS上的路径。例如:/user/hue/hadoop-mapreduce-examples.jar
  • Main方法:一般是包名+类名。例如:org.apache.hadoop.examples.WordCount
  • Args:参数。就wordcount的程序而言,主要是两个参数,分别为输入路径与输出路径,其中输出路径不能已存在。如果要使用HDFS上的路径,请特别说明。参数之间需要用空格隔开。例如:hdfs://node123.xdata:8020/user/hue/wc/wordcount.txt hdfs://node123.xdata:8020/tmp/output

配置编写完如下图所示:

点击保存,提交。执行成功后如下图所示:

点击“定义按钮”,可查看workflow.xml的内容,可以看到里面有我们的输入路径及输出路径。如下图所示:

通过HUE查看HDFS上/tmp/output/目录下的内容,如下图所示:

3.2 编辑Workflow

首先打开HUE Web UI,点击“工作流程>编辑器>Workflow”,然后点击“创建”,如下图所示:

选择“Java程序”,将其拖动到“灰色模块”处,如下图所示:

需要填写四个参数:

  • Jar名称:/user/hue/hadoop-mapreduce-examples.jar
  • Main Class:一般是包名+类名。例如:org.apache.hadoop.examples.WordCount
  • 输入路径:hdfs://node123.xdata:8020/user/hue/wc/wordcount.txt
  • 输出路径:hdfs://node123.xdata:8020/tmp/out1输出路径不能已存在。

保存该workflow,点击提交,执行结果如下图所示:

点击“定义按钮”,可查看workflow.xml的内容,可以看到里面有我们的输入路径及输出路径。如下图所示:

通过HUE查看HDFS/tmp/out1/目录下的内容: