【问题标题】:KSQL Kafka formatting of keys键的 KSQL Kafka 格式化
【发布时间】:2023-04-02 04:39:01
【问题描述】:

我的一个主题有一个 string-json 作为键 - {"city":"X","id":22}。 在我的 ksql 语句中,我想将它提取到 2 个不同的字段而不是一个,以便以后过滤和加入。在文档中,它似乎允许我只将整个字符串粘贴到键中,而不是允许将其格式化为 JSON(就像 FORMAT_VALUE 一样),见下文...有什么建议可以优雅地解决这个问题吗?

VALUE_FORMAT(必需)指定主题中消息值的序列化格式。支持的格式:JSON、DELIMITED 和 AVRO

KEY 将 Kafka 主题中的消息键与 KSQL 流中的列相关联。

【问题讨论】:

    标签: apache-kafka apache-kafka-streams ksqldb


    【解决方案1】:

    您应该能够使用ROWKEY 列上的EXTRACTJSONFIELD UDF 执行此操作。 ROWKEY 列是架构中的“列”,其中包含给定行的键。 EXTRACTJSONFIELD UDF 允许您从包含 json 字符串的列中提取字段。因此,对于您的示例,您可以运行:

    SELECT EXTRACTJSONFIELD(ROWKEY, '$.city') AS city, EXTRACTJSONFIELD(ROWKEY, '$.id') AS id FROM FOO;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-04
      • 1970-01-01
      • 1970-01-01
      • 2020-03-14
      • 2020-01-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多