如何成为云计算大数据Spark高手?

云计算 Spark
Spark是发源于美国加州大学伯克利分校AMPLab的集群计算平台,它立足于内存计算,性能超过Hadoop百倍,从多迭代批量处理出发,兼收并蓄数据仓库、流处理和图计算等多种计算范式,是罕见的全能选手。

Spark是发源于美国加州大学伯克利分校AMPLab的集群计算平台,它立足于内存计算,性能超过Hadoop百倍,从多迭代批量处理出发,兼收并蓄数据仓库、流处理和图计算等多种计算范式,是罕见的全能选手。Spark采用一个统一的技术堆栈解决了云计算大数据的如流处理、图技术、机器学习、NoSQL查询等方面的所有核心问题,具有完善的生态系统,这直接奠定了其一统云计算大数据领域的霸主地位。

伴随Spark技术的普及推广,对专业人才的需求日益增加。Spark专业人才在未来也是炙手可热,轻而易举可以拿到百万的薪酬。而要想成为Spark高手,也需要一招一式,从内功练起:通常来讲需要经历以下阶段:

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

Spark框架是采用Scala语言编写的,精致而优雅。要想成为Spark高手,你就必须阅读Spark的源代码,就必须掌握Scala,;

虽然说现在的Spark可以采用多语言Java、Python等进行应用程序开发,但是最快速的和支持最好的开发API依然并将永远是Scala方式的API,所以你必须掌握Scala来编写复杂的和高性能的Spark分布式程序;

尤其要熟练掌握Scala的trait、apply、函数式编程、泛型、逆变与协变等;

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

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

第三阶段:深入Spark内核

  • 此阶段主要是通过Spark框架的源码研读来深入Spark内核部分:
  • 通过源码掌握Spark的任务提交过程;
  • 通过源码掌握Spark集群的任务调度;
  • 尤其要精通DAGScheduler、TaskScheduler和Worker节点内部的工作的每一步的细节;

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

  • Spark作为云计算大数据时代的集大成者,在实时流处理、图技术、机器学习、NoSQL查询等方面具有显著的优势,我们使用Spark的时候大部分时间都是在使用其上的框架例如Shark、Spark Streaming等:
  • Spark Streaming是非常出色的实时流处理框架,要掌握其DStream、transformation和checkpoint等;
  • Spark的离线统计分析功能,Spark 1.0.0版本在Shark的基础上推出了Spark SQL,离线统计分析的功能的效率有显著的提升,需要重点掌握;
  • 对于Spark的机器学习和GraphX等要掌握其原理和用法;

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

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

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

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

前面所述的成为Spark高手的六个阶段中的第一和第二个阶段可以通过自学逐步完成,随后的三个阶段最好是由高手或者专家的指引下一步步完成,最后一个阶段,基本上就是到"无招胜有招"的时期,很多东西要用心领悟才能完成。

针对Spark人员的培养,目前国内的专业机构,大多还是在Android和Hadoop方向上提供相关的课程及训练。Spark亚太研究院,作为国内首家Spark技术研究及推广机构,在帮助企业规划、部署、开发、培训和使用Spark为核心,同时提供Spark源码研究和应用技术训练。在完成了对Spark源码的彻底研究的同时不断在实际环境中使用Spark的各种特性的基础之上,Spark亚太研究院推出了国内首个Spark训练体系:《18小时内掌握Spark》、《Spark企业级开发最佳实践》、《精通Spark:Spark内核剖析、源码解读、性能优化和商业案例实战》、《Spark 1.0.0企业级开发动手》、《Spark架构案例鉴赏》、《精通Spark的开发语言:Scala最佳实践》, 帮助学习者,通过上述几个阶段的培养,逐步精通spark技术。了解Spark训练体系课程(www.sparkinchina.com)。

责任编辑:黄丹 来源: 投递
相关推荐

2015-10-08 10:04:39

Python高手

2015-11-03 09:31:07

自学高手数据分析

2018-09-10 21:14:48

2013-07-18 09:42:10

大数据云计算落地

2018-10-12 14:26:04

SparkSpark框架Scala

2013-10-17 11:32:57

微软大数据SQL Server

2018-05-14 12:03:37

云计算

2015-01-13 11:18:21

云计算十大困惑

2013-07-11 13:52:31

大数据云计算

2021-01-14 10:37:50

云计算大数据人工智能

2012-04-06 08:47:44

云计算大数据安全

2015-01-13 10:40:22

云计算十大困惑

2018-06-25 11:20:18

LinuxPython大数据

2013-01-16 10:10:26

2012-08-31 09:48:12

云计算大数据

2015-02-03 03:18:56

SparkSpark内核

2021-02-22 10:20:06

云计算分析数字化转型

2019-04-08 17:11:46

大数据框架Spark

2019-06-27 11:18:00

Spark内存大数据

2014-04-08 10:55:15

点赞
收藏

51CTO技术栈公众号