处理连续消息

t9aqgxwy  于 2021-06-24  发布在  Flink
关注(0)|答案(1)|浏览(274)

我有一个物体坐标流(时间,x,y),我想把它转换成一个距离流,然后再转换成一个速度流。要做到这一点,我需要处理两个连续的消息每次。
你能给我一个关于如何创建点之间欧几里德距离流的想法吗?

nnt7mjpx

nnt7mjpx1#

DataStream<Distance> distances = yourCoordinateSource
            .windowAll(GlobalWindows.create())
            .trigger(PurgingTrigger.of(CountTrigger.of(2)))
            .process(new DistanceFunction());

DataStream<Speed> speeds = distances.map(new SpeedFunction())...

你可以链的过程 DataStream s。
要访问两条消息,可以创建两条消息的固定大小窗口,然后对窗口应用处理函数。
假设您的流没有键控使用 windowAll() .
你必须实现这两个目标 DistanceFunction (延伸) ProcessWindowFunction )以及 SpeedFunction (延伸) MapFunction ).

相关问题