您的位置 首页 java

大数据_Flink_Java版_数据处理_时间语义(3)_事件时间语义的设置

然后我们再来看,如何设置时间语义.

可以看到:

我们再设置环境以后,设置并行度,然后设置

env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);

这里设置了,时间语义采用,数据产生时间来算.

我们可以去看看这个TimeCharacteristic这个是个枚举类

可以看到有ingestionTime这个是进入到flink的时间对吧

然后这个processingTime这个是flink进行数据处理的时间,我们这里就用的这个时间.

然后我们再看,这里的

EventTime,这个是事件数据发生的时间

可以看到这里,我们依然是从 socket 中获取数据,

然后把env.execute加上

然后我们看不是说,让生成数据的时候,带上,时间戳,我们这里是SensorReading中有Long型的

时间戳啊

但是我们想一下,虽然我们这里定义了,这个字段是时间戳,但是,flink知道么?

他不知道对吧.

所以这里就需要我们告诉flink ,时间戳是什么?

这里可以通过这个,可以看到整理后的map后的SensorReading流,有个

assignTimestampsAndWatermarks这个,就可以进行告诉,flink哪个字段是时间戳和

waterMark的设置,这里这个waterMark我们还没有说,所以说了

waterMark以后,我们这里再继续说.

文章来源:智云一二三科技

文章标题:大数据_Flink_Java版_数据处理_时间语义(3)_事件时间语义的设置

文章地址:https://www.zhihuclub.com/195182.shtml

关于作者: 智云科技

热门文章

网站地图