Spark 概述

网友投稿 691 2022-05-30

Spark 是什么?

● 官方文档解释:Apache Spark™ is a fast and general engine for large-scale data processing.

Spark 概述

通俗的理解:Spark是基于内存计算的大数据并行计算框架。Spark基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性,允许用户将Spark 部署在大量廉价硬件之上,形成集群。

● 扩展了MapReduce计算模型;相比与MapReduce编程模型,Spark提供了更加灵活的DAG(Directed Acyclic Graph) 编程模型, 不仅包含传统的map、reduce接口, 还增加了filter、flatMap、union等操作接口,使得编写Spark程序更加灵活方便。

● 高效支持多种计算模式;Spark 不仅可以做离线运算,还可以做流式运算以及迭代式运算。

Spark 组成---大一统软件栈

Spark Core

● Spark Core 实现了Spark 的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。

● RDD(resilient distributed dataset,弹性分布式数据集)的API 定义。RDD是一个抽象的数据集,提供对数据并行和容错的处理。初次使用RDD时,其接口有点类似Scala的Array,提供map,filter,reduce等操作。但是,不支持随机访问。刚开始不太习惯,但是逐渐熟悉函数编程和RDD 的原理后,发现随机访问数据的场景并不常见。

Spark SQL

● Spark SQL 是Spark 用来操作结构化数据的程序包。

● Spark SQL 直接兼容Hive SQL。

● 多数据源(Hive表、Parquet、JSON等);Spark SQL 可以操作Hive表,可以读取Parquet文件(列式存储结构),可以读取JSON文件,还可以处理hdfs上面的文件。

● SQL与RDD编程结合使用。

● 从Shark演变到Spark SQL。

Spark Streaming

● Spark 提供的对实时数据进行流式计算的组件。

● 微批处理(Storm、Flink)—从批处理到流处理

Spark MLlib

● Spark 提供的包含常见机器学习(ML)功能的库。

● 分类、回归、聚类、协同过滤等

● 模型评估、数据导入等额外的支持功能

● Mahout(Runs on distributed Spark, H2O, and Flink)

GraphX

● GraphX是Spark 提供的图计算和图挖掘的库。

● 与Spark Streaming 和Spark SQL 类似,GraphX 也扩展了Spark 的RDD API,能用来创建一个顶点和边都包含任意属性的有向图

● GraphX还支持针对图的各种计算和常见的图算法。

Spark与Hadoop的关系

Spark与Hadoop的关系---青于于蓝

Spark与Hadoop的关系---相辅相成

Spark的竞争对手---Flink

● Flink是先有流处理后有批处理

● Pipeline vs Stage

● http://note.youdao.com/share/?id=f3b0a1832e4ee43e3e3635913d5e00e1&type=note

Spark的竞争对手---Storm/JStorm

● Storm仅限于流计算(topology)

● JStorm参照Flink改进了Storm

Spark的竞争对手---Hadoop3.x

http://news.cnw.com.cn/news-international/htm2016/20160603_327510.shtml

spark Hadoop 大数据

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Eclipse安装Git插件以及通过Git导入华为软件开发云项目
下一篇:OceanConnect设备模型批量生成工具——excel2profile
相关文章