暑假生活每周总结10
本周进行了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分区执行重新分区。数量