spark是大数据技术与应用吗?大数据开发零基础需要学习什么内容
前面我们说到0基础学习大数据开发需要的Java基础、大数据基础和大数据技术学习的重点之一Hadoop,今天加米谷大数据继续来介绍大数据学习的重点之二:Spark。
四、Spark生态体系
(1)Spark简介:
Spark 是专为大规模数据处理而设计的快速通用的计算引擎。用来构建大型的、低延迟的数据分析应用程序。可用它来完成各种各样的运算,包括 SQL 查询、文本处理、机器学习等。Spark 是由加州大学伯克利分校AMP实验室 开发的通用内存并行计算框架,是一种与 Hadoop 相似的开源集群计算环境,它扩展了MapReduce计算模型,高效的支撑更多计算模式,包括交互式查询和流处理。
Spark的特性:
高效(运行速度快)、易用(支持Java、Python和scala的API,支持多种高级算法)、通用(提供了大量的库,提供了统一的解决方案)、兼容(方便与其他的开源产品进行融合)。
(2)名字由来:
Spark的故事始于2009年,当时加州大学伯克利分校中一个名为的Matei Zaharia班级项目,项目名为Mesos。 当时的想法是构建一个可以支持各种集群系统的集群管理框架,类似 Yarn 。 在构建了 Mesos 后,开发人员需要一个基于 Mesos 架构的实际产品。这就是Spark的诞生方式。
Spark有火花,鼓舞的意思,称之为Spark的原因是,他们希望这款产品能够激发基于Mesos的几款创新产品。
(3)基本组成:
1)Spark Core:Spark的核心功能实现,将分布式数据抽象为弹性分布式数据集(RDD),实现了应用任务调度、RPC、序列化和压缩,并为运行在其上的上层组件提供API。相当于MapReduce。
RDD(Resilient Distributed Dataset),弹性分布式数据集 ,是分布式内存的一个抽象概念。
2)Spark SQL:是Spark处理数据的一个模块,提供了非常强大的API。跟基本的Spark RDD的API不同,Spark SQL中提供的接口将会提供给Spark更多关于结构化数据和计算的信息。在内部,SparkSQL使用额外的结构信息来执行额外的优化,在外部,使用SQL和DataSet的API与之交互。
3)Spark Streaming:是Spark提供的实时数据进行流式计算的组件,能够和Spark的其他模块无缝集成。类似Storm,核心是采用微批次架构,和Storm采用的条处理不同。
4)Spark Mllib:提供常用机器学习算法的实现库,同时包括相关的测试和数据生成器。Spark的设计初衷就是为了支持一些迭代的Job, 这正好符合很多机器学习算法的特点。
5)Spark GraphX:提供一个分布式图计算框架,能高效进行图计算。图形数据库:是NoSQL数据库的一种类型,它应用图形理论存储实体之间的关系信息,有自己的查询语言,数据库的接口比较弱,只支持简单的查询。
(4)相关:
6)Scala编程语言:是一门多范式的编程语言,一种类似Java的编程语言。2004年正式问世,全称叫scalable,可伸缩的意思。Scala是面向对象语言,并且具备函数式编程特性,构建在jvm之上的,因此可以和Java进行无缝互操作,简言之就是Scala可以使用Java的类库,java可以使用scala程序。
Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架,和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。
7)Kafka:是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。
(5)加米谷大数据Spark学习哪些内容?
1)Scala大数据黄金语言(Scala语法剖析与应用实践)
2)Kafka分布式总线系统 (Kafka原理剖析与实践)
3)Spark Core大数据计算基石(SparkCore核心原理与实践)
4)Spark SQL数据挖掘利器 (SparkSQL核心原理与实践)
5)Spark Streaming 流式计算平台 (SparkStreaming核心原理与实践)
6)Spark Mllib机器学习平台(SparkMllib算法模型原理与实践)
7)Spark GraphX图计算平台(SparkGraphX核心原理与实践)
(6)如何学习Spark?
在入门spark之前,首先对spark有些基本的了解。比如spark适用场景、概念等。
1)熟练掌握Scala语言
2)Spark下载及环境搭建
3)学习Spark平台提供给开发者API
4)深入Spark内核(通过Spark框架的源码研读来深入Spark内核部分)
5)掌握基于Spark上的核心框架的使用
6)相关的Spark项目实战。加米谷大数据培训机构。
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com