Map
DataStream → DataStream
一个接受一个元素并产生一个元素的函数。
示例
dataStream.map { x => x * 2 }
FlatMap
DataStream → DataStream
一个接受一个元素并产生零个、一个或多个元素的函数。
例如
dataStream.flatMap { str => str.split(" ") }
Filter
DataStream → DataStream
对于每个元素,设定一个布尔函数,并保留那些使函数返回true的元素。
例如
dataStream.filter { _ != 0 }
KeyBy
DataStream → KeyedStream
逻辑上将流划分为不相交的分区。所有具有相同键的记录都被分配到同一个分区中。在内部,keyBy() 是通过哈希分区来实现的。指定键的方式有多种。
注意:没有实现hashcode()方法的POJO类和任何类型的数组都无法作为Key!!!
Reduce
KeyedStream → WindowedStream
该操作会连续地将当前元素与上一个reduce操作的结果(即最后一个reduced值)进行合并,并发出新的合并后的值。这种操作通常用于计算流数据的累积或滚动汇总。
例如
keyedStream.reduce {

最低0.47元/天 解锁文章
6285

被折叠的 条评论
为什么被折叠?



