【问题标题】:How to do reverse EXTRACTJSONFIELD function?如何做反向EXTRACTJSONFIELD函数?
【发布时间】:2021-08-11 01:02:14
【问题描述】:

在主题中格式化我的记录 - key: 1-2MDWE7JT,我想将其转换为 key: {"some_id" : "1-2MDWE7JT"}。 如何使用 ksql 函数将字段包含到 json 中?我没有找到像“INCLUDEJSONFIELD”这样的“EXTRACTJSONFIELD”的反向函数。

【问题讨论】:

  • 您需要创建一个 Struct 字段,然后让流格式处理 JSON 转换

标签: apache-kafka ksqldb


【解决方案1】:

如果数据在输入主题中写为key: 1-2MDWE7JT,则只能读取这种方式,即模式将是普通的VARCHAR 类型。不过,您可以在查询时将密钥动态包装到 STRUCT

SELECT STRUCT(f1 := v1, f2 := v2) FROM s1;

参见https://docs.ksqldb.io/en/latest/developer-guide/ksqldb-reference/select-pull-query/#struct-output

因此,您将创建一个输出 STREAM,其中包含按您想要的方式包装的密钥(如果您使用 JSON 密钥格式)。

【讨论】:

    猜你喜欢
    • 2012-01-14
    • 1970-01-01
    • 2018-05-23
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多