开发者社区 问答 正文

实时计算Flink提示RowTime field should not be null ple...

已解决

实时计算Flink提示RowTime field should not be null please convert it to a non-null long value

展开
收起
提个问题 2024-06-04 16:06:58 116 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答
    【报错详情】
    java.lang.RuntimeException: RowTime field should not be null, please convert it to a non-null long value. at org.apache.flink.table.runtime.operators.wmassigners.WatermarkAssignerOperator.processElement(WatermarkAssignerOperator.java:115) ~[flink-table-blink_2.11-1.13-vvr-4.0.14-2-SNAPSHOT.jar:1.13-vvr-4.0.14-2-SNAPSHOT] at org.apache.flink.streaming.runtime.tasks.OneInputStreamTask$StreamTaskNetworkOutput.emitRecord(OneInputStreamTask.java:205) ~[flink-dist_2.11-1.13-vvr-4.0.14-2-SNAPSHOT.jar:1.13-vvr-4.0.14-2-SNAPSHOT] at org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.processElement(AbstractStreamTaskNetworkInput.java:135) ~[flink-dist_2.11-1.13-vvr-4.0.14-2-SNAPSHOT.jar:1.13-vvr-4.0.14-2-SNAPSHOT] at org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.emitNext(AbstractStreamTaskNetworkInput.java:106) ~[flink-dist_2.11-1.13-vvr-4.0.14-2-SNAPSHOT.jar:1.13-vvr-4.0.14-2-SNAPSHOT]
    【报错原因】
    生成Watermark的Event time时间字段中存在NULL值脏数据。
    【解决方案】
    使用计算列过滤脏数据,代码示例如下。
    ts as case when `datetime` is null 
                    then to_timestamp('1970-01-01 00:00:00') 
                    else `datetime`end
    2024-06-04 16:06:59 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等