10.EMR-MR 节点 WordCount 案例演示|学习笔记

本文涉及的产品
对象存储 OSS,标准 - 本地冗余存储 20GB 3个月
大数据开发治理平台DataWorks,资源组抵扣包 750CU*H
对象存储 OSS,内容安全 1000 次 1年
简介: 快速学习10.EMR-MR 节点 WordCount 案例演示

开发者学堂课程【DataWorks一站式大数据开发治理平台精品课程:10.EMR-MR 节点 WordCount 案例演示】与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/81/detail/1247


10.EMR-MR 节点 WordCount 案例演示

内容介绍

一、需求准备

二、IDE开发MR作业

三、OSS

四、Dataworks

五、实操

内容简介:

实现:基于 EMR 在 DataWorks 上使用 MR 节点实现分布式单词个数统计(以存储在OSS上为例)。实操一共分为4个步骤,第一步是需求准备,配置好 Dataworks EMR引擎,准备原始数据以及预期结果。第二步是在ide上面开发mr的作业,添加 poem 依赖,编写代码打jar包。第三步在oss上面新建存储路径以及上传原始数据。第四步在 Dataworks 上提交资源,提交资源,新建 emr-mr 的任务,执行任务,最后查看结果。


一、需求准备

1、原始数据

Input01.txt

1 hadoop emr hadoop dw

2 hive hadoop

3 dw emr

2、预期结果

1 wordcount

2 dw2

3 hadoop 3

4 emr2

5 hive 1

准备了一个 Input01.tx 的文件,里面一共是三行数据,8个单词预期的结果是统计出每1个单词的个数。


二、IDE开发MR作业

1、添加pom依赖

hadoop 依赖可以在 EMR 管控台查看集群版本。添加的是2.8.5的版本,因为 emr集群用的是2.8.5的。

2、编写程序,打jar包

要在 MapReduce 中读写 OSS ,需要配置如下的参数。

3、WordCount代码:

JAVA 代码为例,将 Hadoop 官网 WordCount 例子做如下修改。对该实例的修改只是在代码中添加了 AccessKey ID 和 AccessKey Secret 的配置,以便作业有权限访问OSS 文件

三、OSS

原始数据上传至OSS

在 OSS bucket 中建/emr/datas/wordcount02/inputs目录,存入原始数据。顺便新建一个/emr/jars 目录 ,等下存放 jar 资源。里面存储的是 input01.txt 数据。

四、Dataworks

1、提交jar资源

(1)依赖在业务流程 EMR 引擎下新建 EMR jar 资源,存储在 oss bucket的/emr/jars目录下(首次使用需要一键授权) , 提交。

(2)先新建一个业务流程,在业务流程下面有一个 EMr 的模块,模块下面找到资源,新建以后直接上传刚刚打好的jar包,路径是选择 oss,如果是首次使用,需要点一键授权,那路径就是新建的 emr jars 路径。注意,新建完后需要点提交,这样才可以提交到oss上面。是新建MR的review的任务,那在同样是业务流程下面找到数据开发,新建节点一m二m二点,使用已编辑代码内容,是以使用了引用资源的方式,找到刚刚那个新建的加资源,右键引用资源,那就会出现两行代码。

2、新建MR任务

(1)在业务流程EMR引擎下,新建 EMR MR 节点。

(2)用引用资源的方法调用jar包。

(3)编辑,执行EMR-MR命令。##@resource_reference{"onaliyun_mr_wordcount-1.0-SNAPSHOT.jar"}

onaliyun_mr__wordcount 1.0-SNAPSHOT.jar cn.apache.hadoop.onaliyun.examples.EmrWordCount oss://onaliyun-bucket-2/emr/datas/wordcount02/inputs oss://onaliyun-bucket 2/emr/datas/wordcount02/outputs

那补充后面的主路径以及输入路径和输出路径,输入是 input,输出是 output,要保证 output 在 oss 上面是不存在的,编辑完以后就可以直接点运行来执行,执行成功以后可以查看结果。

3、查看结果

返回 OSS 控制台,就会有一个 output 的目录,点开以后就会有三个 part 可以下载下来看结果,为了方便查看可以在 dataworks 上面建 hive 的外表,先建一个:新建 EMR HIVE 节点,建挂载在 OSS 上的 hive 外表,读取表数据。可以看到代码:

CREATE EXTERNAL TABLE IF NOT EXISTS wordcounte2_ result_ tb

‘word' STRING COMMENT '单词' ,

‘cout’STRING COMMENT '技数'

ROW FORMAT delimited fields terminated by’ \t ‘

location'oss://onaliyun-bucket-2/emr/datas/wordcounte02/0utputs/';

SELECT * FROM wordcount02_ result_ tb;

得到结果集。


五、实操

1、新建一个项目,onaliyun emr wordcount03

2、配置 poem 的依赖,依赖可以去官方文档上找,可以进入 emr 的官方文档,EMr的官方文档下面有个mapreduce开发手册,复制以下代码:

<dependency>

<groupId>org . apache . hadoop</groupId>

<artifactId>hadoop- mapreduce-cl ient -common</arti factId>

<version>2.6.0</version>

</ dependency>

<dependency>

<groupId>org . apache . hadoop</groupId>

<artifactId>hadoop- common</artifactId>

<version>2.6. 0</version>

</dependency>

3、版本用的是2.8.5,可以到那个 emr 的集群上面看一下。所以把版本改成2.8.5。

相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
相关文章
|
JavaScript 应用服务中间件 Apache
获取客户端的IP地址
获取客户端的IP地址
【IntelliJ IDEA】idea 收起注释、打开注释、隐藏注释的快捷键
【IntelliJ IDEA】idea 收起注释、打开注释、隐藏注释的快捷键
1248 0
|
SQL 关系型数据库 MySQL
SQLAlchemy使用指南
**SQLAlchemy 指南**:Python SQL 工具包,提供数据库高级抽象。安装:`pip install sqlalchemy`,加上数据库驱动(如 MySQL: `pip install mysql-connector-python`)。基础使用包括:创建数据库连接、定义模型、创建表、添加/查询/更新/删除数据。高级功能涉及关系映射、原生 SQL 语句及 SQLAlchemy Core。推荐阅读官方文档以深入了解。
980 1
|
存储 算法 搜索推荐
【数据结构与算法】:插入排序与希尔排序
欢迎大家来到初阶数据结构的最后一小节:排序
【数据结构与算法】:插入排序与希尔排序
|
安全 Cloud Native Java
带你读《2022龙蜥社区全景白皮书》——5.7.1 机密计算平台技术
带你读《2022龙蜥社区全景白皮书》——5.7.1 机密计算平台技术
339 75
|
监控 网络安全 开发工具
PyCharm专业版中的服务器配置指南
PyCharm专业版中的服务器配置指南
799 0
|
安全 网络协议 JavaScript
网络安全实验九 恶意代码实验
网络安全实验九 恶意代码实验
521 0
|
JSON API 数据格式
免费违禁词检测api
免费敏感词检测 免费违禁词检测 免费文本内容审核 免费文本内容安全审核