持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第14天,10月更文诚意加码,激发写作潜力|掘金·日新计划 - 掘金 (juejin.cn)点击查看活动详情
简单概述 MapReduce 的定义
MapReduce 是一个分布式运算程序的编程框架,是用户开发“基于 Hadoop 的数据分析应用”的核心框架。
MapReduce 核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop 集群上
概述 MapReduce 的优点
1. MapReduce 易于编程
2. 良好的扩展性
3. 高容错性
4. 适合 PB 级以上海量数据的离线处理
概述 MapReduce 缺点
1. 不擅长实时计算
2. 不擅长流式计算
3. 不擅长 DAG(有向无环图)计算
概述 MapReduce 的核心进程
一个完整的 MapReduce 程序在分布式运行时有三类实例进程:
MrAppMaster:负责整个程序的过程调度及状态协调。
MapTask:负责 Map 阶段的整个数据处理流程。
ReduceTask:负责 Reduce 阶段的整个数据处理流程。
列举5个 MapReduce 的常见的序列化数据类型
IntWritable
LongWritable
Text
NullWritable
FloatWritable
DoubleWritable
概述Hadoop的序列化数据特点
紧凑 :高效使用存储空间。
快速:读写数据的额外开销小。
互操作:支持多语言的交互
简单概述HDFS定义
HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。
HDFS 的使用场景:适合一次写入(上传),多次读出(下载)的场景。一个文件经过创建、写入和关闭之后就不需要改变文件的内容(只支持文件的内容追加)。
简单概述HDFS优点
高容错性:数据自动保存多个副本,副本丢失自动恢复
适合处理大数据:包括数据规模大和文件规模大
可构建在廉价机器上,成本较低
简单概述HDFS缺点
不适合低延时的数据访问
无法高效的对大量小文件进行存储
不支持文件并发写入,文件随机修改
列出HDFS的组成架构
NameNode
DataNode
Client
SecondNameNode