EMR入门学习之Hue上创建工作流(十一)

2019-11-27 18:02:01 浏览数 (1)

前言

本文将通过一个简单,并且具有典型代表的例子,描述如何使用EMR产品中的Hue组件创建工作流,并使该工作流每天定时执行。

一、进入Hue控制台

1、 登录腾讯官网控制台

2、 进入EMR控制页面,点击左侧组件管理页面

3、找到Hue组件,点击“原生WebUI访问地址”进入Hue页面

4、首次登陆HUE控制台页面,请使用root账号,密码为创建集群时候提供的密码。

注意:由于EMR产品的组件启动账号为hadoop。请在首次以root账号登录HUE控制台后,新建hadoop账户。后续所有作业通过hadoop账号来提交。

二、在HUE上创建Workflow

一个Workflow 包含多个作业。目前支持Hive, MR, Spark, Shell, Java 可执行程序等多种类型的作业。

本文设计一个简单的Workflow, 包含4种类型作业:Shell、MR、Spark、Hive. 作为例子,上述四个作业直接并无数据相互依赖。

在菜单中通过【Query】,【Schedule】,【Workflow】进入页面,如图:

进入Workflows编辑页面后,给新建Workflow增加名字,以及描述:

我们创建一个名为hello-workflow的Workflow, 共包含4个作业:Shell类型作业、MR类型左右、Spark类型作业、HIVE类型作业。这些作业依次执行。

接下来,分别介绍不同类型作业创建过程。

1、创建shell类型的作业

Hue 可以提交Shell类型作业,事先将Shell脚本存放至HDFS中。

在Workflow编辑页面中,选择Shell作业类型图标,用鼠标拖动到编辑区,具体步骤如下:

填写作业参数:

其中,1是填写执行Shell脚本的命令,这里我们填写sh; 2是填写脚本路径,注意是在HDFS上的路径;

3是填写执行sh命令所需的参数。配置完成点击右上角保存按钮,保存当前作业配置。

至此,我们已经在hello-workflow中增加了一个Shell类型的作业了。

创建MapReduce类型作业

在创建MapReduce类型作业前,我们需要把可执行Jar, 以及数据存放在HDFS上。在Workflow编辑页面中,选择MapReduce作业类型图标,用鼠标拖动到编辑区,具体创建作业步骤如下:

填写Jar路径,注意是HDFS上的路径,填写作业参数:

其中,(1)填写可执行Jar在HDFS中的路径;(2)填写Jar所需参数,在本例子中是数据输入和输出路径。

点击右上角保存按钮,保存当前作业配置,至此,我们在Hello-workflow中又增加了一个MR类型的作业。

创建hive类型作业

在创建Hive类型作业前,请确认EMR实例中已经部署了Hive组件,否则作业执行将失败。

将要执行的Hive存放在HDFS中,拖拽Hive作业图标至Workflow编辑区,填写Hive脚本所在路径,具体步骤如下:

点击右上角保存按钮,保存作业配置。

创建spark类型作业

在创建Spark作业前,请确认EMR实例中已经部署了Spark组件,否则作业将执行失败;

将要执行的Spark作业可执行文件存放至HDFS中;在本例子中,我们将Spark作业可执行文件存放在HDFS的/tmp/spark-terasort-1.1-SNAPSHOT-jar-with-dependencies.jar,将代表Spark类型作业的图片,用鼠标拖拽至Workflow编辑区,具体步骤如下:

填写作业参数:

其中,1处填写可执行程序名称,本例中是Jar包名称;2处填写可执行程序所需参数,注意参数顺序与程序参数顺序一致;3处填写可执行程序在HDFS中的路径;4处填写Spark任务所需参数

点击右上角保存按钮,保存作业配置,至此,我们为hello-workflow 增加了Spark类型作业。

三、运行Workflow

手动触发Workflow运行

选择将运行的Workflow, 点击Submit按钮

定时触发Workflow执行

使用Hue控制台,我们很方便配置定时执行的Workflow,使用Hue控制台,具体步骤如下:

配置参数如下:

其中1是对my schedule 进行描述;2是选择需要调度的Workflow;3是设置调度周期;4是可以设置时间区,设置开始时间和结束时间;5是MapReduce任务的输入输出路径,点击6进行保存配置。

0 人点赞