spark的认识和ddr的算子

本文对比了Spark与MapReduce的特点,强调Spark通过减少磁盘IO、增加并行度、避免重复计算、灵活的内存管理策略等优点,尤其适用于迭代式、交互式和流数据处理。介绍了Spark的核心概念如SparkContext、RDD及算子,以及其部署模式和扩展功能。

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

1.mapreduce因为磁盘io的限制,是系统的瓶颈,所以只适合离线数据处理或批处理,不支持迭代式,交互式和流数据处理,这些事spark擅长的内容
2.spark的优点:

1.减少磁盘io,直接从内容读取数据
2.增加并行度,一个线程执行一个任务
3.避免重复计算,可以cache或者prisit持久化到缓存中
4.可选的shuffle和排序
5.灵活的内存管理策略,每个任务自己的内容是堆内内存,共享内存是堆外内存
6.部署模式:standalone,yarn,cloud等
其中有三个比较重要的概念:
1.编程入口:sparkcontext
	隐藏了各种内容,并且内置了DAGscheduler(大脑)和Taskscheduler(秘书),计算引擎由DAGscheduler负责将rdd组成有向无环图并且提交任务执行
	存在于driver当中
2.数据抽象:rdd
3.算子:map等
扩展功能:
sparksql,sparkStreaming,SparkMLLib,SparkGragh等
提交到核心执行引擎sparkcore进行执行

3.RDD的概念

1.弹性分布式数据集,核心抽象数据描述
2.创建rdd可以通过并行化一个scala数据集或者makerdd或者读取外部存储系统的数据集textfile
3.rdd的partitioner类似于maprdece的分区
4.窄依赖:父分区有一个个子分区;宽依赖:父分区有多个子分区
或者就是看是否存在shuffle过程,存在就是宽依赖
5.DAGscheluder会根据rdd的算子操作的宽窄依赖构建DAG,然后进行DAG切分,遇到宽依赖就会划分一个stage
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值