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