当前位置: 首页 > 工具软件 > spark-wallet > 使用案例 >

Spark~Spark介绍

易琨
2023-12-01

一、Spark介绍

  • Spark是用于大规模数据处理的统一分析引擎
  • Spark借鉴了MapReduce思想发展而来,保留了其分布式并行计算的优点并改进了其明显的缺陷.让中间数据存储在内存中提高了运行速度、并提供丰富的操作数据的API提高了开发速度

二、RDD介绍

RDD(分布式内存抽象),使得程序员可以在大规模集群中做内存计算,并且有一定的容错方式,是Spark的核心数据结构

三、Spark编程模型(数据结构)

  • RDD:弹性分布式数据集,认为是列表List
  • Spark框架将要处理的数据封装到集合RDD中,调用RDD中的函数处理数据
  • RDD数据可以放到内存中,内存不足可以放到磁盘中

四、Spark Task任务运行方式

  • MapReduce中Task是以进程Process方式运行,Spark中Task以线程Thread方式运行
  • 线程Thread运行在进程Process中,启动和销毁相对于进程更快

五、Spark特点

1.速度快

由于Spark支持内存计算,并且通过DAG(有向无环图)执行引擎支持无环数据流,所以官方宣称其在内存中的运算速度要比Hadoop的MapReduce快100被,在硬盘中要快10倍

2.易于使用

Spark支持包括Java、Scala、Python、R和SQL语言在内的多种语言

3.通用性强

在Spark的基础上,Spark还提供了包括Spark SQL、Spark Streaming、MLib及GraphX在内的多个数据库

4.多种运行方式

Spark可以多种方式运行,比如在Hadoop上,也支持Standalone的独立运行模式

六、Spark框架的模块

1.Spark Core

  • 实现了Spark的基本功能,包含RDD、任务调度、内存管理、错误恢复、与存储系统交互等模块.
  • 数据结构:RDD

2.Spark SQL

  • Spark用来操作结构化数据的程序包,通过Spark SQL,可以使用SQL操作数据
  • 数据结构:DataSet/DataFrame = RDD + Schema

3.Spark Streaming

  • Spark提供的对实时数据进行流式计算的组件,提供了用来操作数据流的API
  • 数据结构:DStream = Seq[RDD],DStream离散化流

4.MLib

  • 提供常见的机器学习(ML)功能的程序库.包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据导入等额外的支持功能
  • 数据结构:RDD或者DataFrame

5.GraphX

  • Spark中用于图计算的API,性能良好,拥有丰富的功能和运算符,能在海量数据上自如地运行复杂的图算法
  • 数据结构:RDD或者DataFrame
 类似资料: