首页 > 代码库 > 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群(第四步)(6)

【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群(第四步)(6)

第一阶段:熟练的掌握Scala语言

  1. Spark框架是采用Scala语言编写的,精致而优雅。要想成为Spark高手,你就必须阅读Spark的源代码,就必须掌握Scala,;
  2. 虽然说现在的Spark可以采用多语言Java、Python等进行应用程序开发,但是最快速的和支持最好的开发API依然并将永远是Scala方式的API,所以你必须掌握Scala来编写复杂的和高性能的Spark分布式程序;
  3. 尤其要熟练掌握Scala的trait、apply、函数式编程、泛型、逆变与协变等;

推荐课程:”精通Spark的开发语言:Scala最佳实践”

 

第二阶段:精通Spark平台本身提供给开发者API

  1. 掌握Spark中面向RDD的开发模式,掌握各种transformation和action函数的使用;
  2. 掌握Spark中的宽依赖和窄依赖以及lineage机制;
  3. 掌握RDD的计算流程,例如Stage的划分、Spark应用程序提交给集群的基本过程和Worker节点基础的工作原理等

推荐课程:“18小时内掌握Spark:把云计算大数据速度提高100倍以上!”

 

第三阶段:深入Spark内核

此阶段主要是通过Spark框架的源码研读来深入Spark内核部分:

  1. 通过源码掌握Spark的任务提交过程;
  2. 通过源码掌握Spark集群的任务调度;
  3. 尤其要精通DAGScheduler、TaskScheduler和Worker节点内部的工作的每一步的细节;

推荐课程:“Spark 1.0.0企业级开发动手:实战世界上第一个Spark 1.0.0课程,涵盖Spark 1.0.0所有的企业级开发技术”

 

第四阶级:掌握基于Spark上的核心框架的使用

Spark作为云计算大数据时代的集大成者,在实时流处理、图技术、机器学习、NoSQL查询等方面具有显著的优势,我们使用Spark的时候大部分时间都是在使用其上的框架例如Shark、Spark Streaming等:

  1. Spark Streaming是非常出色的实时流处理框架,要掌握其DStream、transformation和checkpoint等;
  2. Spark的离线统计分析功能,Spark 1.0.0版本在Shark的基础上推出了Spark SQL,离线统计分析的功能的效率有显著的提升,需要重点掌握;
  3. 对于Spark的机器学习和GraphX等要掌握其原理和用法;

推荐课程:“Spark企业级开发最佳实践”

 

第五阶级:做商业级别的Spark项目

通过一个完整的具有代表性的Spark项目来贯穿Spark的方方面面,包括项目的架构设计、用到的技术的剖析、开发实现、运维等,完整掌握其中的每一个阶段和细节,这样就可以让您以后可以从容面对绝大多数Spark项目。

推荐课程:“Spark架构案例鉴赏:Conviva、Yahoo!、优酷土豆、网易、腾讯、淘宝等公司的实际Spark案例”

 

第六阶级:提供Spark解决方案

  1. 彻底掌握Spark框架源码的每一个细节;
  2. 根据不同的业务场景的需要提供Spark在不同场景的下的解决方案;
  3. 根据实际需要,在Spark框架基础上进行二次开发,打造自己的Spark框架;

推荐课程:“精通Spark:Spark内核剖析、源码解读、性能优化和商业案例实战”

 

点击确认后出现如下视图:

点击“Restart”重新启动:

再次运行我们的第一个Scala程序:

发现我们完全使用了新的背景,同时正确运行了程序,与第一次运行相比,速度快了很多。

【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群(第四步)(6)