2

我尝试将大量消息(350M)放入客户主题(源主题),其值格式如下

10957402000||10965746672||2|2756561822|452048703649890|8984048701003649890

然后我就该主题制作了一些流和表格,但 ksql 支持的分隔格式只是逗号分隔符。我有一些问题:

  • 有什么方法可以配置 ksql 可以理解我的格式吗?或者我必须通过 ksql 转换为默认格式(逗号分隔符)
  • 从上面源主题的原始值,这个命令如何将值映射到表列?还是我必须将格式转换为 json?CREATE STREAM (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');

谢谢。

4

1 回答 1

2

编辑 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。

于 2018-06-07T11:35:08.840 回答