Hi 瑞斌

后续的operator在使用window操作时,所依赖的时间戳都是这个ingestion time,如果你的message里面有"event 
time"语义的field,那么后续就可以拿在source端生成的ingestion time 与这个field所表征的时间进行比较。



On 10/31/19, 10:45 AM, "邢瑞斌" <[email protected]> wrote:

    Hi 唐云,
    
    
谢谢指点,我去试一试。我其实不太理解env中设置的TimeCharacteristic,之前理解的是,这个设置会作用于全局。如果将这个设为IngestionTime,后续的Operator可以再使用EventTime吗?
    
    
    Yun Tang <[email protected]> 于2019年10月31日周四 上午2:26写道:
    
    > Hi 瑞斌
    >
    > 
如果你要使用Flink的IngestionTime的话,其实就不存在与Flink提供的EventTime混用的情况了,而source端的IngestionTime,拿的就是source端的系统时间,可以在source端后面记一个filter
    > operator,将ingestion的time与message中的event time进行比较,超过一定阈值的可以丢弃掉不传到下游去。
    >
    > 祝好
    > 唐云
    > ________________________________
    > From: 邢瑞斌 <[email protected]>
    > Sent: Wednesday, October 30, 2019 17:57
    > To: [email protected] <[email protected]>
    > Subject: 如何过滤异常的timestamp?
    >
    > Hi:
    >
    >
    > 
从客户端收集日志信息,总会遇到一些异常的本地Timestamp,有些会超出正确日期很多天。这样的Timestamp会影响Watermark,请问大家是如何处理这样的日志呢?
    >
    > 我现在的想法是:
    >
    > 将日志的时间与Flink的时间相比较,如果超出一个阈值就过滤。但是这样似乎会造成处理的结果是不确定的。我想的改进方法是
    > ,使用IngestionTime和日志的Timestamp比较。但是我不太确定,是否能混合使用IngestionTime和eventTime呢?
    >
    > 求教,谢谢大家!
    >
    

回复