Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >腾讯云EMR使用说明: 配置工作流

腾讯云EMR使用说明: 配置工作流

原创
作者头像
fastio
发布于 2018-05-03 12:33:23
发布于 2018-05-03 12:33:23
12.3K0
举报

1. 概述

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

2. 进入Hue控制台

为了使用HUE,请在新建EMR实例的时候,选择HUE组件。对于现有且未部署HUE组件的实例,请提交工单,技术支持通过后台系统为您部署HUE组件。

为了使用HUE组件管理工作流,请先登录HUE控制台页面,具体步骤如下:

  • 1) 登录腾讯官网控制台
  • 2) 进入EMR控制页面,点击相应的EMR实例详情页面
1.png
1.png
  • 3)在详情页面中,请点击“快捷入口”标签,点击控制台连接
  • 4) 首次登陆HUE控制台页面,请使用root账号等,密码为创建集群时候提供的密码。

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

3.png
3.png

3. 在HUE上创建Workflow

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

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

  • 登录Hue控制台页面,具体步骤见章节2.
  • 在菜单栏选择Workflows->Editors->Workflows 进入编辑Workflow页面, 点击Create按钮
4.png
4.png
  • 进入Workflows编辑页面后,给新建Workflow增加名字,以及描述
5.png
5.png

点击图中(1) 填写Workflow名称,点击(2)填写该Workflow的描述。

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

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

3.1 创建Shell类型作业

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

具体步骤如下:

  • 1)在Workflow编辑页面中,选择Shell作业类型图标,用鼠标拖动到编辑区;
6.png
6.png
  • 2)填写作业参数
7.png
7.png

其中,(1) 填写执行Shell脚本的命令,这里我们填写sh; (2) 填写执行sh命令所需的参数;(3)填写脚本路径,注意是在HDFS上的路径。

  • 3)点击右上角保存按钮,保存当前作业配置。
8.png
8.png

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

3.2 创建MapReduce类型作业

在创建MapReduce类型作业前,我们需要把可执行Jar, 以及数据存放在HDFS上。

具体创建作业步骤如下:

  • 1)在Workflow编辑页面中,选择MapReduce作业类型图标,用鼠标拖动到编辑区;
9.png
9.png

其中,(1)选择MapReduce类型作业;(2)使用鼠标将(1)处图标拖拽至(2) 所在区域。

  • 2) 填写Jar路径,注意是HDFS上的路径,填写作业参数;
10.png
10.png

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

  • 3) 点击右上角保存按钮,保存当前作业配置;

至此,我们在Hello-workflow中又增加了一个MR类型的作业。

3.3 创建HIVE类型作业

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

具体步骤如下:

  • 1)将要执行的Hive存放在HDFS中;在本例子中,我们将Hive脚本存放在HDFS的/tmp/simple-hive-query.sql
  • 2)拖拽Hive作业图标至Workflow编辑区;
  • 3) 填写Hive脚本所在路径
11.png
11.png
  • 4) 点击右上角保存按钮,保存作业配置;

3.4 创建Spark类型作业

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

具体步骤如下:

  • 1)将要执行的Spark作业可执行文件存放至HDFS中;在本例子中,我们将Spark作业可执行文件存放在HDFS的/tmp/spark-terasort-1.1-SNAPSHOT-jar-with-dependencies.jar
  • 2) 将代表Spark类型作业的图片,用鼠标拖拽至Workflow编辑区
12.png
12.png
  • 3)填写作业参数
13.png
13.png

其中,(1)处填写可执行程序名称,本例中是Jar包名称;(2)填写Jar包的Main Class名称;(3)填写可执行程序所需参数,注意参数顺序与程序参数顺序一致;(4)填写可执行程序在HDFS中的路径;(5)填写Spark任务所需参数,本例中填写的为--master yarn --deploy-mode cluster --executor-memory 2G --conf spark.default.parallelism=512

  • 4)点击右上角保存按钮,保存作业配置;

至此,我们为hello-workflow 增加了Spark类型作业。

4. 运行Workflow

对于创建完成的Workflow, 我们可以手工点击提交按钮,启动Workflow; 也可以配置定时调度方式执行。

当我编辑好Workflow,并保存后。该Workflow将展现在Workflows->Editors->Workflows 页面下的列表里。

15.png
15.png

4.1 手动触发Workflow运行

具体步骤如下:

  • 1)选择将运行的Workflow, 点击Submit按钮;
16.png
16.png
  • 2)配置Workflow中作业需要的参数。在我们的例子中,只有MapReduce类型作业需要2个参数。
17.png
17.png
  • 3)点击Submit按钮后,就可以提交Workflow,进入准备执行阶段;
18.png
18.png

其中,(1) 展示了Workflow整体执行状况,包括进度等信息;(2) 展示了当前正在执行的作业的执行进度;(3)是产科作业执行日志的链接

  • 4)查看作业执行结果;
19.png
19.png

4.2 定时触发Workflow执行

使用Hue控制台,我们很方便配置定时执行的Workflow。Hue提供一个叫Coordinator的抽象,管理Workflow定时执行。我们需要借助控制台页面创建一个Coordinator来定时触发在第3章节中创建的hello-workflow。 具体步骤如下:

  • 1)点击Workflows->Editors->Coordinators,进入Coordinators Editor 页面
20.png
20.png
  • 2)填写Coordinator 名称,填写相应的描述,选择需要调度的Workflow, 设置调度时间
21.png
21.png

其中, (1)可以命名Coordinator 和 增加描述; (2) 选择需要调度的Workflow; (3) 设置调度周期;(4)可以设置时间区,设置开始时间和结束时间;

  • 3)配置Workflow中作业需要的参数,通常这些参数包含HDFS上数据路径,以时间作为分区参数;
22.png
22.png

在我们的工作流的作业中,定义了两个变量,这里需要配置对应的变量值。

  • 4)点击左下角“Save”按钮,保存配置;
  • 5)最后在Coordinator Editor页面下的列表里,展示出该用户下所有的Coordinator;

5. 结束

本文通过一个例子,展现如何使用EMR产品创建工作流。

参考文献

EMR产品说明文档

HUE user guide

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
EMR入门学习之Hue上创建工作流(十一)
本文将通过一个简单,并且具有典型代表的例子,描述如何使用EMR产品中的Hue组件创建工作流,并使该工作流每天定时执行。
披荆斩棘
2019/11/22
1.6K0
「EMR 开发指南」之 Hue 配置工作流
本文将通过一个简单,并且具有典型代表的例子,描述如何使用EMR产品中的Hue组件创建工作流,并使该工作流每天定时执行。
岳涛
2024/06/30
2641
「EMR 开发指南」之 Hue 配置工作流
EMR(弹性MapReduce)入门之组件Hue(十三)
Hue是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。
小司机带你入门EMR
2020/02/14
2.1K0
腾讯云 EMR 常见问题100问 (持续更新)
Hadoop 目前是数据处理的标准工具,其核心组件包含了HDFS(分布式文件系统)、YARN(资源调度平台)、
benyukiwang
2019/07/02
5.6K1
基于hadoop生态圈的数据仓库实践 —— OLAP与数据可视化(六)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/52386016
用户1148526
2019/05/25
6910
数据开发治理平台Wedata之数仓建设实践
本案例基于腾讯云一站式开发治理平台Wedata、私有网络VPC、云数据库Mysql和弹性Mapreduce构建了全流程的离线数仓建设流程。通过模拟业务数据的导入,分层ETL和数据应用全过程,演示了如何在Wedata上进行高效的数据开发与治理。
张志刚
2022/05/07
2.9K0
EMR(弹性MapReduce)入门之初识EMR(一)
现在混迹技术圈的各位大佬,谁还没有听说过“大数据”呢?提起“大数据”不得不说就是Google的“三架马车”:GFS,MapReduce,Bigtable,分别代表着分布式文件系统、分布式计算、结构化存储系统。可以说这“三架马车”是大数据的基础。
小司机带你入门EMR
2020/01/16
11.6K5
EMR(弹性MapReduce)入门之初识EMR(一)
HAWQ取代传统数仓实践(五)——自动调度工作流(Oozie、Falcon)
        一旦数据仓库开始使用,就需要不断从源系统给数据仓库提供新数据。为了确保数据流的稳定,需要使用所在平台上可用的任务调度器来调度ETL定期执行。调度模块是ETL系统必不可少的组成部分,它不
用户1148526
2018/01/03
2.1K0
HAWQ取代传统数仓实践(五)——自动调度工作流(Oozie、Falcon)
Hadoop数据分析平台实战——180Oozie工作流使用介绍离线数据分析平台实战——180Oozie工作流使用介绍
离线数据分析平台实战——180Oozie工作流使用介绍 Oozie工作流介绍 Oozie的四大组件服务分别是: workflow, coordinator, bundle和sla。 其中sla是作为监控服务协议的一个组件, workflow定义oozie的基本工作流, coordinator定义定时(或者是根据其他资源指标)运行的workflow任务, bundle是将多个coordinator作为一个组件一起管理。 也就是说workflow是oozie中最基本的一个服务组件。 三大服务的的关系
Albert陈凯
2018/04/08
1.2K0
如何在HUE上通过oozie调用Hive SQL工作流
特别说明:该专栏文章均来源自微信公众号《大数据实战演练》,欢迎关注!
create17
2019/02/20
2.7K0
如何在HUE上通过oozie调用Hive SQL工作流
EMR入门学习之EMR初步介绍(一)
Elastic MapReduce(EMR)是腾讯云提供的云上 Hadoop 托管服务,提供了便捷的 Hadoop 集群部署、软件安装、配置修改、监控告警、弹性伸缩等功能,EMR部署在腾讯云平台(CVM)上,配合消息中间件、CDB等产品为企业提供了一套较为完善的大数据处理方案。如下图所示为EMR系统架构图:
披荆斩棘
2019/11/13
7.3K0
如何使用Hue创建Spark1和Spark2的Oozie工作流
使用Hue可以方便的通过界面制定Oozie的工作流,支持Hive、Pig、Spark、Java、Sqoop、MapReduce、Shell等等。Spark?那能不能支持Spark2的呢,接下来本文章就主要讲述如何使用Hue创建Spark1和Spark2的Oozie工作流。
Fayson
2018/03/29
5.1K1
如何使用Hue创建Spark1和Spark2的Oozie工作流
什么是Oozie?如何使用Oozie?蒟蒻博主带你快速上手Oozie!
本篇博客,博主为大家介绍的是Oozie,一种运行在hadoop平台上的工作流调度引擎。如果看完后有点收获,不妨给博主一个大大的赞|ू・ω・` )
大数据梦想家
2021/01/27
2.5K0
什么是Oozie?如何使用Oozie?蒟蒻博主带你快速上手Oozie!
Oozie分布式任务的工作流——脚本篇
继前一篇大体上翻译了Email的Action配置,本篇继续看一下Shell的相关配置。 Shell Action Shell Action可以执行Shell脚本命令,工作流会等到shell完全执行完毕后退出,再执行下一个节点。为了运行shell,必须配置job-tracker以及name-node,并且设置exec来执行shell. Shell既可以使用job-xml引用一个配置文件,也可以在shell action内直接配置。shell action中的配置会覆盖job-xml中的配置。 EL表达式
用户1154259
2018/01/17
1.1K0
基于Hadoop生态圈的数据仓库实践 —— ETL(三)
三、使用Oozie定期自动执行ETL 1. Oozie简介 (1)Oozie是什么 Oozie是一个管理Hadoop作业、可伸缩、可扩展、可靠的工作流调度系统,其工作流作业是由一系列动作构成的有向无环图(DAGs),协调器作业是按时间频率周期性触发的Oozie工作流作业。Oozie支持的作业类型有Java map-reduce、Streaming map-reduce、Pig、 Hive、Sqoop和Distcp,及其Java程序和shell脚本等特定的系统作业。 第一版Oozie是一个基于工作流引擎的服务器,通过执行Hadoop Map/Reduce和Pig作业的动作运行工作流作业。第二版Oozie是一个基于协调器引擎的服务器,按时间和数据触发工作流执行。它可以基于时间(如每小时执行一次)或数据可用性(如等待输入数据完成后再执行)连续运行工作流。第三版Oozie是一个基于Bundle引擎的服务器。它提供更高级别的抽象,批量处理一系列协调器应用。用户可以在bundle级别启动、停止、挂起、继续、重做协调器作业,这样可以更好地简化操作控制。 (2)为什么需要Oozie
用户1148526
2019/05/25
1.1K0
0462-如何在Hue中创建Shell Action工作流续
Fayson在前面的文章《Hue中使用Oozie创建Shell工作流在脚本中切换不同用户》,里面介绍了Shell Action的创建,在文中我们相应的Shell脚本是放在每个Oozie作业对应的WorkSpace的lib目录下。对于一些对于所有用于都公用的Shell脚本可能放在HDFS的公共目录下,那这时创建Shell Action需要注意些什么呢?本篇文章Fayson主要介绍在Hue中创建Shell Action指定工作空间外的Shell脚本。
Fayson
2018/12/17
9460
如何在HUE上通过oozie调用Spark工作流
访问ip:8888/about/#step2,点击下载Oozie Editor/Dashboard,可以下载应用程序示例。如下图所示:
create17
2019/03/12
2.8K0
oozie创建工作流,手动配置和使用H
工作流的执行命令参考博客:https://www.jianshu.com/p/6cb3a4b78556,也可以键入oozie help查看帮助
py3study
2020/01/06
7700
Hadoop的生态系统介绍
Hadoop分布式文件系统是Hadoop项目的两大核心之一,是针对谷歌文件系统(GoogleFileSystem,GFS)的开源实现。是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。
全栈程序员站长
2022/08/31
1.2K0
Hadoop的生态系统介绍
Kettle构建Hadoop ETL实践(七):定期自动执行ETL作业
一旦数据仓库开始使用,就需要不断从源系统给数据仓库提供新数据。为了确保数据流的稳定,需要使用所在平台上可用的任务调度器来调度ETL定期执行。调度模块是ETL系统必不可少的组成部分,它不但是数据仓库的基本需求,也对项目的成功起着举足轻重的作用。
用户1148526
2020/10/26
6.6K0
Kettle构建Hadoop ETL实践(七):定期自动执行ETL作业
推荐阅读
相关推荐
EMR入门学习之Hue上创建工作流(十一)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档