Spark~Spark介绍

本文概述了Spark,一种基于内存计算的分布式分析框架,重点介绍了RDD核心数据结构、Spark编程模型的优势,如速度快、易用性和通用性,并列举了其模块如SparkCore、SparkSQL、SparkStreaming等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值