Spark笔记(二):算子,cache,checkpoint

本文详细介绍了Spark中的算子分类及具体实现方式,包括Transformation算子和Action行动算子,并对不同类型的算子进行了详细的说明。此外,还介绍了cache和checkpoint等优化手段。

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

算子

算子分类

  1. Transformation算子:不触发提交作业,完成作业中间处理过程
    1. Value数据类型的Transformation算子
      1. 输入分区与输出分区一对一型
        • 1 map
        • 2 flatmap
        • 3 mapPartitions
        • 4 glom
      2. 输入分区与输出分区多对一型
        • 5 union
        • 6 cartesian
      3. 输入分区与输出分区多对多型
        • 7 groupBy
      4. 输出分区为输入分区子集型
        • 8 filter
        • 9 distinct
        • 10 subtract
        • 11 sample
        • 12 takeSample
      5. Cache型
        • cache
        • persist
    2. Key-Value数据类型的Transformation算子
      1. 输入分区与输出分区一对一
        • mapValues
      2. 对单个RDD聚集
        • combineByKey
        • reduceByKey
        • partitionBy
      3. 对两个RDD聚集
        • Cogroup
      4. 连接
        • join
        • leftOutJoin和rightOutJoint
  2. Action行动算子:触发Spark的SparkContext提交job作业
    1. 无输出
      • foreach
    2. HDFS
      • saveAsTestFile
      • saveAsObjectFile
    3. Scala集合和数据类型
      • collect
      • collectAsMap
      • reduceByKeyLocally
      • lookup
      • count
      • top
      • reduce
      • fold
      • aggregate
1. cache

cache的功能是缓存.针对频繁使用的数据/数据处理,cache将数据缓存到内存中,便于下次读取.
cache不会马上执行缓存操作

2. checkpoint

checkpoint的功能是建立检查点,类似于快照.针对计算时间特别长的DAG计算流程,checkpoint可以将DAG中比较重要的中间数据做一个检查点,存储到一个高可用的地方,比如HDFS.
checkpoint不会马上执行建立检查点操作
checkpoint之前最好先cache一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值