测试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)}