簡體   English   中英

在 KSQLDB 中從具有字符串類型值的主題創建表

[英]Creating a table from topic with value of String type in KSQLDB

如何從包含字符串類型值的主題創建表?

我們有一些主題包含嵌入在字符串中的 rdf 數據,在某種意義上它只是一個字符串值。 根據 KSQLDB 文檔,我們需要使用 value_format='KAFKA' 和 WRAP_SINGLE_VALUE=false ,因為它是一個匿名值。

CREATE SOURCE Table source_table_proxy (
    key VARCHAR primary KEY,
    value VARCHAR
) WITH (
    KEY_FORMAT='KAFKA',
    VALUE_FORMAT='KAFKA', 
    WRAP_SINGLE_VALUE=false,
    kafka_topic = 'topic'
); 

這是主題信息:

Key Type: STRING
Value Type: STRING
Topic Info
Partitions: 12
Replication: 1

奇怪的是,我們得到以下錯誤:

The 'KAFKA' format only supports a single field. Got: [`VALUE` STRING, `ROWPARTITION` INTEGER, `ROWOFFSET` BIGINT]

有沒有解決這個問題的方法?

不清楚為什么需要KAFKA格式。

JSON格式也適用於普通(原始)字符串

支持讀寫頂級原語,arrays 和映射。

例如,給定一個 SQL 語句,其值模式中只有一個字段,並且WRAP_SINGLE_VALUE屬性設置為 false:

CREATE STREAM x (ID BIGINT) WITH (VALUE_FORMAT='JSON', WRAP_SINGLE_VALUE=false,...);

JSON 值為:

 10

ksqlDB 可以將值反序列化到 stream 的 ID 字段中

https://docs.ksqldb.io/en/latest/reference/serialization/#top-level-primitives-arrays-and-maps

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM