spark常用算子

countByKey:根据RDD的key分组统计对应的value的个数是多少

countByValue:根据RDD的每个元素分组统计相同元素的的个数是多少

coalesce:对已有分区但是分区内数据倾斜的情况,如果确定正在缩减分区的数量重新分区使用coalesce算子,该算子可以参数指定是否进行shuffle

repartition;Repartition()操作可以随机shuffle RDD 数据到你希望
的分区个数,repartition实际在内部调用的是coalesce(numPartiion,true)

cogroup: 两个RDD之间进行join

cartesian:两个RDD进行笛卡尔积计算

broadcast:创建一个广播变量

mapPartitionsWithIndex:该算子的call方法第一个integer参数为每行数据的具体patitionID

aggregateByKey:

aggregate:

count:统计RDD内元素的个数

distinct:去除RDD内的重复元素

parallelize:相当于直接拷贝了原始数据(只不过可以并行计算)

parallelizePairs相当于直接拷贝了原始数据并且把第一个数据当做key(形成key-value的形式)

subtractByKey :类似于subtrac,删掉 RDD 中键与 其他RDD 中的键相同的元素

reduceByKey:在每个分区内对待输出数据首先进行一个根据key的分组聚合操作,聚合后的数据再次进行分组聚合

groupbykey:每个分区内的数据不进行任何操作,直接移动数据到reduce进行分组聚合

intersection:把两个RDD中数据完全相同的数据进行保留,不相同的数据直接丢弃掉.这个操作会执行shuffle操作.(可以用来进行匹配操作)

repartitionAndSortWithPartition

原文地址:https://www.cnblogs.com/hejianxin/p/8397938.html