系统性能调优必知必会
陶辉
智链达 CTO,前阿里云 P8 高级技术专家
36367 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 47 讲
系统性能调优必知必会
15
15
1.0x
00:00/00:00
登录|注册

28 | MapReduce:如何通过集群实现离线计算?

MapReduce模式
归并排序算法
排序
在Hadoop等分布式系统中实现
Google的抽象模式
中间结果归并
分布式集群并行处理
分而治之策略
大规模数据
无法使用MapReduce模式完成的计算任务
join功能
聚合统计
MapReduce流程
Web日志分析
简化MapReduce模式
统计数据
可以使用MapReduce的计算任务
AES加密算法
分库分表
AKF立方体Z轴扩展
分布式系统中的应用
实时计算
离线计算
优化计算任务
思考题
SQL接口
分而治之
分布式集群
MapReduce

该思维导图由 AI 生成,仅供参考

你好,我是陶辉。
接下来的 2 节课我将介绍如何通过分布式集群优化计算任务。这一讲我们首先来看对于有边界静态数据的离线计算,下一讲再来看对无边界数据流的实时计算。
对大量数据做计算时,我们通常会采用分而治之的策略提升计算速度。比如单机上基于递归、分治思想实现的快速排序、堆排序,时间复杂度只有 O(N*logN),这比在原始数据集上工作的插入排序、冒泡排序要快得多(O(N2))。然而,当单机磁盘容量无法存放全部数据,或者受限于 CPU 频率、核心数量,单机的计算时间远大于可接受范围时,我们就需要在分布式集群上使用分治策略。
比如,大规模集群每天产生的日志量是以 TB 为单位计算的,这种日志分析任务单台服务器的处理能力是远远不够的。我们需要将计算任务分解成单机可以完成的小任务,由分布式集群并行处理后,再从中间结果中归并得到最终的运算结果。这一过程由 Google 抽象为MapReduce 模式,实现在 Hadoop 等分布式系统中。
虽然 MapReduce 已经有十多个年头的历史了,但它仍是分布式计算的基石,这种编程思想在新出现的各种技术中都有广泛的应用。比如当在单机上使用 TensorFlow 完成一轮深度学习的时间过久,或者单颗 GPU 显存无法存放完整的神经网络模型时,就可以通过 Map 思想把数据或者模型分解给多个 TensorFlow 实例,并行计算后再根据 Reduce 思想合并得到最终结果。再比如知识图谱也是通过 MapReduce 思想并行完成图计算任务的。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

MapReduce是一种用于在分布式集群中进行离线计算的编程模型,通过分而治之的策略提升计算速度。文章介绍了MapReduce的基本原理和应用。首先,分析了在分布式系统中如何使用分治策略进行批量计算,以及MapReduce模式在大规模数据排序等任务中的应用。其次,讨论了SQL语言如何简化MapReduce模式,通过聚合、连接和统计函数实现数据分析。最后,指出MapReduce适用于静态数据,而对于实时、不断增长的无边界数据流则无能为力。总的来说,MapReduce模式在分布式计算中具有重要意义,尤其适用于静态数据的离线处理。 MapReduce模式在分布式计算中具有重要意义,尤其适用于静态数据的离线处理。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《系统性能调优必知必会》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • J.Smile
    能够使用mapreduce思想处理的任务是可以分解且子任务之间没有依赖关系,最后可以做合并的类型。

    作者回复: 是的

    2020-07-23
    7
  • Run
    多看看算法,数据结构是没错的

    作者回复: 是的,单机算法与分布式算法有许多共性基础,多了解下,可以让知识体系更健壮

    2020-07-31
    1
收起评论
显示
设置
留言
2
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部