DataStream 使用
1.map
DataStream → DataStream
取出一个元素,产生一个元素。比如,使用map将数据元素乘以2.
dataStream.map { x => x * 2 }
2.FlatMap
DataStream → DataStream
取出一个元素,产生零个,一个,或者多个元素。比如,可以使用flatmap分割句子。
dataStream.flatMap { str => str.split(" ") }
3.Filter
DataStream → DataStream
每个函数都去执行一个布尔函数,并保留使得布尔函数返回为true的元素。
过滤零值的函数:dataStream.filter { _ != 0 }
4.KeyBy
DataStream → KeyedStream
将流逻辑分区为不相交的分区,每个分区包含相同key的元素。在内部,这是用哈希分区来实现的。
dataStream.keyBy("someKey") // Key by field "someKey"
dataStream.keyBy(0) // Key by the first element of a Tuple
5.Reduce
KeyedStream → DataStream
滚动的聚合keyedStream.将当前元素和上一个聚合的元素进行合并,返回一个新的值。
比如,将相同key的值进行求和。
keyedStream.reduce { _ + _ }
6.Fold
KeyedStream → DataStream
滚动聚合一个KeyedStream,需要指定一个初始值。合并当前的值和前一次合并过(floded)的值,返回一个新值。
比如,下面的折叠函数,假如作用于一个序列(1,2,3,4,5),会返回一个序列:"start-1", "start-1-2", "start-1-2-3", ...
网友评论