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

Java MR Map Reduce 模型


学习一个模型,框架之前最好的方法就是你自己尝试去实现
模型是将一种解决固定场景的方法和行为固化下来
框架是将模型中固定的行为方法固化,将可变的部分按照某种方法让用户自己实现


角色:
1. master:接受任务,拆分任务,下发任务
2. mapper:根据任务边界,读取任务块,任务处理,综合初步的结果
3. reduce:输出最终统计结果,并输出结果


处理过程:Input→Mapper→shuffle→Reducer→Output
1. 任务边界:
    - 目标:100个任务,拆分为10个,每个task executor需要可以知道自己需要处理哪些任务
    - 要求:有序,间隔一致
    - 举例:如UUID的主键根本没法用;雪花ID有序,但间隔不确定;mysql的自增ID可以;固定文件的行号也可以
2. 任务读取:
    - 目标:给我分配的是10-19号的任务,那么就需要可以直接读取10~19号任务,即:随机读取
    - 组件:如果按照MySQL存储任务,则自增ID就可以读取行;如果是文件存储,那么S3,DFS都支持随机读取行
3. 处理者分任务:
    - 微服务实例可以是多个,而访问这些机器都是通过负载均衡,实际访问哪个机器都不清楚,怎么区分不同机器,进行任务的不同下发呢
    - master需要可以控制mapper的梳理和输入
4. 结果汇总预处理
    - 汇总结果机器也会多台,怎么进行汇总任务的拆分呢? 这个维度一般按照结果维度进行拆分
    - 拆分维度:比如结果要一个人的工资,那么按照工资,个税,福利等维度拆分
    - 目的,这个拆分的目的汇总不过来进行任务的拆分,方便汇总
5. 结果汇总
    - 将不同维度的结果按照一定规则综合

谷歌论文:
https://research.google/pubs/mapreduce-simplified-data-processing-on-large-clusters/
四火:
https://www.raychase.net/6422

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 综合能源充电站有序充电策略
  • 【数据集】遥感影像建筑物变化检测对比实验常用数据集分享
  • 基于Thymeleaf、bootstrap、layUI 混合前端应用
  • 为什么帕金森病患者的症状有时会出现波动性?
  • Godot《躲避小兵》实战之为游戏添加音效
  • 【IoTDB 线上小课 06】列式写入=时序数据写入性能“利器”?
  • 智能ai写作哪个好用?这几款工具让你的写作更加高效
  • .NET 给NuGet包添加Readme
  • 个性化营销:数字化时代的致胜法宝
  • 【C语言】常见文件操作
  • RK3588开发笔记-pdm接口ES7201音频采集调试记录
  • 安科瑞AEW100电力改造智能电力仪表,体积小巧
  • 深度学习分类:交叉熵
  • 瑞吉外卖--登录退出功能的实现
  • vscode教程
  • CentOS7简单部署NFS
  • ECMAScript6(0):ES6简明参考手册
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Java比较器对数组,集合排序
  • Js基础知识(四) - js运行原理与机制
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • spring boot下thymeleaf全局静态变量配置
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 双管齐下,VMware的容器新战略
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 温故知新之javascript面向对象
  • 我感觉这是史上最牛的防sql注入方法类
  • 再谈express与koa的对比
  • #pragma once
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (04)odoo视图操作
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (第61天)多租户架构(CDB/PDB)
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (全注解开发)学习Spring-MVC的第三天
  • (三)c52学习之旅-点亮LED灯
  • (十八)SpringBoot之发送QQ邮件
  • (十六)串口UART
  • (四)React组件、useState、组件样式
  • (五十)第 7 章 图(有向图的十字链表存储)
  • (一)SvelteKit教程:hello world
  • (一)插入排序
  • *1 计算机基础和操作系统基础及几大协议
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .Net Core 中间件验签
  • .NET Core中Emit的使用
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .net程序集学习心得