云架构师进阶攻略(完整版)-5

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 云架构师进阶攻略(完整版)

十、基于Hadoop和Spark了解大数据平台


对于数据架构的部分,其实经历了三个过程,分别是Hadoop Map-Reduce 1.0,基于Yarn的Map-Reduce 2.0, 还有Spark。


如下图是Map-Reduce 1.0的过程。


           

Map-Reduce的过程将一个大任务,split称为多个Map Task,分散到多台机器并行处理,将处理的结果保存到本地,第二个阶段,Reduce Task将中间结果拷贝过来,将结果集中处理,取得最终结果。


在Map-Reduce 1.0的时候,跑任务的方式只有这一种,为了应对复杂的场景,将任务的调度和资源的调度分成两层。其中资源的调用由Yarn进行,Yarn不管是Map还是Reduce,只要向他请求,他就找到空闲的资源分配给他。


每个任务启动的时候,专门启动一个Application Master,管理任务的调度,他是知道Map和Reduce的。这就是Map-Reduce 2.0如下图。


           

这里Yarn相当于外包公司的老板,所有的员工都是worker,都是他的资源,外包公司的老板是不清楚接的每一个项目的。


Application Master相当于接的每个项目的项目经理,他是知道项目的具体情况的,他在执行项目的时候,如果需要员工干活,需要向外包公司老板申请。


Yarn是个通用的调度平台,能够跑Map-Reduce 2,就能跑Spark。


           

Spark也是创建Spark自己的Application Master,用于调度任务。


Spark之所以比较快,是因为前期规划做的好,不是像Map-Reduce一样,每一次分配任务和聚合任务都要写一次硬盘,而是将任务分成多个阶段,将所有在一个Map都做了的合成一个阶段,这样中间不用落盘,但是到了需要合并的地方,还是需要落盘的。


对于Hadoop和Spark的基本原理,我写了下面的文章。


通俗说基于Yarn的Map-Reduce过程

通俗说Spark


真正写Map-Reduce程序的时候,有很多的方法论,这里我总结了几个,供您参考。


大数据方法论之优化Map-Reduce过程

大数据方法论之网页消重的Map-Reduce算法

大数据方法论之PageRank的Map-Reduce计算

大数据方法论之Nutch基于Map-Reduce的爬取方法


十一、基于Lucene和ElasticSearch了解搜索引擎

           

当大数据将收集好的数据处理完毕之后,一般会保存在两个地方,一个是正向索引,可以用Hbase,Cassandra等文档存储,一个是反向索引,方便搜索,就会保存在基于Lucene的ElasticSearch里面。


对于Lucene,在职业生涯的早期,写过一个《Lucene 原理与代码分析完整版》有500多页。


对于搜索引擎的通用原理,写了下面的文章。


不是技术也能看懂搜索引擎

搜索引擎的设计(1):词典的设计

搜索引擎的设计(2):倒排表的设计上

搜索引擎的设计(3):倒排表的设计下


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
机器学习/深度学习 人工智能 弹性计算
【MindStudio训练营第一期】--【新手班】学习笔记②
【MindStudio训练营第一期】--【新手班】学习笔记②
|
机器学习/深度学习 弹性计算 开发工具
【MindStudio训练营第一期]--【新手班】学习笔记①
【MindStudio训练营第一期]--【新手班】学习笔记①
|
存储 缓存 人工智能
云架构师进阶攻略(完整版)-1
云架构师进阶攻略(完整版)
339 0
云架构师进阶攻略(完整版)-1
|
运维 架构师 网络协议
云架构师进阶攻略(完整版)-2
云架构师进阶攻略(完整版)
134 0
云架构师进阶攻略(完整版)-2
|
存储 运维 Kubernetes
云架构师进阶攻略(完整版)-4
云架构师进阶攻略(完整版)
191 0
|
网络协议 架构师 Linux
云架构师进阶攻略(完整版)-3
云架构师进阶攻略(完整版)
185 0
|
缓存 监控 Kubernetes
云架构师进阶攻略(完整版)-6
云架构师进阶攻略(完整版)
161 0
|
移动开发 前端开发 JavaScript
xy哥怒肝,前端学习路线一条龙【内含入门到进阶到高级精选资源】无套路获取!!!
xy哥怒肝,前端学习路线一条龙【内含入门到进阶到高级精选资源】无套路获取!!!
|
人工智能 前端开发 JavaScript
2021,如何成为一名专业的前端工程师? | 开发者社区精选文章合集(三十八)
数智化浪潮下,前端技术如何发展?前端工程师又如何选择?看过来人的经验分享!
2021,如何成为一名专业的前端工程师? | 开发者社区精选文章合集(三十八)
|
弹性计算 Linux 开发工具
Linux指令入门|阿里云产品内容精选(三十六)
本文内容选自阿里云开发者云起实验室,帮助开发者实现上云第一站,快速学习了解云计算及云产品。
Linux指令入门|阿里云产品内容精选(三十六)