Apache Oozie-- 实战操作--集成 hue& 调度 mapreduce 程序|学习笔记

简介: 快速学习Apache Oozie-- 实战操作--集成 hue& 调度 mapreduce 程序

开发者学堂课程【Oozie 知识精讲与实战演练Apache Oozie-- 实战操作--集成 hue& 调度 mapreduce 程序】学习笔记,与课程紧密联系,让用户快速学习知识。 课程地址:https://developer.aliyun.com/learning/course/716/detail/12794


Apache Oozie--实战操作--集成hue&调度mapreduce程序


内容简介:

一、利用 oozie 做整合

二、直接提交 MapReduce 程序


一、利用 oozie 做整合


利用 hue 和 Oozie 来调度 MapReduce 程序,因为需要配置很多的参数,例如:输入输出的路径, class 的类型等等,所以调度 MapReduce 程序会有些复杂。

1、具体操作

(1)打开浏览器,点击 Query 下方的 Scheduler ,选择  Workflow,创建新的工作流,起名为 hue mapreduce 并将描述修改为 itcast。

(2)图片1.png

(3)选择执行节点信息,选择 MapReduce job 并拖住它放到 drop your action here 中,这时需要添加 MapReduce 程序的架包,该架包路径必须位于 HDFS 之上,可以把自己本地开发好的 MapReduce 程序提交到这里,在路径中有一个 MapReduce 程序,是官方制定,选择 hadoop-mapreduce-examples-2.7.5.jar,它的提交需要很多参数,所以需要开启新版本的 API来指定输入输出的类,输入输出的路径,这需要利用 PROPERTIES 来编辑。

图片2.png

(4)点击 PROPERTIES 添加选项,这些选项位于参考交流中,打开配置软件在 Apache Hue 中有

mapreduce_oozie_workflow.xml,这里记录了手动通过 oozie 提交 MapReduce 需要配置的参数,这些参数需要原封不动的复制。

参数如下(具体根据代码情况修改):

(1)是否启用新的 API 来进行配置

复制 mapred.mapper.new-api,注意细心,value 值为 true

(2)是否启用 reduce 新的 API

复制 mapred.reduce.new-api,value 值为 true

(3)指定MR的输出 key 的类型

输出 key 的类型跟业务相关,复制

mapreduce.job.output.key.class, 因为做关于单词的统计,输出的都是单词的类型,所以有关于 Text 的类型,所以后面 value 的值是 org.apache.hadoop.io.Text

(4)指定 MR 的输出的 value 的类型

复制 mapreduce.job.output.value.class, 输出的是单词次数用 IintWritable 来表示 ,

所以 value 的值是 org.apache.hadoop.io.IintWritable

(5)指定输入路径

复制 mapred.input.dir 粘贴,输入路径可以自己敲,指定输入路径为 /oozie/input/,所以 value 的值为 /oozie/input/

(6)指定输出路径

复制 mapred.output.dir 粘贴,输出路径同样重新指定,将它放到 oozie 下的output666, 所以 value 的值为 /oozie/output666

(7)指定执行的 map 类

复制官方制定的类 mapreduce.job.map.class 粘贴,value 的值为org.apache.hadoop.examples.Wordcount$TokenizerMapper, 这里具体根据所需的类改变

(8)指定执行的 reduce 类

复制 mapreduce.job.reduce.class 粘贴, value 的值为 org.apache.hadoop.examples.Wordcount$IntSumReduce

(9)配置 map task 的个数

可以开启,也可以不开启

最终结果如下图所示:

图片3.png

配置好后进行验证,校正好后点击按钮 save 进行保存,保存好后点击左边的按钮submit 进行提交,这就完成利用 hue 和 oozie 来提交定时任务,执行的时候可以点击 Jobs 查看 MapReduce 程序的过程,也可以点击 Workflow 具体查看调度执行的情况。

2、验证

如果出错,点击查看 Logs,Logs 是排错的唯一依据,执行完之后验证是否出错,在文件的根目录下的 oozie 中有 output666,双击 part-r-00000, 点击 Open in Browser, 确定里面的内容为单词统计的内容,这就完成了 MapReduce 程序的提交。

图片4.png


二、直接提交 MapReduce 程序

直接提交 MapReduce 程序,相当于提交一个架包。

点击 Query 下的 Editor,选择 MapReduce 程序,选择架包,然后进行添加Properties,参数不变。

目录
打赏
0
0
0
0
319
分享
相关文章
什么是Apache Kafka?如何将其与Spring Boot集成?
什么是Apache Kafka?如何将其与Spring Boot集成?
250 5
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
121 1
Serverless 应用引擎操作报错合集之集成sls时出现报错,是什么导致的
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
113 0
如何在 Apache JMeter 中集成 Elastic APM
如何在 Apache JMeter 中集成 Elastic APM
89 1
Flink CDC:基于 Apache Flink 的流式数据集成框架
本文整理自阿里云 Flink SQL 团队研发工程师于喜千(yux)在 SECon 全球软件工程技术大会中数据集成专场沙龙的分享。
18930 11
Flink CDC:基于 Apache Flink 的流式数据集成框架
函数计算操作报错合集之怎么何集成nls tts python sdk
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
107 2
实时数据流处理:Dask Streams 与 Apache Kafka 集成
【8月更文第29天】在现代数据处理领域,实时数据流处理已经成为不可或缺的一部分。随着物联网设备、社交媒体和其他实时数据源的普及,处理这些高吞吐量的数据流成为了一项挑战。Apache Kafka 作为一种高吞吐量的消息队列服务,被广泛应用于实时数据流处理场景中。Dask Streams 是 Dask 库的一个子模块,它为 Python 开发者提供了一个易于使用的实时数据流处理框架。本文将介绍如何将 Dask Streams 与 Apache Kafka 结合使用,以实现高效的数据流处理。
178 0
Spring Boot与Apache Kafka Streams的集成
Spring Boot与Apache Kafka Streams的集成
Spring Boot与Apache Kafka集成的深度指南
Spring Boot与Apache Kafka集成的深度指南
Spring Boot与Apache Kafka集成的深度指南
Spring Boot与Apache Kafka集成的深度指南

热门文章

最新文章

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等