当前位置:   article > 正文

flink报错:Exception: Cannot parse input: expected \t before: \\N\t_clickhouse expect \t before \neof

clickhouse expect \t before \neof

在这里插入图片描述

1.项目场景:

腾讯云Oceanus1.13(对应flink1.13)
ClickHouse20.3.10.75
centos7.5
jdk8


2.问题描述

flink报错如下

Exception: Cannot parse input: expected \t before: \\N\t
  • 1

3.原因分析:

在使用flink sql向ClickHouse中插入数值型数据时,如果数据为空,则会导致列错乱,从而致使flink任务宕机。


4.解决方案:

使用判空函数,将空值转化为特殊值处理
本次修复bug使用函数:IFNULL(value, null_replace)

IFNULL(3, 0)    ===>  3
IFNULL(NUll, 0) ===> 0
  • 1
  • 2

5.拓展延伸
新版本的ClickHouse22不会报错,而是自动处理为0,有兴趣的小伙伴可以尝试复现一下,所以建议直接上ClickHouse22版本,毕竟开窗什么的20版也不支持;如果迁移困难,可以尝试用IFNULL修复。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/278801
推荐阅读
相关标签
  

闽ICP备14008679号