測試mapGroupsWithState
更新功能
的TestGroupState
API使您能夠用於測試狀態更新功能Dataset.groupByKey (…) .mapGroupsWithState (…)
和Dataset.groupByKey (…) .flatMapGroupsWithState (…)
。
狀態更新函數之前狀態作為輸入使用一種類型的對象GroupState
。看到Apache火花GroupState參考文檔。例如:
進口org。apache。火花。sql。流媒體。_進口org。apache。火花。api。java。可選測試(“flatMapGroupsWithState狀態更新函數”){varprevState=TestGroupState。創建(UserStatus)(optionalState=可選。空(UserStatus),timeoutConf=GroupStateTimeout。EventTimeTimeout,batchProcessingTimeMs=1 l,eventTimeWatermarkMs=可選。的(1 l),hasTimedOut=假)瓦爾用戶標識:字符串=…瓦爾行動:迭代器(UserAction]=…斷言(!prevState。hasUpdated)updateState(用戶標識,行動,prevState)斷言(prevState。hasUpdated)}