文件内容课堂总结

Spark-Core编程
Key-Value类型:
partitionBy函数根据指定Partitioner重新进行分区,默认使用HashPartitioner
groupByKey函数根据key对value进行分组,有三种函数签名
reduceByKey函数将数据按相同Key对Value进行聚合,与groupByKey相比,reduceByKey可以在shuffle前进行预聚合,减少落盘数据量,性能更高
aggregateByKey函数将数据根据不同规则进行分区内计算和分区间计算
foldByKey函数当分区内计算规则和分区间计算规则相同时,aggregateByKey可以简化为foldByKey
combineByKey函数是最通用的对key-value型rdd进行聚集操作的聚集函数,允许用户返回值的类型与输入不一致
sortByKey函数在一个(K,V)的RDD上调用,K必须实现Ordered接口,返回一个按照key进行排序的RDD
join函数在类型为(K,V)和(K,W)的RDD上调用,返回一个相同key对应的所有元素连接在一起的(K,(V, W))的RDD
leftOuterJoin函数类似于SQL语句的左外连接
cogroup函数在类型为(K,V)和(K,W)的RDD上调用,返回一个(K,(Iterable<V>,Iterable<W>))类型的RDD
 Spark-Core编程
Value类型:
distinct函数将数据集中重复的数据去重
coalesce函数根据数据量缩减分区,用于提高小数据集的执行效率
repartition函数可以完成分区数的增加或减少,因为无论如何都会经过shuffle过程
sortBy函数用于排序数据,排序后新产生的RDD的分区数与原RDD的分区数一致,中间存在shuffle的过程
双Value类型:
intersection函数对源RDD和参数RDD求交集
union函数对源RDD和参数RDD求并集(重复数据不会去重)
subtract函数以源RDD元素为主,去除两个RDD中重复元素,将源RDD的其他元素保留下来(求差集)
zip函数将两个RDD中的元素以键值对的形式进行合并
RDD转换算子:
Value类型:
map函数将处理的数据逐条进行映射转换
mapPartitions函数以分区为单位进行批处理操作,可以增加或减少数据
mapPartitionsWithIndex函数将待处理的数据以分区为单位发送到计算节点进行处理,同时可以获取当前分区索引
flatMap函数将处理的数据进行扁平化后再进行映射处理
glom函数将同一个分区的数据直接转换为相同类型的内存数组进行处理,分区不变
groupBy函数将数据根据指定的规则进行分组,分区默认不变,但是数据会被打乱重新组合
filter函数将数据根据指定的规则进行筛选过滤
sample函数根据指定的规则从数据集中抽取数据

双Value类型:
intersection函数对源RDD和参数RDD求交集
union函数对源RDD和参数RDD求并集(重复数据不会去重)
subtract函数以源RDD元素为主,去除两个RDD中重复元素,将源RDD的其他元素保留下来(求差集)
zip函数将两个RDD中的元素以键值对的形式进行合并

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值