对于Dstream,我们可以进行两种操作,transformations 和 output
Transformations
[mw_shl_code=bash,true]Transformation Meaning
map(func) 对每一个元素执行func方法
flatMap(func) 类似map函数,但是可以map到0+个输出
filter(func) 过滤
repartition(numPartitions) 增加分区,提高并行度
union(otherStream) 合并两个流
count() 统计元素的个数
reduce(func) 对RDDs里面的元素进行聚合操作,2个输入参数,1个输出参数
countByValue() 针对类型统计,当一个Dstream的元素的类型是K的时候,调用它会返回一个新的Dstream,包含<K,Long>键值对,Long是每个K出现的频率。
reduceByKey(func, [numTasks]) 对于一个(K, V)类型的Dstream,为每个key,执行func函数,默认是local是2个线程,cluster是8个线程,也可以指定numTasks
join(otherStream, [numTasks]) 把(K, V)和(K, W)的Dstream连接成一个(K, (V, W))的新Dstream
cogroup(otherStream, [numTasks]) 把(K, V)和(K, W)的Dstream连接成一个(K, Seq[V], Seq[W])的新Dstream
transform(func) 转换操作,把原来的RDD通过func转换成一个新的RDD
updateStateByKey(func) 针对key使用func来更新状态和值,可以将state该为任何值[/mw_shl_code]
更多参考:
Spark Streaming编程讲解
http://www.aboutyun.com/thread-8900-1-1.html
|