Flink Streaming函数操作

max与maxBy的区别。min与minBy同理

maxBy:对比某字段返回最大的一条记录,如果这条记录有N个字段,会全部返回

max:比某字段仅返回此字段,这条记录的吉他字段不返回

 

interval join 该操作需要制定event time

在给定的周期内,按照指定的key对两个keyedStream进行join操作,把符合条件的两个event弄到一起进行操作

例如:把一定时间范围内的分组数据拉成一宽表

streamA与streamB均是按照某个keySelector筛选出来的,后面他们有相同的key才能join

streamA.intervalJoin(streamB)                     [两个流join]

.between(timestamp1,timestamp2)               [在某时间范围内,streamB的时间在streamA的time1与time2之间]

.uperBoundExclusive().lowerBoundExclusive()            [包含刚好等于这两个时间点的数据]

.process(处理逻辑)

 

connect与union

connect之后生成connectStream,内部是一个松散结构,可以对2个流使用不同的方法处理,

但是他们之间可以共享状态,比如共享计数器.

union可以连接多个流.并且连接的流的类型必须一致.

 

 

split 与select

split后返回一个迭代器iterable.在迭代中声明一个list,把符合A条件的结果放入集合中,自己命名一个"AAA",符合B条件的结果也放入集合中,命名"BBB"......CCC...DDD..

然后对这个splitStream.select("XXX","XXX","XXX"....) 返回某个DataStream

 

project

删减event中不需要的属性.比如: Tuple20-> tuple5 降低IO.仅限java使用,scala不可用

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章