Spark基础

什么是Spark

基于内存的,用于大规模数据处理(离线计算、实时计算、快速查询(交互式查询))的统一分析引擎。

Spark特点

快: Spark计算速度是MapReduce计算速度的10-100倍
易用:(算法多)MR支持1种计算模型,Spsark支持更多的计算模型。
通用: Spark 能够进行离线计算、交互式查询(快速查询)、实时计算、机器学习、图计算等
兼容性: Spark支持大数据中的Yarn调度,支持mesos。可以处理hadoop计算的数据。

Spark运行模式

  1. local本地模式:Spark单机运行,一般用于开发测试。
  2. standalone独立集群模式:开发测试使用
  3. standalone-HA高可用模式:生产环境使用
  4. on yarn集群模式:生产环境使用
  5. on cloud集群模式:中小公司未来会更多的使用云服务

Spark编写代码

  1. 创建一个 Sparkconf对象,设置app名称
  2. 创建一个SparkContext,
  3. 读取数据,对数据进行计算
  4. 保存数据

SparkCore

什么是RDD

弹性分布式数据集(数据存储在内存),一个不可变、可分区、里面的元素可并行计算的集合

RDD的主要属性

  1. 数据集的基本组成单位是一组分片(Partition)或一个分区(Partition)列表
    每个分片都会被一个计算任务处理,分片数决定并行度。
  2. 一个函数会被作用在每一个分区。
  3. 一个RDD会依赖于其他多个RDD,RDD的每次转换都会生成一个新的RDD

RDD的算子分为两类:

  1. Transformation转换操作:返回一个新的RDD
  2. Action动作操作:返回值不是RDD
    惰性计算,遇到Transformation不计算,遇到Action在真正计算。

Rdd数据持久化什么作用?

  1. 对多次使用的rdd进行缓存,缓存到内存,当后续频繁使用时直接在内存中读取缓存的数据,不需要重新计算。 (Persist、Cache)

  2. 将RDD结果写入硬盘(容错机制),当RDD丢失数据时,或依赖的RDD丢失数据时,可以使用持久化到硬盘的数据恢复。(MEMORY_ONLY(默认)、MEMORY_AND_DISK、DISK_ONLY)
    SparkContext.setCheckpointDir(“目录”) //HDFS的目录 RDD.checkpoint()

cache和Checkpoint的区别

  1. 位置:Persist 和 Cache将数据保存在内存;Checkpoint将数据保存在HDFS。

  2. 生命周期:Persist 和 Cache 程序结束后会被清除或手动调用unpersist方法;Checkpoint永久存储不会被删除。

  3. RDD依赖关系(血统Lineage):Persist和Cache,不会丢掉RDD间的依赖链/依赖关系;Checkpoint会斩断依赖链。

什么是宽窄依赖

窄依赖: 父RDD的一个分区只会被子RDD的一个分区依赖
宽依赖: 父RDD的一个分区会被子RDD的多个分区依赖(涉及到shuffle)

什么是DAG

DAG: 指的是数据转换执行的过程,有方向,无闭环(其实就是RDD执行的流程)

DAG边界

开始: 通过SparkContext创建的RDD
结束: 触发Action,一旦触发Action就形成了一个完整的DAG
说明:
一个Spark应用中可以有一到多个DAG,取决于触发了多少次Action
一个DAG中会有不同的阶段/stage,划分阶

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值