如何在ksql的列数组数据类型中插入null

问题描述 投票:0回答:1

我正在创建一个数据类型为Array的流。一个空值来了,所以我要在前一个流之上创建另一个流,并给出一个类似其null put []的情况。但它不起作用。

我曾经尝试过[],{},[0],0的情况。

CREATE STREAM stream1
(
id VARCHAR,
tags ARRAY<INT>, 
feed_id VARCHAR,
status INT,
updated_at VARCHAR
)
WITH (kafka_topic='origin_topic', value_format='JSON');

Create Stream stream2 AS 
select  
id AS id,
case when tags is NULL THEN [] END ELSE tags END as tags,
case when feed_id is NULL THEN '0' ELSE feed_id END as feed_id,
case when status is NULL THEN 0 ELSE status END as status,
case when updated_at is NULL THEN '0' ELSE updated_at END as 
updated_at
from stream1 PARTITION BY id;
confluent ksqldb
1个回答
0
投票

ksqlDB支持数组构造函数ARRAY[],但是如果您正在运行旧版本,则可能不可用。此外,它不支持空数组,因此您需要传递至少一个参数,例如ARRAY[1]将创建一个具有单个INT / BIGINT元素的数组。

© www.soinside.com 2019 - 2024. All rights reserved.