eKuiper v1.7.0 将提供流批结合计算能力
九月,eKuiper 处于 v1.7.0 的开发周期中,开发团队和社区的伙伴共同完成了一系列的新功能。我们初步实现了 Lookup Table(查询表)的支持,从而完善了流批结合的运算能力,例如实时数据补全的能力。另外,我们扩展和优化了数据集成,添加了 HTTP 推送源、Influx V2 sink;扩展了 EdgeX 源的数据格式支持。同时,九月底我们也发布了 1.6.2 版本,主要是 Bug 修复和管理控制台的增强。
流批结合计算
并非所有的数据都会经常变化,即使在实时计算中也是如此。在某些情况下,你可能需要用外部存储的静态数据来补全流数据。例如,用户元数据可能存储在一个关系数据库中,流数据中只有实时变化的数据,需要连接流数据与数据库中的批量数据才能补全出完整的数据。新的版本中,eKuiper 添加了新的 Lookup Table 概念,用于绑定外部静态数据,可以在规则中与流数据进行连接,实现流批结合的运算。
使用查询表时,通常有三个步骤。
创建数据流。该步骤与之前创建普通数据流的过程无异。
CREATE STREAM demoStream() WITH (DATASOURCE="demo", FORMAT="json", TYPE="mqtt")
创建查询表。创建表时,增加了新的属性 KIND,用于指定是否为查询表。此处表的源类型为 SQL,需要在 etc/sources.sql.yaml 中配置数据库连接的相关信息。DATASOURCE 属性指定了要连接的物理表名。
CREATE TABLE myTable() WITH (DATASOURCE=\"myTable\", TYPE=\"sql\", KIND=\"lookup\")
创建规则,连接流和表,并进行计算。
SELECT * FROM demoStream INNER JOIN myTable on demoStream.id = myTable.id
与之前版本支持的动态表不同,查询表不需要在内存中存储表数据的快照,而是在连接时直接查询外部数据,从而可支持更大量的静态数据的查询。查询表提供了可配置的数据内存缓存的支持,提高查询效率。
查询表本身需要有存储能力,因此并非所有数据源都可作为查询表类型。目前,我们适配或添加了以下几种查询源(source):
SQL
Redis
Memory :配合规则流水线,可将别的规则的历史结果作为查询源使用
此外,原生插件中增加了 LookupSource 接口,供用户自定义查询源扩展。
使用 HTTP 推送数据流
新增了 httppush source ,它作为一个 HTTP 服务器,可以接收来自 HTTP 客户端的消息。所有的 HTTP 推送源共用单一的全局 HTTP 数据服务器。每个源可以有自己的 URL,这样就可以支持多个端点。HTTP 推送源的配置分成两个部分:全局服务器配置和源配置。全局服务器配置位于 etc/kuiper.yaml
中,可配置服务器的监听地址和端口,以及 HTTPS 的相关证书配置。源配置位于 etc/sources/httppush.yaml
中,用于配置推送的 HTTP 方法。创建数据流时,可通过 DataSource 属性,配置数据流监听的 URL 端点,从而区分各个数据流的推送 URL。
CREATE STREAM httpDemo() WITH (DATASOURCE="/api/data", FORMAT="json", TYPE="httppush")
在此例中,DataSource 配置为 /api/data
。假设用户使用默认服务器配置,则推送到 http://localhost:10081/api/data
中的数据将形成数据流 httpDemo。后续可创建规则对该数据流进行处理。
InfluxDB 2.x Sink
之前的版本中,eKuiper 提供了 InfluxDB sink,支持写入数据到 1.x 版本的 InfluxDB 中。然而,由于 InfluxDB 2.x 的 API 不兼容 v1,原有的 sink 不支持写入到 v2 中。新的版本中,感谢社区用户 @elpsyr 提供了 InfluxDB 2.x sink 插件,我们实现了写入 InfluxDB 2.x 的支持。
处理 EdgeX Foundry 图像数据
EdgeX Foundry 中使用 application/cbor
格式传输二进制数据,例如图像数据。新的版本中,我们提供了对该格式的支持,使得用户使用 eKuiper 处理 EdgeX 中的图像数据成为可能。Edge X Camera 服务采集到图像数据,可通过 eKuiper 进行预处理、AI 推理、后处理等,从而实现使用 SQL 规则完成 AI 图像处理流水线的功能。
即将到来
十月我们将继续进行 v1.7.0 的开发,计划的新功能包括连接资源管理、分流计算等。预计将在十月底完成发布。
版权声明: 本文为 EMQ 原创,转载请注明出处。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
NanoMQ 新增桥接连接状态监控、重构日志系统
新增桥接连接状态监控、重构日志系统 9 月,NanoMQ 继续保持稳步更新,最新的 0.12.1 版本已于近日正式发布。此版本依旧带来了丰富的更新:桥接功能中增加了上下线事件和连接状态监控能力;重构升级了原有的日志系统;配置文件得到了简化,将多个配置文件合并整理为统一的单一文件。 桥接连接状态事件消息 IoT 应用中,弱网状态下时常出现网络不稳定的情况,需要一个可靠的途径来侦测当前设备的联网状态以及与云端的连通性。为此,NanoMQ 提供了利用桥接连接来探测网络连接状态的能力。当用户在边缘侧使用 NanoMQ 桥接到云端时,NanoMQ 会创建一个 MQTT 连接到指定的云端 Broker,基于 MQTT 的长连接特性,本地网络里的设备可以利用此连接来判断网络状态。 如上图所示,当本地网络中断或其他故障导致桥接连接断开时,NanoMQ 会检测到桥接连接断开的情况,并将其转化为一个客户端上下线事件消息发布到系统主题中。网络恢复后桥接连接自动重连,也会发布一个上线事件消息到系统主题。本地的客户端和其他服务可以根据收到的此消息进行对应的应急处理,还可以配置多个桥接目标来作为备选服务避免因为云...
- 下一篇
Apache Dolphin Scheduler 3.0.1 发布,对核心及UI相关进行优化
点亮 ⭐️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler 版本发布 感谢本次的 Release Manager --@zhuangchong,是他主导了我们这个版本的发布流程,引导社区进行 版本内容沟通,发版前的问题跟踪,blocking issue 处理,版本质量管理 等,感谢@zhuangchong为社区的付出,也期待其他 Committer 和 PMC 能够一起参与到 Release Manager 的角色中来。 在3.0.0 正式版本发布1个多月之后,期间社区也紧锣密鼓的进行着新版本的迭代的筹备,通过用户访谈对一线的建议、意见反馈进行收集,作为3.0.1版本的核心开发点,我们约谈了多个企业,社区收集了 上百条 issue PR , 近30位贡献者 参与,推出了大家期盼已久的3.0.1版本,该版本对于UI以及调度内核做了些许调整,同时也修复了一些3.0.0版本存在的bug,非常欢迎社区的小伙伴参加到社区的共建中。 Release note: https://github.com/apach...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作