数据开发-Spark-RDD算子

Transformation算子

map: 作用到集合的每一个元素
filter: 过滤器(sc.filter(_.contains(“hello”))
flatMap: map加压平
union: 并集后返回一个新的RDD
subtract:计算差的一种函数去除两个RDD中相同的元素,不同的RDD将保留下来
intersecton: 求交集后返回一个新的RDD
distinct: 去重
pattitionBy: 重写分区,有可能产生shaffer过程
coalesce(numPartitions):只能缩减分区数,不产生shuffle,使用大数据集过滤后缩减分区。
repartition(numPartitions): 根据分区数,从新通过网络随机洗牌所有数,会产生shuffle
reduceByKey: 使用指定的reduce函数,将相同key的值聚合到一起,reduce任务的个数可以通过第二个参数来设置
groupByKey: reduceByKey效率更高:reduceByKey对数据提前聚合,减少shuffle过程
combineByKey: 对相同K,把V合并成一个集合
sortByKey([ascending], [numTasks]): 将Key进行排序,ascending,升降序;numTasks,task个数
sortBy(func,[ascending], [numTasks]):用func先对数据进行处理,按照处理后的数据比较结果排序
join(otherDataset, [numTasks]):在类型为(K,V)和(K,W)的RDD上调用,返回一个相同key对应的所有元素对在一起的(K,(V,W))的RDD
cogroup(otherDataset, [numTasks]):在类型为(K,V)和(K,W)的RDD上调用,返回一个(K,(Iterable,Iterable))类型的RDD
golm: 将每一个分区形成一个数组,形成新的RDD类型时RDD[Array[T]]
mapValues: 针对于(K,V)形式的类型只对V进行操作
sample(withReplacement, fraction, seed): 以指定的随机种子随机抽样出数量为fraction的数据,withReplacement表示是抽出的数据是否放回,true为有放回的抽样,false为无放回的抽样,seed用于指定随机数生成器种子。例子从RDD中随机且有放回的抽出50%的数据,随机种子值为3(即可能以1 2 3的其中一个起始值)

Action算子

reduce(func) 通过func函数聚集RDD中的所有元素,这个功能必须是可交换且可并联的
count: 返回RDD的元素个数
first: 返回RDD的第一个元素
take(n): 返回RDD的前几个元素
takeSample(withReplacement,num, [seed]): 返回一个数组,该数组由从数据集中随机采样的num个元素组成,可以选择是否用随机数替换不足的部分,seed用于指定随机数生成器种子
takeOrdered(n): 返回前几个的排序(最小)
top(n): 返回前几个的排序(最大)
saveAsTextFile(path): 保存为文本文件
saveAsSequenceFile(path): 保存为二进制文件
saveAsObjectFile(path): 用于将RDD中的元素序列化成对象,存储到文件中
countByKey: 统计每一个key的个数
oreach(func): 在数据集的每一个元素上,运行函数func进行更新(类似map)

统计操作

算子含义
count个数
mean均值
sum求和
max最大值
min最小值
variance方差
sampleVariance从采样中计算方差
stdev标准差:衡量数据的离散程度
sampleStdev采样的标准差
stats查看统计结果
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值