详情介绍
ksqlDB是Apache Kafka的事件流数据库。它是分布式的,可伸缩的,可靠的和实时的。ksqlDB通过熟悉的轻量级SQL语法将实时流处理的功能与关系数据库的平易近人的感觉结合在一起。ksqlDB提供了以下核心原语:
1、流和表-通过Apache Kafka主题数据在架构上创建关系
2、物化视图-使用SQL在流上定义实时,增量更新的物化视图
3、推送查询-连续查询,可将增量结果实时推送到客户端
4、拉式查询-按需查询物化视图,非常类似于传统数据库
5、连接-完全从ksqlDB内部与任何Kafka Connect数据源或接收器集成
组合这些强大的原语,使您能够仅使用SQL语句来构建完整的流应用程序,从而最大程度地减少了复杂性和运营开销。ksqlDB支持广泛的操作,包括聚合,联接,窗口化,会话化等等。您可以在此处找到更多的ksqlDB教程和资源。
用例和范例
物化视图
ksqlDB允许您在流和表上定义实例化视图。物化视图由所谓的“持久查询”定义。这些查询被称为持久查询,因为它们使用表维护其增量更新的结果。
CREATE TABLE hourly_metrics AS
SELECT url, COUNT(*)
FROM page_views
WINDOW TUMBLING (SIZE 1 HOUR)
GROUP BY url EMIT CHANGES;
可以通过查询从需求的实现视图中“拉出”结果SELECT。以下查询将返回单行:
SELECT * FROM hourly_metrics
WHERE URL = 'http://myurl.com' AND WINDOWSTART = '2019-11-20T19:00' ;
结果也可以通过流查询连续地“推送”给客户端SELECT。以下流查询将向客户端推送对实例化视图所做的所有增量更改:
SELECT * FROM hourly_metrics EMIT CHANGES ;
流查询将永久运行,直到明确终止它们为止。
流式ETL
Apache Kafka是为数据管道提供动力的流行选择。ksqlDB使在管道内转换数据变得简单,从而使消息可以干净地降落在另一个系统中。
CREATE STREAM vip_actions AS
SELECT userid, page, action
FROM clickstream c
LEFT JOIN users u ON c.userid = u.user_id
WHERE u.level = 'Platinum' EMIT CHANGES;
异常检测
ksqlDB非常适合识别实时数据的模式或异常。通过在数据到达时处理流,您可以识别并适当地以毫秒级延迟掩盖异常事件。
CREATE TABLE possible_fraud AS
SELECT card_number, count(*)
FROM authorization_attempts
WINDOW TUMBLING (SIZE 5 SECONDS)
GROUP BY card_number
HAVING count(*) > 3 EMIT CHANGES;
监控方式
Kafka具有通过流处理提供可伸缩的有序消息的能力,使其成为日志数据监视和警报的通用解决方案。ksqlDB提供了一种熟悉的语法,用于跟踪,理解和管理警报。
CREATE TABLE error_counts AS
SELECT error_code, count(*)
FROM monitoring_stream
WINDOW TUMBLING (SIZE 1 MINUTE)
WHERE type = 'ERROR'
GROUP BY error_code EMIT CHANGES;
与外部数据源和接收器集成
ksqlDB包括与Kafka Connect数据源和接收器的本机集成,可有效地在各种外部系统上提供统一的SQL接口。
以下查询是一个简单的持久性流查询,它将所有输出产生到名为的主题中
CREATE STREAM clicks_transformed AS
SELECT userid, page, action
FROM clickstream c
LEFT JOIN users u ON c.userid = u.user_id EMIT CHANGES;
与其简单地将所有连续查询输出发送到Kafka主题,还不如将输出路由到另一个数据存储区非常有用。ksqlDB的Kafka Connect集成使此模式非常容易。
以下语句将创建一个Kafka Connect接收器连接器,该连接器将上述流式ETL查询的所有输出直接连续发送到Elasticsearch:
CREATE SINK CONNECTOR es_sink WITH (
'connector.class' = 'io.confluent.connect.elasticsearch.ElasticsearchSinkConnector',
'key.converter' = 'org.apache.kafka.connect.storage.StringConverter',
'topics' = 'clicks_transformed',
'key.ignore' = 'true',
'schema.ignore' = 'true',
'type.name' = '',
'connection.url' = 'http://elasticsearch:9200');
下载地址
人气源码
相关文章
-
Java轻量级类隔离框架 SOFAArk Project v2.3.0SOFAArk 是一款基于 Java 实现的动态热部署和轻量级类隔离框架,由蚂蚁集团开源贡献,主要提供应用模块的动态热部署和类隔离能力。欢迎需要的朋友下载使用...
-
SpringBlade微服务开发平台 v4.4.0SpringBlade 是一个由商业级项目升级优化而来的SpringCloud分布式微服务架构、SpringBoot单体式微服务架构并存的综合型项目,采用Java8 API重构了业务代码,完全遵循阿里巴...
-
Diboot轻代码开发平台 v2.11.0Diboot轻代码开发平台是一个面向开发人员的低代码开发平台,将重复性的工作自动化,提高质量、效率、可维护性...
-
RuoYi-activiti工作流平台源码 v4.1RuoYi-activiti是一款以若依开源权限管理系统为基础开发平台并集成了activiti框架完成的工作流系统,旨在打造集流程设计、流程部署、流程执行、任务办理、流程监控于一体的...
-
RuoYi若依权限管理系统 v4.7.9RuoYi若依权限管理系统是一个基于SpringBoot的权限管理系统,代码易读易懂、界面简洁美观, 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖,喜欢的朋友快来下载...
-
Java Struts2漏洞复现工具今天给大家分享Java Struts2漏洞复现工具,喜欢的朋友快来下载体验吧...
-
java操作excel的jar包(jxl.jar包 源码)jxl.jar是通过java操作excel表格的工具类库,能够修饰单元格属性,是由java语言开发而成的,接下来通过本文给大家介绍java操作excel的jar包(jxl.jar包 源码),喜欢的朋友快...
-
springboot整合QuartJob实现定时器实时管理源代码Quartz是一个完全由java编写的开源作业调度框架,形式简易,功能强大,,下面给大家分享springboot整合QuartJob实现定时器实时管理源代码,感兴趣的朋友快来下载体验吧...
-
SOFABoot开源框架 v3.24.0SOFABoot 是蚂蚁集团开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,上下文隔离,类隔离,日志空间隔离等等能力...
-
基于SSM的应急资源管理系统源码 v1.0应急资源管理系统用的是是比较流行的SSM和前端JSP技术,用它来创建使用脚本语言,结合HTML代码来制作动态 网页,欢迎需要的朋友下载使用...
下载声明
☉ 解压密码:www.jb51.net 就是本站主域名,希望大家看清楚,[ 分享码的获取方法 ]可以参考这篇文章
☉ 推荐使用 [ 迅雷 ] 下载,使用 [ WinRAR v5 ] 以上版本解压本站软件。
☉ 如果这个软件总是不能下载的请在评论中留言,我们会尽快修复,谢谢!
☉ 下载本站资源,如果服务器暂不能下载请过一段时间重试!或者多试试几个下载地址
☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持!
☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。
☉ 本站提供的KSQL事件流数据库 v7.2.0.470资源来源互联网,版权归该下载资源的合法拥有者所有。




























