由于SQL查询无效,Flink作业变为FINISHED

axkjgtzd  于 2022-12-09  发布在  Apache
关注(0)|答案(1)|浏览(256)

我们正在运行Flink作业,这些作业使用Kafka中的数据,执行SQL查询(使用SQL API)并将输出写入Kafka。
我们的作业被配置为永远运行,所以它们永远不会被完成(除非它们被保存点停止)。但是,我们注意到,对于一些(无效的)SQL查询,作业可以启动,但稍后会被完成。当我们包含field <> NULL之类的内容时,就会出现这种情况。Flink的文档中说:
如果值1不等于值2,则返回TRUE;如果值1或值2为NULL,则返回UNKNOWN。
我们不清楚UNKNOWN是什么,也不清楚发生这种情况时作业会有什么React。无论如何,我们都希望它失败,而不是安静地完成。这会是Flink中的一个bug吗?这是预期的行为吗?

qhhrdooz

qhhrdooz1#

SQL标准定义了一个三值逻辑系统,其中true、false和unknown作为比较的可能结果。您可以使用field IS NOT NULL而不是field <> NULL,它将返回true或false。

相关问题