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不可用