【RDD算子的分类】RDD的转换算子和触发算子(行为算子)、以及各个算子的作用,对比sql中的关键字

时间:2024-11-06 08:03:53

文章目录

    • 1、Tranformation算子:转换算子
    • 2、Action算子:触发算子【行为算子】
    • 3、各个算子的作用,对比sql中的关键字


1、Tranformation算子:转换算子

都是lazy模式的,一般不会触发job的运行,算子返回值一定是RDD

转换算子有哪些:

filter、map、flatMap、union、distinct、groupByKey、reduceByKey、sortBy、sortByKey、repartition、coalesce、keys、values、mapValues、join fullOuterJoin leftOuterJoin rightOuterJoin、 mapPartitions

2、Action算子:触发算子【行为算子】

一定会触发job的运行,返回值一定不是RDD

触发算子有哪些:

collect、count、take、foreach、saveAsTextFile、first、reduce、top、takeOrdered、collectAsMap、foreachPartition、max、min、mean、sum

3、各个算子的作用,对比sql中的关键字

类比SQL处理数据的常见功能,记住常用算子的功能、 语法、场景

  • 过滤数据:where、having => filter
  • 处理数据:字符串函数、日期函数 => map
  • 展开数据:explode => flatMap合并数据:union、join => union join
  • 去重数据:distinct => distinct
  • 分组聚合:group by + 聚合函数 => groupByKey、 reduceByKey
  • 排序数据:order by 、sort by => sortBy、top