Spark DStream相关操作

与 RDD 类似,DStream 也提供了自己的一系列操作方法,这些操作可以分成 3 类:普通的转换操作、窗口转换操作和输出操作。

普通的转换操作

普通的转换操作如表 1 所示

表 1 普通的转换操作
Suo 描述
map(func) 源 DStream 的每个元素通过函数 func 返回一个新的 DStream。
flatMap(func) 类似于 map 操作,不同的是,每个输入元素可以被映射出 0 或者更多的输出元素
filter(func) 在源 DStream 上选择 func 函数的返回值仅为 true 的元素,最终返回一个新的 DStream。
repartition(numPartitions) 通过输入的参数 numPartitions 的值来改变 DStream 的分区大小
union(otherStream) 返回一个包含源 DStream 与其他 DStream 的元素合并后的新 DStream
count() 对源 DStream 内部所含有的 RDD 的元素数量进行计数,返回一个内部的 RDD 只包含一个元素的 DStream
reduce(func) 使用函数 func(有两个参数并返回一个结果)将源 DStream 中每个 RDD 的元素进行聚合操作,返回一个内部所包含的 RDD 只有一个元素的新 DStream
countByValue() 计算 DStream 中每个 RDD 内的元素出现的频次并返回新的 DStream(<K,Long>),其中,K 是 RDD 中元素的类型,Long 是元素出现的频次
reduceByKey(func,[numTasks]) 当一个类型为 <K,V> 键值对的 DStream 被调用的时候,返回类型为键值对的新 DStream,其中每个键的值 V 都是使用聚合函数 func 汇总的。可以通过配置 numTasks 设置不同的并行任务数
join(otherStream,[numTasks]) 当被调用类型分别为 <K,V> 和 <K,W> 键值对的两个 DStream 时,返回一个类型为 <K,<V,W>> 键值对的新 DStream
cogroup(otherStream,[numTasks]) 当被调用的两个 DStream 分别含有 <K,V> 和 <K,W>键值对时,返回一个 <K,Seq[V],seq[W]> 类型的新的 DStream
transform(func) 通过对源 DStream 的每个 RDD 应用 RDD-to-KDD 函数,返回一个新的 DStream,这可以用来在 DStream 中做任意 RDD 操作
updateStateByKey(func) 返回一个新状态的 DStream
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值