[英]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.