大数据笔记1

本文介绍了Spark并行计算的基本概念,包括RDD的概念及其如何通过执行器处理大规模数据集。此外还探讨了Spark与Hadoop的关系,以及它们在内存缓存、流数据处理等方面的差异。

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



spark实现并行计算:把超大的数据集合分成N个分块的数据集,用M个执行器(M<N)执行数据,执行完成后再收集在一起。这个切分后的数据集叫RDD(弹性分布式数据集)。


spark是一种分布式并行处理计算框架,与Hadoop联合使用,增强Hadoop的性能,增加内存缓存、流数据处理、图形处理等高级的数据处理能力。


spark的中间结果保存在内存上,在迭代计算方面拥有更好的性能,而mapreduce的中间结果保存在HDFS上。


spark直到RDD第一次调用一个action时才真正调用RDD。


spark中可以调用persist(持久化)方法表明当前RDD在后面的操作中还会用到。spark默认将调用过的persist方法保存在内存中,若内存不足也会保存到硬盘上,也可以指定persist的参数,调用其它的持久化策略(如Tachyon)并通过标记进行persist。用户可以为每个RDD设定优先级来决定内存中的哪些数据应该被优先调入磁盘。


RDDs依赖关系:
     窄依赖:每个父RDD至多只能被一个子RDD分区使用,或多个父RDD对应一个子RDD,即oneToOneDependecies
     宽依赖:多个子RDD可以依赖一个父RDD的分区,即oneToManyDependecies
         注:map操作是一个窄依赖。join是宽依赖(除非父RDD被hash策略划分过)


Map函数:接收一个键值对(key-value pair),产生中间键值对,MapReduce框架将中间键值对中key值相同的值传递给reduce函数。
Reduce函数:接受一个键,以及相关的一组值,并合并,之后产生一组规模更小的值(一个或者零个)


Map将任务输出结果保存在本地磁盘而不是HDFS



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值