当前位置: 首页 > news >正文

MapReduce并行计算框架

MapReduce是一种编程模型,采用主从集群结构,与Hdfs类似,也是由主节点(JobTracker,在hadoop2.0中,由Yarn代替JobTracker的工作)进行任务的调度与分配,从节点(TaskTracker,在hadoop2.0中,由ApplicationMaster代替TaskTracker的工作)进行具体任务的执行,需要注意的一点是,MapReduce和hdfs一样,默认情况下并没有配置高可用,这个可以根据业务情况,基于zookeeper进行配置,另外它本身也具备一定的容错性,这个主要体现在主节点对从节点状态的监控上,当发现某个节点失效了,会进行重启,从而提高了系统的健壮性。

MapReduce主要用来进行大规模数据集的并行运算,它将计算过程抽象为Map和Reduce两个函数,

map函数用于将数据解析为key/value结构,并存于本地目录,reduce函数会将key相同的数据进行业务计算处理,并最终将结果写到hdfs上。

MapTask执行过程:先将输入的数据进行切片,即切成大小相等的数据块,每一个分片会作为单个MapWorker(由开发者自定义业务处理逻辑)的输入被处理,以便于并行工作,在进行对外输出之前,mapReduce框架会按照key值排序,使得key相同的数据彼此相邻,同样也可以调用combiner函数使其聚合

ReduceWorker执行过程:reduce函数接到map函数的输出,会先进行混洗(shuffle)和分组(sort),之后会进入reduce自定义业务逻辑阶段,处理完成后,将数据存储进hdfs。

http://www.hskmm.com/?act=detail&tid=39319

相关文章:

  • 什么是Java Lambda
  • Java Stream流
  • Java 类加载器
  • 面试总被追问k8s调度器工作原理, 收藏 == 学废
  • Java 虚拟机
  • Java 反射
  • Java 语法糖
  • Java 代理
  • 纸笔群群友命题乱做
  • 本人对KMP如何匹配到所有结果的算法存在一些疑惑...
  • 字符与Java国际化编程
  • 进程与线程
  • 解决 Windows 下 Claude 通过 cmd/powershell 运行出错失去响应的问题
  • # Ubuntu 根目录空间扩展操作手册(基于 RAID 关联磁盘 /dev/sdb2)
  • 25.10.25随笔NOIP模拟赛总结
  • 013的加密世界权威指南_第二部分
  • Perplexity Comet AI浏览器「等待网络链接」解决方案
  • Redis 持久化 内存模型 - 指南
  • 新地球
  • 2025 年 10 月商用厨房设备,酒店厨房设备,大型厨房设备厂家最新推荐,聚焦高端定制需求与全案交付能力
  • zr模拟赛day8T2
  • 251026
  • 2025 年 10 月食堂厨房设备厂家最新推荐,聚焦资质、案例、售后的食堂场景深度解读
  • embedding
  • 2025 年 10 月不锈钢厨房设备厂家最新推荐,产能、专利、环保三维数据透视
  • 2025 年 10 月餐饮厨房设备厂家最新推荐,实力品牌深度解析采购无忧之选!
  • DINO版本进化
  • 基于深度学习神经网络协同过滤模型(NCF)的视频推荐体系
  • sometime some time sometimes
  • 关于容斥原理