开发者社区> 问答> 正文

flink1.11 sql kafka 抽取事件时间

大家好!

使用flink1.11 sql接入kafka ,format为csv

从eventTime字段中抽取事件时间

rowtime AS TO_TIMESTAMP(FROM_UNIXTIME(eventTime / 1000, 'yyyy-MM-dd HH:mm:ss'))

eventTime可能存在脏数据(非13位的毫秒时间戳),设置了 'csv.ignore-parse-errors' = 'true', 那么eventTime会被设置为null,此时会报一个异常:

Caused by: java.lang.RuntimeException: RowTime field should not be null, please convert it to a non-null long value.

有没有什么好的方式可以解决

*来自志愿者整理的flink邮件归档

展开
收起
小阿矿 2021-12-06 15:51:23 1489 0
1 条回答
写回答
取消 提交回答
  • 我感觉可以通过计算列的方式来解决呀,你只需要在计算rowtime这个列的时候保证它不是null即可,如果是null,可以设置一个默认值之类的?*来自志愿者整理的flink邮件归档

    2021-12-06 18:38:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
用SQL做数据分析 立即下载
阿里云流计算 Flink SQL 核心功能解密 立即下载
Comparison of Spark SQL with Hive 立即下载