一、MapReduce概述

1.定义

是分布式运算框架

MapReduce:用户处理业务相关代码+自身的默认代码

2.优势劣势

优点:

1).易于编程。用户只关心业务逻辑,实现框架的接口。

2).良好的扩展性。可以动态增加服务器,解决计算资源不够的问题。

3).高容错性:任何一台挂掉,可以将任务转移到其它节点。

4).适合海量数据计算(TB/PB)几千台服务器共同计算。

劣势:

1).不擅长实时计算。mysql

2).不擅长流式计算。SparkStream flink适合。

3).不擅长DAG有向无环图计算。spark

3.Mapreduce核心思想-WordCount案例

例如:统计其中每一个单词出现的总次数(查询结果:a-p 一个文件,q-z一个文件)

Map阶段:分阶段

Reduce阶段:统计阶段

MapReduce程序运行时有三类进程:

1)、MrAppMaster:负责整个程序的过程调度及状态协调。

2)、MapTask:负责Map阶段整个数据处理流程处理。

3)、ReduceTask:负责Reduce阶段的整个处理流程。

说这是一个任务,一个job,一个mr都是一个事情

二、序列化

1.常用序列化进程:

除了String类型变成Text,其他类型都在Java类型基础上加Writable.

Java类型

Hadoop Writable类型

Boolean

BooleanWritable

Byte

ByteWritable

Int

IntWritable

Float

FloatWritable

Long

LongWritable

Double

DoubleWritable

String

Text

Map

MapWritable

Array

ArrayWritable

Null

NullWritable

三、核心框架原理

1.输入数据InputFormat

2.shuffle

3.输出数据OutputFormat

4.join

5.ETL

hadoop作为etl工具之一。

清理的过程只需要在Mapper程序进行,不需要运行Reduce程序。

6.总结

四、压缩

1、有哪些压缩算法

2.特点

3.在生产上怎么用

五、常见的问题及解决方案

82-125跳过去

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部