ksqldb - KSQL 查询在键值前面有奇怪的键
问题描述
我创建了一个这样的流:
CREATE STREAM TEST1 WITH (KAFKA_TOPIC='TEST_1',VALUE_FORMAT='AVRO');
然后我通过 CLI 像这样查询流:
SELECT * FROM TEST1;
结果如下所示:
1571225518167 | \u0000\u0000\u0000\u0000\u0001\u0006key | 7 | 7 | blue
我想知道为什么密钥是这样形成的。我的查询是否有问题?值应该是这样的:
1571225518167 | key | 7 | 7 | blue
解决方案
您的密钥采用 Avro 格式,KSQL 尚不支持。
如果您可以控制数据生产者,请以字符串格式编写密钥(例如 Kafka Connect 使用org.apache.kafka.connect.storage.StringConverter
)。如果不是,并且您需要使用密钥,例如驱动 KSQL 表,您需要使用 KSQL 重新键入数据:
CREATE STREAM TEST1_REKEY AS SELECT * FROM TEST1 PARTITION BY my_key_col
推荐阅读
- c - 如何在c中将相对url转换为绝对url
- swift - SwiftUI onTapGesture 不适用于 Mac 应用程序中的 ObservedObject
- sirishortcuts - 查找笔记问题
- ios - 在 tabbedView 中实现时,状态栏颜色不会随 navigationBar 改变
- python - 我怎样才能输入一些标准值,然后继续
- reactjs - 动态生成 className 时,如何更改样式化组件主题?
- javascript - 无法使用 Sinon 模拟节点 fs 模块
- core-data - SwiftUI / CoreData / Master / Detail(带编辑)/ Xcode 11 - Beta 5
- android - Android Intent Filters - 专有文件类型的空白 mimeType
- javascript - Firebase 列表未在运行时显示