0基础大数据开发Spark要学习什么内容?

2019-06-05 17:03:03 浏览数 (1)

Spark 是专为大规模数据处理而设计的快速通用的计算引擎。用来构建大型的、低延迟的数据分析应用程序。可用它来完成各种各样的运算,包括 SQL 查询、文本处理、机器学习等。

简介

Spark 是由加州大学伯克利分校AMP实验室 开发的通用内存并行计算框架,是一种与 Hadoop 相似的开源集群计算环境,它扩展了MapReduce计算模型,高效的支撑更多计算模式,包括交互式查询和流处理。

Spark有火花,鼓舞的意思,称之为Spark的原因是,创始人希望这款产品能够激发基于Mesos的几款创新产品。

特性

高效:运行速度快

易用:支持Java、Python和Scala的API,支持多种高级算法

通用:提供了大量的库,提供了统一的解决方案

兼容:方便与其他的开源产品进行融合

基本组成

1)Spark Core

Spark的核心功能实现,将分布式数据抽象为弹性分布式数据集(RDD),实现了应用任务调度、RPC、序列化和压缩,并为运行在其上的上层组件提供API。相当于MapReduce。

2)Spark SQL

是Spark处理数据的一个模块,提供了非常强大的API。跟基本的Spark RDD的API不同,Spark SQL中提供的接口将会提供给Spark更多关于结构化数据和计算的信息。在内部,SparkSQL使用额外的结构信息来执行额外的优化,在外部,使用SQL和DataSet的API与之交互。

3)Spark Streaming

是Spark提供的实时数据进行流式计算的组件,能够和Spark的其他模块无缝集成。

4)Spark Mllib

提供常用机器学习算法的实现库,同时包括相关的测试和数据生成器。Spark的设计初衷就是为了支持一些迭代的Job, 这正好符合很多机器学习算法的特点。

5)Scala

是一门多范式的编程语言,一种类似Java的编程语言。Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。

0 人点赞