Apache kafka KSQL:如何更改分隔格式的分隔符(逗号)?

Apache kafka KSQL:如何更改分隔格式的分隔符(逗号)?,apache-kafka,ksqldb,Apache Kafka,Ksqldb,我尝试将大量消息(350M)以这样的值格式放到客户主题(源主题)中 10957402000||10965746672||2|2756561822|452048703649890|8984048701003649890 然后我就这个主题制作了一些流和表,但是ksql支持的分隔格式只是逗号分隔符。我有一些问题: 有什么方法可以配置ksql以理解我的格式吗?或者我必须转换为ksql(逗号分隔符)的默认格式 从上述源主题的原始值来看,该命令如何将值映射到表列?或者我必须将格式转换为json? 创建流

我尝试将大量消息(350M)以这样的值格式放到客户主题(源主题)中

10957402000||10965746672||2|2756561822|452048703649890|8984048701003649890
然后我就这个主题制作了一些流和表,但是ksql支持的分隔格式只是逗号分隔符。我有一些问题:

  • 有什么方法可以配置ksql以理解我的格式吗?或者我必须转换为ksql(逗号分隔符)的默认格式
  • 从上述源主题的原始值来看,该命令如何将值映射到表列?或者我必须将格式转换为json? 创建流(子id BIGINT、合同id BIGINT、客户id BIGINT、帐户id BIGINT、电信服务id BIGINT、isdn BIGINT、imsi BIGINT)\ 带有(KAFKA_TOPIC='customer',VALUE_FORMAT='DELIMITED')
谢谢。


编辑2021年2月26日ksqlDB现在支持可配置分隔符-使用
VALUE\u DELIMITER
(或
KEY\u DELIMITER
)配置选项。例如:

创建流(COL1 INT,COL2 VARCHAR)
带有(KAFKA_TOPIC='test',VALUE_FORMAT='DELIMITED',VALUE_DELIMITER='TAB')

原始答复:


目前KSQL只支持逗号分隔的
分隔的
值格式。因此,您需要在源数据中使用逗号、JSON或Avro。

谢谢,您是我的英雄:)很高兴为您提供帮助。如果答案是正确的,请记住将其标记为正确:)你能为我推荐什么格式最适合大数据(~10亿条消息/主题)吗?我推荐Avro,因为你从Schema Registry中获益,而Kafka中的消息大小更小。