作者 CDA数据分析师
在开始这次公开课的内容介绍之前,我想带你了解一些大数据的概念和知识。
一、为什么大数据时代下Spark如此火热?
伴随Spark技术的普及推广,对专业人才的需求日益增加。Spark专业人才在未来也是炙手可热,轻而易举可以拿到百万的薪酬。最近,一份由O`Reilly做出的数据调查表明,数据技术人才学会使用Apache Spark和它与影随行的编程语言Scala,比博士学位更多地提高工资收入。
在2017年的数据技术界年收入调查中,O`Reilly发现,使用Apache Spark和Scala语言的人和工资更高的人之间有很强的关联性。一个调查结论发现,使用Spark的人的工资比工资中间值要多11000美元,而Scala语言又能为工资带来4000美元的增加值。
“Spark是最大的收入影响因素,这一点不足为奇。”O`Reilly在它的报道中说:“如果我们暂且不追究因果关系的严谨性,那么完全可以说,学会Spark显然比拿到博士学位对于工资的影响更大。Scala更是一个额外的奖励——那些两者都使用的人比其他条件相同的同行,工资要高出超过15000美元。
二、Spark是什么?
Spark是一个用来实现快速而通用的集群计算的平台。
在速度方面,Spark扩展了广泛使用的MapReduce计算模型,而且高效地支持更多计算模式,包括交互式查询和流处理。在处理大规模数据集时,速度是非常重要的。速度快就意味着我们可以进行交互式的数据操作,否则我们每次操作就需要等待数分钟甚至数小时。Spark的一个主要特点就是能够在内存中进行计算,因而更快。不过即使是必须在磁盘上进行的复杂计算,Spark依然比MapReduce更加高效。
三、Spark的核心组件有哪些?
Spark项目包含多个紧密集成的组件。Spark的核心是一个对由很多计算任务组成的、运行在多个工作机器或者是一个计算集群上的应用进行调度、分发以及监控的计算引擎。由于Spark的核心引擎有着速度快和通用的特点,因此Spark还支持为各种不同应用场景专门设计的高级组件,比如SQL和机器学习等。这些组件关系密切并且可以相互调用,这样你就可以像在平常软件项目中使用程序库那样,组合使用这些的组件。
Spark的各个组件如图所示,后面附各个组件功能的简单介绍。