Confluent发布分布式流数据查询引擎KSQL
极客时间编辑部
讲述:丁婵大小:1.34M时长:02:55
近日,Confluent 发布了针对 Kafka 的交互式、分布式流 SQL 引擎 KSQL。KSQL 能够更容易地对 Kafka 的主题进行多种流处理操作,比如聚合、连接、时间窗口以及会话等。
KSQL 允许开发人员以类似 SQL 的语法读取、写入和处理实时的流数据,包括对比两个或更多的流数据,来探测反常现象并实时对其作出反应。与其他的分布式流和 SQL 框架不同的是,KSQL 为 Kafka 提供了一个流数据 SQL 引擎。在 KSQL 之前,开发人员需要使用 Java 或 Python 编程来处理 Kafka 中的流数据。
Confluent 的联合创始人兼 CTO 尼哈·纳赫德(Neha Narkhede)也在其博客中阐述了 KSQL 框架的特性和使用场景,纳赫德表示,KSQL 可以用到诸如异常检测、监控和流式 ETL 中。
在底层,KSQL 使用 Kafka 中的 Streams API 来操作 Kafka 主题。Stream 和 Table 是 KSQL 中的两个核心抽象,它们同时也是 Streams API 的核心抽象。
Stream 是流处理应用中最重要的结构和一等公民。流是没有边界的结构化数据序列,流中已有的数据是不可变的,新的数据可以插入到流中,但是已有的数据无法进行更新或删除。流可以通过 Kafka 主题来创建,也可以通过已有的流或表衍生出来。
在 Kafka 中,Table 是 STREAM 或另外一个 TABLE 的视图,代表了可变数据的集合。它与传统数据库中的表是对等的,只不过每当有新事件到达时,它就会持续更新,并且还支持额外的流处理语义,比如时间窗口。表中的数据是可变的,这意味着新的数据可以插入到表中,已有的数据也可以更新或删除。流可以通过 Kafka 主题来创建,也可以通过已有的流或表衍生出来。
Kafka 中的一个主题可以表述为 KSQL 中的一个 Stream 或一个 Table,这取决于在该主题上想要表达的语义。
Confluent 在近期于旧金山举行的 Kafka 峰会上宣布将 KSQL 开源。在与开源社区协作的过程中,Confluent 计划添加更多的功能,使其在质量、稳定性以及操作性方面成为生产环境就绪的系统。
团队准备支持更丰富的 SQL 语法,包括功能更强的聚集函数以及在连续表上任意时间点上使用的 SELECT 语句,也就是能够基于已计算出来的结果进行查找,也支持对流连续计算的结果进行查询。
KSQL 目前尚处于开发者预览阶段,团队计划在接下来的几个月中使其达到生产环境就绪阶段。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论