MapReduce适合PB级以上海量数据的离线处理MapReduce不擅长什么 实时计算
像MySQL一样,在毫秒级或者秒级内返回结果
流式计算
MapReduce的输入数据集是静态的,不能动态变化
MapReduce自身的设计特点决定了数据源必须是静态的
DAG计算
多个应用程序存在依赖关系,后一个应用程序的输入为前一个的输出
MapReduce编程模型 MapReduce将作业job的整个运行过程分为两个阶段:Map阶段和Reduce阶段
Map阶段由一定数量的Map Task组成
输入数据格式解析:InputFormat
输入数据处理:Mapper
数据分组:Partitioner
Reduce阶段由一定数量的Reduce Task组成
数据远程拷贝
数据按照key排序
数据处理:Reducer
数据输出格式:OutputFormat
InputFormat
文件分片(InputSplit)方法
处理跨行问题
将分片数据解析成key/value对
默认实现是TextInputFormat
TextInputFormat
Key是行在文件中的偏移量,value是行内容
大数据(四) - MapReduce
最新推荐文章于 2022-10-16 23:40:11 发布
MapReduce适合处理PB级别的离线大数据,但不适用于实时计算和流式计算。其编程模型包括Map和Reduce两个阶段,Map阶段涉及InputFormat、Mapper、Combiner和Partitioner,Reduce阶段涉及Reducer和OutputFormat。MapReduce 2.0中,MRAppMaster负责任务划分、资源申请和监控,同时具备数据本地性和推测执行机制以提高效率。常见应用包括数据统计、搜索引擎索引构建和复杂数据分析。
摘要由CSDN通过智能技术生成