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

mapreduce 工作流程

mapreduce 工作流程

  1. 数据预处理。在任务开始前,首先调用类库,将输入文件分为多个分片。1
  1. 任务分配。JobTracker为集群中空闲的节点分配Map任务或者Reduce任务。设集群中有M个Map任务和R个Reduce任务,Reduce任务数通常小于Map任务数。
  2. Map任务。Mapper读取自己所属的文件分片,将每一条输入数据转换为键值对,使用Map函数对每一个键值对进行处理,得到一个新的键值对,作为中间结果缓存在当前节点。
  3. 缓存文件定位。Map任务得到的中间结果被周期性地写入Mapper所在的本地硬盘中,并把文件的存储位置信息经由JobTracker传递给Reducer。
  4. Reducer拉取文件。Reducer通过位置信息到相应的Mapper处拉取这些文件,将同一key对应的所有取值合并,得到键值组。
  5. Reduce任务。Reducer将所读取到的键值组使用Reduce函数进行计算,得到最终结果并将其输出。
  6. 结束。当所有的Map任务和Reduce任务运行完毕后,系统会自动结束各个节点上的对应进程并将任务的执行情况反馈给用户。

impala特性

a.没有使用MapReduce作为底层执行计算框架,虽然MapReduce是非常好的并行计算框架,但它更多地是面向批处理模式,而不是面向交互式的SQL执行模式。
b.与MapReduce相比Impala将整个查询分成一批查询计划树,而不是一连串的MapReduce执行任务,在将查询计划分发之后,Impala采用拉链式的方式拉取计算结果,把结果数据组成执行树并进行流式传递汇集。减少了把中间结果写入磁盘的步骤,最后有从磁盘读取数据的开销。

shuffle机制

shuffle机制是MapReduce框架中的一个核心部分,主要负责将Map阶段产生的数据传递


http://www.kler.cn/a/469968.html

相关文章:

  • IP查询于访问控制保护你我安全
  • nlp培训重点-2
  • STM32之CAN通讯(十一)
  • Bash Shell的操作环境
  • VR+智慧消防一体化决策平台
  • Ubuntu下的小bug
  • 头歌python实验:网络安全应用实践-恶意流量检测
  • 【FTP 协议】FTP主动模式
  • Rabbitmq消息补偿机制
  • 【机器学习】从监督学习的懵懂起步至迁移学习的前沿瞭望
  • iOS - 自定义引用计数(MRC)
  • Cursor 实战技巧:好用的提示词插件Cursor Rules
  • 深度解读 “驭风行动”
  • Latex中inproceedings 和 article的区别
  • 【wiki知识库】08.添加用户登录功能--后端SpringBoot部分
  • mac 使用zip2john破解zip压缩包密码
  • Ruby语言的编程范式
  • idea全局替换显示不全(ctrl+shift+R)
  • Teleport 传送
  • 前端开发中页面优化的方法
  • LLM之RAG实战(五十一)| 使用python和Cypher解析PDF数据,并加载到Neo4j数据库
  • unity3d——3D动画学习day01 状态机相关参数
  • HackMyVM-Always靶机的测试报告
  • Linux文件系统权限
  • 2024 高级爬虫笔记(五)mysql、MongoDB、reids
  • 【Java数据结构】二叉树