提供流批结合计算能力

简介: eKuiper处于v1.7.0开发中,开发团队和社区的伙伴共同完成了一系列的新功能:完善了流批结合的运算能力,并扩展和优化了数据集成。

九月,eKuiper 处于 v1.7.0 的开发周期中,开发团队和社区的伙伴共同完成了一系列的新功能。我们初步实现了 Lookup Table(查询表)的支持,从而完善了流批结合的运算能力,例如实时数据补全的能力。另外,我们扩展和优化了数据集成,添加了 HTTP 推送源、Influx V2 sink;扩展了 EdgeX 源的数据格式支持。同时,九月底我们也发布了 1.6.2 版本,主要是 Bug 修复和管理控制台的增强。

流批结合计算

并非所有的数据都会经常变化,即使在实时计算中也是如此。在某些情况下,你可能需要用外部存储的静态数据来补全流数据。例如,用户元数据可能存储在一个关系数据库中,流数据中只有实时变化的数据,需要连接流数据与数据库中的批量数据才能补全出完整的数据。新的版本中,eKuiper 添加了新的 Lookup Table 概念,用于绑定外部静态数据,可以在规则中与流数据进行连接,实现流批结合的运算。

使用查询表时,通常有三个步骤。

  1. 创建数据流。该步骤与之前创建普通数据流的过程无异。

    CREATE STREAM demoStream() WITH (DATASOURCE="demo", FORMAT="json", TYPE="mqtt")

  2. 创建查询表。创建表时,增加了新的属性 KIND,用于指定是否为查询表。此处表的源类型为 SQL,需要在 etc/sources.sql.yaml 中配置数据库连接的相关信息。DATASOURCE 属性指定了要连接的物理表名。

    CREATE TABLE myTable() WITH (DATASOURCE=\"myTable\", TYPE=\"sql\", KIND=\"lookup\")

  3. 创建规则,连接流和表,并进行计算。

    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 原创,转载请注明出处。

原文链接:https://www.emqx.com/zh/blog/ekuiper-newsletter-202209

目录
相关文章
|
人工智能 弹性计算 算法
一文解读:阿里云AI基础设施的演进与挑战
对于如何更好地释放云上性能助力AIGC应用创新?“阿里云弹性计算为云上客户提供了ECS GPU DeepGPU增强工具包,帮助用户在云上高效地构建AI训练和AI推理基础设施,从而提高算力利用效率。”李鹏介绍到。目前,阿里云ECS DeepGPU已经帮助众多客户实现性能的大幅提升。其中,LLM微调训练场景下性能最高可提升80%,Stable Difussion推理场景下性能最高可提升60%。
127045 268
|
达摩院 架构师 Cloud Native
数智洞察 | 企业背后的驱动力——探索阿里的超大团队管理秘籍
编者按: 当一群高智商、高薪酬的人聚在一起,是脑力的风暴还是角力的漩涡?是在冥思苦想还是在浑水摸鱼?这很大程度上决定了一家公司的生产力。 本文揭秘阿里巴巴的研发团队,看阿里云智能总裁、达摩院院长张建锋(花名行癫)如何管理超大规模开发团队。
709 0
|
1天前
|
云安全 人工智能 自然语言处理
|
6天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
314 116
|
8天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
603 53
Meta SAM3开源:让图像分割,听懂你的话
|
21天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
5天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
|
4天前
|
弹性计算 人工智能 Cloud Native
阿里云无门槛和有门槛优惠券解析:学生券,满减券,补贴券等优惠券领取与使用介绍
为了回馈用户与助力更多用户节省上云成本,阿里云会经常推出各种优惠券相关的活动,包括无门槛优惠券和有门槛优惠券。本文将详细介绍阿里云无门槛优惠券的领取与使用方式,同时也会概述几种常见的有门槛优惠券,帮助用户更好地利用这些优惠,降低云服务的成本。
269 132