暑假生活每周总结10

发布时间 2023-08-25 15:23:48作者: 一个小虎牙

本周进行了spark的初步学习。主要学习了rdd算子。

常用的rddTransformation算子

1.map算子,将rdd数据进行依次处理,基于map的算子中所收集的逻辑函数。进行逻辑运算,返回rdd,比较常见。

2.flatMap算子,对rdd执行map操作,进行解嵌套,返回rdd。

3.reduceByKey算子,主要是针对KV型数据进行key分组进行数据的计算,根据所提供的逻辑,进行组内数据的聚合操作。

4.mapValues算子,主要是针对二元元组的rdd,对其内部的value执行map操作,传入的逻辑函数,主要是对于value值得操作。

5.groupBy算子,对rdd的数据进行分组。分组完成后返回二元元组,同组数据放入一个迭代器中作为value值。

6.filter算子,主要是过滤数据。传入的函数要有bool类型的返回值。

7.distinct算子,主要是进行数据的去重操作,返回新的rdd。

8.union算子,主要是对于连个rdd,进行合并返回。

9.join算子,对于两个rdd可以执行join操作,相当于sql中的内外连接。语法有join,leftOuterJoin,rightOuterJoin。

10.intersection算子,主要是求取两个rdd的交集,并返回新的rdd。

11.glom算子,主要是进行对于rdd按照其分区进行嵌套。

12.groupByKey算子,针对KV型rdd,自然按照key进行分组。

13.sortBy算子,主要是对rdd数据进行排序,基于你指定的排序依据。sortBy(func,ascending=False,numPartitions=1)  true为升序,false为降序。

14.sortByKey算子,主要是针对KV型rdd,按照key进行排序。sortByKey(ascending=True,numPartitions=1,keyfunc=所要书写的处理方法,相当于在排序前的数据处理)

常用的Action算子

1.countBYKey算子,主要是针对KV型数据,计算key出现的次数。

2.collect算子,将rdd各个分区的数据,统一收集到Driver中,形成list对象。

3.first算子,取出rdd第一个元素。

4.take算子,取出rdd中前N个元素。

5.top算子,对rdd数据进行降序排序,取出前N个数据。

6.count算子,计算rdd有多少条数据,返回一个数字值。

7.takeSample算子,随机抽样rdd数据。takeSample(True,8)True表示取同一数据表示同一位置的数据,False则反之。

8.takeOrdered算子,对rdd进行排序取前N个数据。

9.foreach算子,对rdd的每一个元素,执行你所提供的逻辑,但此方法无返回值。

10.saveAsTextFile算子,将rdd的数据存储到文本文件中。

分区操作算子

mapPartitions算子,一次被传递的是一整个分区的数据。

foreachPartition算子,无返回值,和foreach类似,按分区输出。

partitionBy算子,对rdd进行自定义分区

repartition算子,对rdd分区执行重新分区。数量