ksqlDB 流处理命令行
ksql 连接 ksqlDB 服务器,用 SQL 创建流、表、物化视图和持续查询。它把 Kafka topic 映射成 STREAM/TABLE,适合实时 ETL 和告警。
ksql http://ksqldb:8088
ksql http://ksqldb:8088 --file queries.sql
SHOW STREAMS;
SHOW TABLES;
SHOW QUERIES;
CREATE STREAM app_events (
id INT,
event_type VARCHAR,
ts BIGINT
) WITH (
KAFKA_TOPIC='app-events',
VALUE_FORMAT='JSON'
);
CREATE TABLE event_counts AS
SELECT event_type, COUNT(*) AS cnt
FROM app_events
WINDOW TUMBLING (SIZE 1 MINUTE)
GROUP BY event_type
EMIT CHANGES;
SELECT * FROM event_counts EMIT CHANGES;
DESCRIBE app_events;
TERMINATE <query-id>;
DROP STREAM app_events;
EMIT CHANGES 是持续查询;普通 SELECT 和 pull query 的语义不同。TERMINATE 后再决定是否删除。kafka-broker — 底层 Kafkaschema-registry — Schema 管理kcat — 消息验证