apache-kafka 如何在Kafka ksql中使用字符串数组字段

piah890a  于 2022-11-01  发布在  Apache
关注(0)|答案(1)|浏览(111)

在创建users流并将其interests字段作为字符串数组ARRAY<STRING>数据类型后:

CREATE STREAM users
  (userid VARCHAR,
   interests ARRAY<STRING>)
  WITH (KAFKA_TOPIC = 'users',
        VALUE_FORMAT='JSON');

我继续插入第一个用户数据:

INSERT INTO users (userid, interests) VALUES ('user0001', ['music','sport'])

很遗憾,此插入语句失败,出现错误

line 1:60: extraneous input '[' expecting {'(', 'STRING'...

我尝试将方括号[]替换为(),如下所示:

INSERT INTO users (userid, interests) VALUES ('user0001', ('music','sport'))

但也失败了。
如何修复这个错误?有没有办法使用字符串数组数据类型来存储字符串数组['music','sport']

n53p2ov0

n53p2ov01#

您必须使用ARRAY函数:
https://docs.ksqldb.io/en/latest/developer-guide/ksqldb-reference/scalar-functions/#array

INSERT INTO users (userid, interests) VALUES ('user0001', ARRAY['music','sport']);

相关问题