KSQL:如何更改分隔格式的分隔符(逗号)?
KSQL : How can I change separator (comma) of DELIMITED FORMAT?
我尝试将大量消息 (350M) 放入具有这样值格式的客户主题(源主题)
10957402000||10965746672||2|2756561822|452048703649890|8984048701003649890
然后我制作了一些关于该主题的流和 table,但是 ksql 支持的分隔格式只是逗号分隔符。我有一些问题:
- 有没有办法配置ksql可以理解我的格式?或者我必须转换为 ksql 默认格式(逗号分隔符)
- 从上面源主题的原始值,这个命令如何将值映射到table列?或者我必须将格式转换为 json?
创建流(sub_id BIGINT,contract_id BIGINT,cust_id BIGINT,account_id BIGINT,telecom_service_id BIGINT,isdn BIGINT,imsi BIGINT)\
WITH (KAFKA_TOPIC='customer', VALUE_FORMAT='DELIMITED');
谢谢。
编辑 2021 年 2 月 26 日 ksqlDB 现在支持可配置的分隔符 - 使用 VALUE_DELIMITER
(或 KEY_DELIMITER
)配置选项。例如:
CREATE STREAM (COL1 INT, COL2 VARCHAR)
WITH (KAFKA_TOPIC='test', VALUE_FORMAT='DELIMITED', VALUE_DELIMITER='TAB')
原回答:
目前KSQL只支持逗号分隔的DELIMITED
值格式。因此,您需要为源数据使用逗号、JSON 或 Avro。
我尝试将大量消息 (350M) 放入具有这样值格式的客户主题(源主题)
10957402000||10965746672||2|2756561822|452048703649890|8984048701003649890
然后我制作了一些关于该主题的流和 table,但是 ksql 支持的分隔格式只是逗号分隔符。我有一些问题:
- 有没有办法配置ksql可以理解我的格式?或者我必须转换为 ksql 默认格式(逗号分隔符)
- 从上面源主题的原始值,这个命令如何将值映射到table列?或者我必须将格式转换为 json? 创建流(sub_id BIGINT,contract_id BIGINT,cust_id BIGINT,account_id BIGINT,telecom_service_id BIGINT,isdn BIGINT,imsi BIGINT)\ WITH (KAFKA_TOPIC='customer', VALUE_FORMAT='DELIMITED');
谢谢。
编辑 2021 年 2 月 26 日 ksqlDB 现在支持可配置的分隔符 - 使用 VALUE_DELIMITER
(或 KEY_DELIMITER
)配置选项。例如:
CREATE STREAM (COL1 INT, COL2 VARCHAR)
WITH (KAFKA_TOPIC='test', VALUE_FORMAT='DELIMITED', VALUE_DELIMITER='TAB')
原回答:
目前KSQL只支持逗号分隔的DELIMITED
值格式。因此,您需要为源数据使用逗号、JSON 或 Avro。