Hadoop、Yarn、Spark是企业构建生产环境下大数据中心的关键技术,也是大数据处理的核心技术,是每个云计算大数据工程师必修课。
大数据时代的精髓技术在于Hadoop、Yarn、Spark,是大数据时代公司和个人必须掌握和使用的核心内容。
Hadoop、Yarn、Spark是Yahoo!、阿里淘宝等公司公认的大数据时代的三大核心技术,是大数据处理的灵魂,是云计算大数据时代的技术命脉之所在,以Hadoop、Yarn、Spark为基石构建起来云计算大数据中心广泛运行于Yahoo!、阿里淘宝、腾讯、百度、Sohu、华为、优酷土豆、亚马逊等公司的生产环境中。
Hadoop、Yarn、Spark三者相辅相成
n Hadoop中的HDFS是大数据时代公认的首选数据存储方式;
n Yarn是目前公认的最佳的分布式集群资源管理框架;
n Spark是目前公认的大数据统一计算平台;
Hadoop在云计算大数据的发展早期做出了卓越的贡献,对Hadoop的理解尤其是从源码角度掌握其架构和运行机制是每个云计算大数据从业人员的必修课;作为目前公认的集群资源管理和分配框架的Yarn发展到现在已经非常成熟了,在国内以淘宝为引领者的公司把Yarn的使用推向了新的巅峰,作为大数据从业者,Yarn是另外一项必修技术;Spark是继Hadoop之后,成为替代Hadoop的下一代云计算大数据核心技术,目前SPARK已经构建了自己的整个大数据处理生态系统,如流处理、图技术、机器学习、Interactive Ad-Hoc Query等方面都有自己的技术,并且是Apache顶级Project,可以预计的是2014年下半年到2015年在社区和商业应用上会有爆发式的增长,国外一些大型互联网公司已经部署了Spark,甚至连Hadoop的早期主要贡献者Yahoo现在也在多个项目中部署使用Spark;国内的淘宝、优酷土豆、网易、Sohu、Baidu、腾讯、皮皮网、华为等已经使用Spark技术用于自己的商业生产系统中,国内外的应用开始越来越广泛。Spark正在逐渐走向成熟,并在这个领域扮演更加重要的角色,刚刚结束的2014 Spark Summit上的信息,Spark已经获得世界20家顶级公司的支持,这些公司中包括Intel、IBM等,同时更重要的是包括了最大的四个Hadoop发行商(Cloudera, Pivotal, MapR, Hortonworks)都提供了对非常强有力的支持Spark的支持,尤其是是Hadoop的头号发行商Cloudera在2014年7月份宣布“Impala’s itfor interactive SQL on Hadoop; everything else will move to Spark”,具体链接信息 http://t.cn/Rvdsukb,不得不提的是Spark的“One stack to rule them all”的特性,Spark的特点之一就是用一个技术堆栈解决云计算大数据中流处理、图技术、机器学习、交互式查询、误差查询等所有的问题,此时我们只需要一个技术团队通过Spark就可以搞定一切问题,而如果基于Hadoop就需要分别构建实时流处理团队、数据统计分析团队、数据挖掘团队等,而且这些团队之间无论是代码还是经验都不可相互借鉴,会形成巨大的成本,而使用Spark就不存在这个问题;
工业和信息化部电信研究院于2014年5月发布的“大数据白皮书”中指出:
“2012 年美国联邦政府就在全球率先推出“大数据行动计划(Big datainitiative)”,重点在基础技术研究和公共部门应用上加大投入。在该计划支持下,加州大学伯克利分校开发了完整的大数据开源软件平台“伯克利数据分析软件栈(Berkeley Data Analytics Stack),其中的内存计算软件Spark的性能比Hadoop 提高近百倍,对产业界大数据技术走向产生巨大影响”
----来源:工业和信息化部电信研究院
2014 SparkSummit上结束之后,整个云计算大数据就已经发声巨变:
1,2014年5月24日Pivotal宣布了会把整个Sparkstack包装在Pivotal HDHadoop发行版里面。这意味这最大的四个Hadoop发行商(Cloudera, Pivotal, MapR, Hortonworks)都提供了对Spark的支持。http://t.cn/RvLF7aM星火燎原的开始;
2,Mahout前一阶段表示从现在起他们将不再接受任何形式的以MapReduce形式实现的算法,另外一方面,Mahout宣布新的算法基于Spark;
3,Cloudera的机器学习框架Oryx的执行引擎也将由Hadoop的MapReduce替换成Spark;
4,Google已经开始将负载从MapReduce转移到Pregel和Dremel上;
5,FaceBook则将原来使用Hadoop的负载转移到Presto上;
现在很多原来使用深度使用Hadoop的公司都在纷纷转向Spark,国内的淘宝是典型的案例,国外的典型是Yahoo!,我们以使用世界上使用Hadoop最典型的公司Yahoo!为例,大家可以从Yahoo!的数据处理的架构图看出Yahoo!内部正在使用Spark:
不得不提的是Spark的“One stack to rule them all”的特性,Spark的特点之一就是用一个技术堆栈解决云计算大数据中流处理、图技术、机器学习、交互式查询、误差查询等所有的问题,此时我们只需要一个技术团队通过Spark就可以搞定一切问题,而如果基于Hadoop就需要分别构建实时流处理团队、数据统计分析团队、数据挖掘团队等,而且这些团队之间无论是代码还是经验都不可相互借鉴,会形成巨大的成本,而使用Spark就不存在这个问题;
伴随Spark技术的普及推广,对专业人才的需求日益增加。Spark专业人才在未来也是炙手可热,作为Spark人员,需要掌握的技能模型如下:
本次课程由具有长期Hadoop、Yarn、Spark源码研究和多个大数据中心构建经验的Spark亚太研究院院长和首席专家主讲,内容深入浅出而直接源码本质,以大数据案例实施和开发的视角带领大家一睹云计算大数据的核心精髓和最佳实践。
1、 聚集大数据领域最核心的三大技术(Hadoop、Yarn、 Spark)
Hadoop方向50%:掌握生产环境下、源码级别下的Hadoop经验,帮助客户解决性能、集群的一些难点问题;
Yarn方向10%:掌握最佳的分布式集群资源管理框架,能够轻松使用Yarn管理Hadoop、Spark等;
Spark方向30%:未来统一的大数据框架平台,剖析Spark架构、内核等核心技术及四大子框架和商业案例,一次性解决Spark开发中所有的问题
2、 课程内容接地气,即解决当下的问题,有帮助企业驾驭未来
3、 课程会从本质架构级别入手,围绕源代码剖析,商业案例进行授课
1、 掌握构建大数据中心架构所需的实战技术
2、 对Hadoop,yarn,spark的理解是本质级别的理解,对未来自学、解决生产环境难题会有很大的帮助
3、 10个世界级商业应用案例分享,开拓学员视野
4、 课程本身将从生产角度切人,从数据采集、构建生产系统入手
5、 课前会提供大量资料及环境构建,课后提供免费交流机会,如沙龙活动及课后学习包
对大数据有强烈兴趣,能够读懂Java等语言的基本语法;
---讲师:
王家林 :
Spark亚太研究院院长和首席专家,中国目前唯一的移动互联网和云计算大数据集大成者。
在Spark、Hadoop、Android等方面有丰富的源码、实务和性能优化经验。彻底研究了Spark从0.5.0到0.9.1共13个版本的Spark源码,并已完成2014年5月31日发布的Spark1.0源码研究。
Hadoop源码级专家,曾负责某知名公司的类Hadoop框架开发工作,专注于Hadoop一站式解决方案的提供,同时也是云计算分布式大数据处理的最早实践者之一;
Android架构师、高级工程师、咨询顾问、培训专家;
通晓Spark、Hadoop、Android、HTML5,迷恋英语播音和健美;
致力于Spark、Hadoop、Android、HTML5的软、硬、云整合的一站式解决方案;
超过10本的IT畅销书作者;
Hadoop领域4个开创先河
1,全程覆盖Hadoop的所有核心内容
2,全程注重动手实作,循序渐进中掌握Hadoop企业级实战技术
4,具备掌握Hadoop完整项目的分析、开发、部署的全过程的能力
Yarn领域的2个先河:
1, 第一个在生产环境的下解析Yarn的课程;
2, 细致剖析Yarn实现的架构和源码;
Spark领域开创6个世界第一:
1, 这是世界上第一个全程覆盖以Spark为核心的大数据的所有内容的课程:包含Scala、Spark、Spark与Hadoop的结合、企业生产环境下的商业案例、框架源码剖析等;
2, 这是世界上第一个Spark大数据零基础课程:学习此课程不需要任何基础,所有的内容在课程中都会细致的剖析,学员不需要额外学习任何内容,从零基础到直到进入企业工作;
3, 这是世界上第一个全程注重动手实作的大数据课程:通过不断的案例实践的循序渐进中掌握Spark企业级实战技术;
4, 这是世界上第一个彻底而系统的讲解Spark 1.0的课程:根据Spark的最新稳定版本,包括Spark集群的构建,Spark架构设计、Spark内核剖析、Shark、Spark SQL、Spark Streaming、图计算GraphX、机器学习、Spark on Yarn、JobServer等;
5, 这是世界上第一个使用Spark商业案例教学的课程:展示企业线上生产系统中应用 Spark的成功案例,以及与现有企业BI平台整合的方案 ;
6, 这是世界上第一个讲解Spark与Hadoop完美结合的课程:目前而言,在世界的生产环境中往往是Spark和Hadoop并存,如何驾驭这种并存架构,在课程中给出了完美的解答,尤其是通过企业案例讲解,以达到最优化使用大数据系统潜能的目的;
---讲师:
王家林 :
Spark亚太研究院院长和首席专家,中国目前唯一的移动互联网和云计算大数据集大成者。
在Spark、Hadoop、Android等方面有丰富的源码、实务和性能优化经验。彻底研究了Spark从0.5.0到0.9.1共13个版本的Spark源码,并已完成2014年5月31日发布的Spark1.0源码研究。
Hadoop源码级专家,曾负责某知名公司的类Hadoop框架开发工作,专注于Hadoop一站式解决方案的提供,同时也是云计算分布式大数据处理的最早实践者之一;
Android架构师、高级工程师、咨询顾问、培训专家;
通晓Spark、Hadoop、Android、HTML5,迷恋英语播音和健美;
致力于Spark、Hadoop、Android、HTML5的软、硬、云整合的一站式解决方案;
超过10本的IT畅销书作者;
Total Hadoop Professional |
|
培训对象 |
1,对云计算、分布式数据存储于处理、大数据等感兴趣的朋友 2,传统的数据库,例如Oracle、MaySQL、DB2等的管理人员 3,Java、C等任意一门编程语言的开发者; 4,网站服务器端的开发人员 5,在校大学生、中专生或者刚毕业的学生 6,云计算大数据从业者; 7,熟悉Hadoop生态系统,想了解和学习Hadoop与Spark整合在企业应用实战案例的朋友; 8,系统架构师、系统分析师、高级程序员、资深开发人员; 9,牵涉到大数据处理的数据中心运行、规划、设计负责人; 10,政府机关,金融保险、移动和互联网等大数据来源单位的负责人; 11,高校、科研院所涉及到大数据与分布式数据处理的项目负责人; 12,数据仓库管理人员、建模人员,分析和开发人员、系统管理人员、数据库管理人员以及对数据仓库感兴趣的其他人员; |
参加课程基础要求 |
对云计算有强烈的兴趣,能够看懂基本的Java语法。 |
培训后的目标能力 |
直接上手Hadoop工作,具备直接胜任Hadoop开发工程师的能力;轻松驾驭以Spark为核心的云计算大数据实战技术,从容解决95%以上的云计算大数据业务需求; |
培训技能目标 |
• 彻底理解Hadoop 代表的云计算实现技术的能力 • 具备开发自己网盘的能力 • 具备修改HDFS具体源码实现的能力 • 具备掌握Pig企业级开发和管理的能力 • 具备掌握Hive企业级开发和管理的能力 • 掌握Spark的企业级开发的所有核心内容,包括Spark集群的构建,Spark架构设计、Spark内核剖析、Shark、Spark SQL、Spark Streaming、图计算GraphX、机器学习、Spark on Yarn、JobServer等; • 掌握Spark和Hadoop协同工作,能够通过Spark和Hadoop轻松应对大数据的业务需求; • 掌握企业线上生产系统中应用Spark /Hadoop成功案例,以及与现有企业BI平台整合的方案; |
培训职业目标 |
• Hadoop工程师,能够开发的Hadoop分布式应用 • Hadoop完整项目的分析、开发、部署的全过程的能力 • Spark高级工程师 • 大数据项目总负责人 • 云计算大数据CTO |
培训内容
时间 |
内容 |
备注 |
第一天 |
第1个主题:Hadoop三问(彻底理解Hadoop) 1、 Hadoop为什么是云计算分布式大数据的事实开源标准软件框架? 2、Hadoop的具体是如何工作? 3、Hadoop的生态架构和每个模块具体的功能是什么?
第2个主题:Hadoop集群与管理(具备构建并驾驭Hadoop集群能力) 1、 Hadoop集群的搭建 2、 Hadoop集群的监控 3、 Hadoop集群的管理 4、 集群下运行MapReduce程序
第3主题:彻底掌握HDFS(具备开发自己网盘的能力) 1、HDFS体系架构剖析 2、NameNode、DataNode、SecondaryNameNode架构 3、保证NodeName高可靠性最佳实践 4、DataNode中Block划分的原理和具体存储方式 5、修改Namenode、DataNode数据存储位置 6、使用CLI操作HDFS 7、使用Java操作HDFS
第4主题:彻底掌握HDFS(具备修改HDFS具体源码实现的能力) 1、RPC架构剖析 2、源码剖析Hadoop构建于RPC之上 3、源码剖析HDFS的RPC实现 4、源码剖析客户端与与NameNode的RPC通信
|
|
时间 |
内容 |
备注 |
第二天 |
第1个主题:彻底掌握MapReduce(从代码的角度剖析MapReduce执行的具体过程并具备开发MapReduce代码的能力) 1、MapReduce执行的经典步骤 2、wordcount运行过程解析 3、Mapper和Reducer剖析 4、自定义Writable 5、新旧API的区别以及如何使用就API 6、把MapReduce程序打包成Jar包并在命令行运行
第2个主题:彻底掌握MapReduce(具备掌握Hadoop如何把HDFS文件转化为Key-Value让供Map调用的能力) 1、 Hadoop是如何把HDFS文件转化为键值对的? 2、 源码剖析Hadoop读取HDFS文件并转化为键值对的过程实现 3、 源码剖析转化为键值对后供Map调用的过程实现
第3个主题:彻底掌握MapReduce(具备掌握MapReduce内部运行和实现细节并改造MapReduce的能力) 1、 Hadoop内置计数器及如何自定义计数器 2、 Combiner具体的作用和使用以及其使用的限制条件 3、 Partitioner的使用最佳实践 4、 Hadoop内置的排序算法剖析 5、 自定义排序算法 6、 Hadoop内置的分组算法 7、 自定义分组算法 8、 MapReduce常见场景和算法实现
第4个主题:Hadoop集群高级实践(具体Hadoop企业管理员的实际能力) 1、 动态增加Hadoop的Slave节点 2、 动态修改Hadoop的Replication数目 3、 使用命令管理Hadoop集群实践 4、 剖析Hadoop的安全模式 5、 日志剖析实践
|
|
时间 |
内容 |
备注 |
第三天
|
第1个主题:实战ZooKeeper(具备理解并通过命令行和Java两种方式操作ZooKeeper的能力) 1、ZooKeeper架构剖析及集群搭建 2、使用命令行操作ZooKeeper 3、使用Java操作ZooKeeper
第2个主题:实战HBase(具备掌握HBase企业级开发和管理的能力) 1、 HBase架构实现 2、 HBase的数据模型和存储模型 3、 使用CLI操作HBase 4、 使用Java操作HBase 5、 使用MapReduce代码向HBase中导入批量数据
第3个主题:实战Pig(具备掌握Pig企业级开发和管理的能力) 1、 Pig架构 2、 使用Pig操作数据的内幕 3、 使用Pig实例数据
第4个主题:实战Hive(具备掌握Hive企业级开发和管理的能力) 1、 Hive架构剖析 2、 Hive在HDFS中存储实现 3、 使用MySQL作为Hive的Metastore 4、 内部表、分区表、外部表、桶表 5、 视图 6、 自定义Hive的函数
|
|
时间 |
内容 |
备注 |
第四天
|
第1个主题:实战Sqoop(具备使用Sqoop自由转换传统关系型数据库和HDFS中数据的能力) 1、Sqoop架构 2、实战Sqoop把MySQL中的数据导入到HDFS中 3、实战Sqoop把HDFS中的数据导入到MySQL中 4、定义Sqoop任务
第2个主题:实战Flume(具备使用Flume收集和管理分布式日志的能力) 1、 Flume架构体系剖析 2、 Agent配置信息 3、 动态监控文件夹中文件的变化 4、 把数据导入到HDFS中 5、 实例监控文件夹文件的变化并把数据导入到HDFS中
第3个主题:Hadoop系统管理进阶(具备掌握MapReduce内部运行和实现细节并改造MapReduce的能力) 1、 Hadoop的安全模式 2、 系统监控 3、 系统维护 4、 委任节点和接触节点 5、 系统升级 6、 更多的系统管理工具实战 7、 系统管理最佳实践
第4个主题:电信日志项目(具备掌握Hadoop完整项目的分析、开发、部署的全过程的能力) 通过电信商搜集用户接打电话、上网等产生的日志对用户的电话和网络行为进行分析和监控,初步贯穿前面讲解的主要内容,使大家熟悉Hadoop一个完整项目的分析、开发、部署的全过程。
第5个主题:某知名电商公司Hadoop实施全程揭秘(具备掌握商业级别Hadoop的分析、开发、部署的全过程的能力) 通过电商公司现场案例展示商业级别一个完整项目的分析、开发、部署的全过程 |
|
第五天 |
第1个主题:YARN(具备理解和使用YARN的能力) 1、YARN的设计思想 2、YARN的核心组件 3、YARN的共组过程 4、YARN应用程序编写
第2个主题:Yarn资源调度器(具备理解和使用YARN的能力) 1、YARN资源调度架构 2、层级队列 3、Capacity Scheduler 4、Fair Scheduler
第3个主题:ResourceManager深度剖析(具备深刻理解ResourceManager的能力) 1、ResourceManager的架构 2、ClientRMService 与AdminService 3、NodeManager 4、Container 5、Yarn的 HA机制
第4个主题:NodeManager深度剖析(具备掌握NodeManager及Container的能力) 1、NodeManager架构 2、Container Management 3、Container lifecycle 4、资源管理与隔离 |
|
第六天 |
第1堂课:Spark的架构设计(具备掌握Spark架构的能力)
1.1 Spark生态系统剖析 1.2 Spark的架构设计剖析 1.3 RDD计算流程解析 1.4 Spark的出色容错机制
第2堂课:Spark编程模型(具备掌握编程核心的能力)
2.1 RDD 2.2 transformation 2.3 action 2.4 lineage 2.5宽依赖与窄依赖
第3堂课:深入Spark内核(具备掌握Spark内核的能力)
3.1 Spark集群 3.2 任务调度 3.3 DAGScheduler 3.4 TaskScheduler 3.5 Task内部揭秘
第4堂课:Spark的广播变量与累加器(具备掌握Spark广播和累加器的能力)
4.1 广播变量的机制 4.2 广播变量使用最佳实践 4.3 累加器的机制 4.4 累加器使用的最佳实践
第5堂课:Spark多语言编程(具备掌握多语言编程的能力)
5.1 PySpark API 5.2 使用 Python编写Spark程序 5.3 Java 8的函数式编程 5.4 使用Java 8编写Spark程序 5.5 Spark编程语言最佳选择:Scala 5.6 用Scala演绎Spark编程艺术
第6堂课:SparkContext解析和数据加载以及存储(具备掌握Spark加载以处理数据的能力)
6.1 源码剖析SparkContext 6.2 Scala、Java、Python使用SparkContext 6.4 加载数据成为RDD 6.5 把数据物化 |
|
时间 |
內 容 |
备注 |
第七天 |
第7堂课:深入实战RDD(具备掌握Spark RDD深入处理计算和优化计算的能力)
7.1 DAG 7.2 深入实战各种Scala RDD Function 7.3 Spark Java RDD Function 7.4 RDD的优化问题
第8堂课:Shark的原理和使用(具备掌握Shark用于数据分析统计的能力)
8.1 Shark与Hive 8.2 安装和配置Shark 8.3 使用Shark处理数据 8.4 在Spark程序中使用Shark Queries 8.5 SharkServer 8.6 思考Shark架构
第9堂课:Spark的机器学习(具备掌握Spark的机器学习的能力)
9.1 LinearRegression 9.2 K-Means 9.3 Collaborative Filtering
第10堂课:Spark的图计算GraphX(具备掌握Spark图计算的能力)
10.1 Table Operators 10.2 Graph Operators 10.3 GraphX
第11堂课:Spark SQL(具备掌握Spark SQL进行的能力)
11.1 Parquet支持 11.2 DSL 11.3 SQL on RDD
|
|
时间 |
內 容 |
备注 |
第八天 |
第12堂课:Spark实时流处理(具备掌握Spark 实时流处理技术的能力) 12.1 DStream 12.2 transformation 12.3 checkpoint 12.4 性能优化
第13堂课:Spark程序的测试(具备掌握Spark程序测试的能力) 13.1 编写可测试的Spark程序 13.2 Spark测试框架解析 13.3 Spark测试代码实战
第14堂课:Spark的优化(具备掌握Spark优化的能力) 14.1 Logs 14.2 并发 14.3 内存 14.4 垃圾回收 14.5 序列化 14.6 安全
第15堂课:Spark on Yarn(具备掌握Spark on Yarn的能力) 15.1 Spark on Yarn的架构原理 15.2 Spark on Yarn的最佳实践
第16堂课:JobServer(具备掌握Spark as a cloud service的能力) 16.1 JobServer的架构设计 16.2 JobServer提供的接口 16.3 JobServer最佳实践
第17堂课:Spark项目案例实战(具备掌握Spark项目进行数据处理的能力) 17.1 Spark项目的最佳架构模式 17.2 案例的介绍和架构 17.3 案例的源码实现 17.4 调优
|
|