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);

相关文章
|
运维 监控 Devops
【运维杂谈】DevOps是什么意思?
【运维杂谈】DevOps是什么意思?
444 0
|
供应链 算法 数据可视化
案例场景分析 | 学习笔记
快速学习案例场景分析。
175 0
案例场景分析 | 学习笔记
|
供应链 开发者
SWOT 分析 | 学习笔记
快速学习 SWOT 分析。
279 0
SWOT 分析 | 学习笔记
|
SQL 安全 Java
案例介绍|学习笔记
快速学习案例介绍
案例介绍|学习笔记
|
缓存 网络架构 开发者
案例_2|学习笔记
快速学习案例_2
案例_2|学习笔记
|
开发者
案例_1|学习笔记
快速学习案例_1
案例_1|学习笔记
|
架构师 数据安全/隐私保护 开发者
案例分析|学习笔记
快速学习案例分析。
101 0
案例分析|学习笔记
|
传感器 物联网 芯片
硬件电路分析 | 学习笔记
快速学习 硬件电路分析
179 0
硬件电路分析 | 学习笔记
|
存储 运维 NoSQL
典型案例分析|学习笔记
快速学习典型案例分析
典型案例分析|学习笔记
|
SQL HIVE 开发者
SearchType 案例介绍|学习笔记
快速学习 SearchType 案例介绍。