NLineInputFormat 案例分析| 学习笔记

简介: 快速学习 NLineInputFormat 案例分析

开发者学堂课程【Hadoop 分布式计算框架 MapReduc:NLineInputFormat 案例分析学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/94/detail/1506


NLineInputFormat 案例分析


目录:

一、特性

二、使用案例

三、需求分析

 

一、特性

如果使用 NlineInputFormat,代表每个 map 进程处理的 oputSplit 不再按 Block块去划分,而是按 NineInputFormat 指定的行数N来划分。即输入文件的总行数N=切片数,如果不整除,切片数=商+1。

以下是一个示例,仍然以上面的4行输入为例。

Rich learning form

Intelligent learning engine

Learning more convenient

From the real demand for more close to the enterprise

例如,如果 N 是2,则每个输入分片包含两行。开启2个 MapTask。

(0,Rich learning form)

(19,Intelligent learning engine)

另一个 mapper 则收到后两行:

(47. Learning more convenient)

(72.From the real demand for more close to the enterprise)

这里的键和值与 TextInputFormat 生成的一样。

 

二、使用案例

1.需求。

对每个单词进行个数统计,要求根据每个输入文件的行数来规定输出多少个切片。此案例要求每三行放入一个切片中。

(1)输入数据。

banzhang ni hao.

xihuan hadoop banzhang·I

banzhang ni hao.

xihuan hadoop banzhang

banzhang ni hao.

xihuan hadoop banzhang.

banzhang ni hao.

xihuan hadoop banzhang

banzhang ni hao.

xihuanhadoop banzhang banzhang ni hao.

xihuanhadoop banzhang

(2)期望输出数据。

Number of splits:4

三、需求分析。

1、需求:对每个单词进行个数统计,要求每三行放入一个切片中。

2、输入数据

banzhang ni hao

xihuan hado op banzhang dc

banzhang ni hao

xihuan hadoop banzhang dc

banzhang ni hao

xihuan hadoop banzhang dc

banzhang ni hao

xihuan hadoop banzhang dc

banzhang ni hao

xihuan hado op banzhang dc

3、期望输出数据

NARN [org.apache.hadoop.mapreduce.JobResourceUploader] - Hadoop command-line

NARN [org.apache.hadoop.mapreduce.JobResourceUploader]-No job iar file set

INFO [org.apache.hadoop.mapreduce.lib.input.FileInputFormat]- Total input p

INFO [org.apache.hadoop.mapreduce.JobSubmitter] - number of splits:4

INFO [org.apache.hadoop.mapreduce.JobSubmitter] - Submitting tokens for job:

INFO [org.apache.hadoop.mapreduce.Job] - The url to track the job: http://lo INFO[org.apache.hadoop.mapreduce.Job- Running job: job loca1998538859 000 INFO[org.apache.hadoop.mapred.LocalJobRunner]- OutputCommitter set in conf

INFO [org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter] - File Out

4、Map 阶段

(1)获取一行

(2)切割

(3)循环写出

5、Reduce 阶段

(1)汇总

(2)输出

6、 Driver

// 设置每个切片 InputSplit 中划分三条记录

NLinelnputFormat.setNumLinesPerSplit(job.3);

相关文章
|
6月前
|
人工智能 搜索推荐
【前置课程】推荐系统简介(一)
【前置课程】推荐系统简介(一)
57 1
|
BI 定位技术 Python
SWMM从入门到实践教程 04 快速入门案例的模拟执行
在左侧双击Options中的Dates,即可弹出时间的设置。此处为了教学,建议仅模拟6个小时,加快结果的生成。实际项目中,可以根据需求对指定场次的降雨时常进行模拟,并注意这个时常一定不低于降雨时常(我们的雨量计设置了2小时降雨,所有66个小时的模拟也是合理的)。
|
运维 监控 Devops
【运维杂谈】DevOps是什么意思?
【运维杂谈】DevOps是什么意思?
465 0
|
前端开发
前端知识案例-图的简介
前端知识案例-图的简介
60 0
前端知识案例-图的简介
|
4月前
|
存储 JavaScript 网络安全
XSS 攻击是什么?如何防护?
XSS 攻击是什么?如何防护?
124 0
|
供应链 算法 数据可视化
案例场景分析 | 学习笔记
快速学习案例场景分析。
案例场景分析 | 学习笔记
|
SQL 安全 Java
案例介绍|学习笔记
快速学习案例介绍
案例介绍|学习笔记
|
开发者
案例_1|学习笔记
快速学习案例_1
案例_1|学习笔记
|
缓存 网络架构 开发者
案例_2|学习笔记
快速学习案例_2
案例_2|学习笔记