流批结合计算以及更多原生分析能力支持

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 十月,eKuiper发布了1.7.0版本:引入了查询表和可更新Sink的概念,支持数据流与外部存储的数据一起计算,进一步完善了流批结合的实时计算能力。

十月,eKuiper 正式发布了 1.7.0 版本。这一版本引入了查询表和可更新 Sink 的概念,支持数据流与外部存储的数据一起计算,进一步完善了流批结合的实时计算能力。与此同时,我们改进了分析函数,支持分流进行有状态计算,添加了更多的分析函数,继续提高规则的表达能力。在外部连接整合方面,我们丰富了source/sink,部分资源整合适配了新的查询表和可更新 Sink 的能力。另外,新版本也着力提高产品运维的能力,优化了管理控制台的外部资源 source/sink 的管理逻辑;提供了规则集的批量导入导出和初始化功能。

在之前的 Newsletter 中,我们已经对 v1.7.0 的部分功能进行了介绍,本文将重点介绍本月新添加的功能。欢迎大家下载试用,并提出您的宝贵反馈。

强化分析能力

新版本添加和改进了 SQL 语法和内置函数,支持更多原生的分析能力。

  • 添加了新的 Lookup Table 概念,用于绑定外部静态数据,可以在规则中与流数据进行连接,实现流批结合的运算。
  • 可更新的 Sink,除了原有的添加功能,支持通过规则对外部输出进行修改和删除。例如,可配置规则修改 SQL 数据库和 Redis 的数据。
  • 分析函数执行优化及分流计算。
  • 新增分析函数 Latest,可获取数据点位最新的值。用于采集数据点位不固定,可自动拼接计算完整数据。
  • SQL 支持选择 * 的同时,选择更多的函数计算、别名等。

分析函数分流计算

分析函数指的是通过保存状态进行状态相关分析的函数,使得用户可以无需通过复杂的时间窗口或者自定义函数完成一部分常用的有状态计算。eKuiper 原有版本中已经提供了诸如 lagchanged_colhad_changed 等分析函数。新的版本中,我们对分析函数进行了强化。

首先,分析函数在 SQL 逻辑计划中将被放置于数据源之后执行。运行时在流式处理规则中,分析函数需要在事件触发时进行状态更新。若在部分子句中,例如带 WHERE 过滤的规则中使用,有可能函数尚未执行规则已经返回。新的改动保证在事件触发时可及时进行状态更新。

其次,分析函数中添加了 Partition By 的分流语法。分析函数的计算默认是在数据流的所有输入事件上进行的。然而,有部分用户的数据流事实上包含了来自不同维度的数据,例如多个设备的数据混杂在一个 MQTT topic 中。新的语法允许用户在做分析计算时根据 Partition By 定义的维度进行分流计算。其语法如下所示:

textAnalyticFuncName(<arguments>...) OVER ([PARTITION BY <partition key>])

假设用户接入一个数据流,其中的事件为来自多个设备的温度数据。以下两个示例分别演示了有无分流的计算效果。

示例 1:获取之前温度值的函数

lag(temperature)

示例 2:获取相同设备之前温度值的函数

lag(temperature) OVER (PARTITION BY deviceId)

扩大连接生态

新版本在资源连接方面主要完成了两部分工作:一方面继续增加内置和扩展的 source/sink;另一方面,扩展现有 source/sink 功能,并适配 Lookup Table 和 Updatable Sink 的能力。

  • Httppush source,通过 HTTP 协议向 eKuiper 推送数据。
  • Influx V2 sink,支持写入到 InfluxDB 2.x 版本中。
  • Redis lookup source,支持使用 Redis 作为外部查询表。
  • EdgeX source 支持 application/cbor 格式,可处理 EdgeX camera 等接入的二进制数据。
  • Memory 和 SQL source 适配 Lookup Table
  • Memory、Redis 和 SQL sink 支持更新
  • Redis sink 移到内置 Sink 中,无需安装插件即可使用。

增强运维体验

新的版本重构了外部连接配置相关的 API 以实现在管理控制台上更易用的连接资源管理功能。另外一个较大的更新来自于流和规则的批量导入导出和初始化功能,方便用户进行规则的迁移。

统一资源管理

资源是数据集成的关键概念 。eKuiper 需要从源资源中接入数据然后从动作目标资源中导出处理的数据。

在管理控制台上,当创建多个规则时,以前只支持源部分的资源复用,而针对动作,即使不同规则的动作目标一致,也需要多次重复输入资源信息。本次更新后,管理控制台中突出了资源管理概念,支持在单独页面配置资源,可分别对源和目标动作连接资源单独配置,在配置好后一键测试连接可用性,并支持用户在创建规则时引用已创建好的连接资源,简化规则编写步骤。

统一的 source sink 资源配置管理页面 图1.png

统一的 source/sink 资源配置管理页面

资源配置界面可测试连接 图2.png

资源配置界面可测试连接

批量流和规则管理

新版本中提供了 REST API 和 CLI 接口,用于导入导出当前 eKuiper 实例中的所有流,表和规则定义。这样可以快速地备份规则配置或者移植配置到新的 eKuiper 实例中。导入导出的规则集为文本的 JSON 格式,可读性较强,也可以手工编辑。

此外,导出的规则集文件可命名为 init.json放置于 data 目录中。eKuiper 首次运行时将自动载入此初始规则集,从而可实现预置规则,提高分发效率。

服务管理界面增加导入导出规则集功能 图3.png

服务管理界面增加导入导出规则集功能

即将到来

下个月我们将进行 1.7.1 版本开发,主要包括 EdgeX Levski 版本的适配和 Bug 解决。此外,我们也将启动 v1.8.0 以及 Flow Editor 的开发。

版权声明: 本文为 EMQ 原创,转载请注明出处。

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

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
18天前
|
机器学习/深度学习 分布式计算 数据处理
Spark是一个基于内存的通用数据处理引擎,可以进行大规模数据处理和分析
【5月更文挑战第2天】Spark是一个基于内存的通用数据处理引擎,可以进行大规模数据处理和分析
29 3
|
18天前
|
存储 SQL 数据管理
一个理想的数据湖应具备哪些功能?
一个理想的数据湖应具备哪些功能?
96 3
|
18天前
|
SQL 架构师 大数据
提升企业级数据处理效率!3.0 系列版本的四个集群优化点详解
为了帮助企业更好地进行大数据处理,我们在此前 TDengine 3.x 系列版本中进行了几项与集群相关的优化和新功能开发,本文将对这几项重要优化进行详细阐述。
49 0
|
18天前
|
消息中间件 运维 Serverless
使用函数计算,数禾如何实现高效的数据处理?
使用函数计算,数禾如何实现高效的数据处理?
93093 1
|
18天前
|
监控 安全 大数据
Dataphin V3.10升级速览丨集成能力提升、15个应用场景、数据治理能力优化……
Dataphin V3.10升级速览丨集成能力提升、15个应用场景、数据治理能力优化……
|
6月前
|
关系型数据库 Serverless OLAP
构建高效数据流转的 ETL 系统:数据库 + Serverless 函数计算的最佳实践
构建高效数据流转的 ETL 系统:数据库 + Serverless 函数计算的最佳实践
79709 2
|
7月前
|
存储 分布式计算 大数据
MaxCompute查询加速的能力,是由其底层的系统架构实现的。
MaxCompute查询加速的能力,是由其底层的系统架构实现的。
172 1
|
10月前
|
存储 SQL BI
Apache Doris 2.0.0 版本正式发布:盲测性能 10 倍提升,更统一多样的极速分析体验
亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于 2023 年 8 月 11 日正式发布,有超过 275 位贡献者为 Apache Doris 提交了超过 4100 个优化与修复。
EMQ
|
SQL 人工智能 边缘计算
提升规则自治能力与原生分析能力、支持视频流接入处理
11月,eKuiper团队转入1.8.0版本的开发周期之中,目前添加了视频流source,将边缘流式处理能力扩展到视频流领域。
EMQ
319 0
提升规则自治能力与原生分析能力、支持视频流接入处理
|
SQL 缓存 运维
更快更稳更易用: Flink 自适应批处理能力演进
朱翥、贺小令在 9.24 Apache Flink Meetup 的演讲内容整理。
更快更稳更易用: Flink 自适应批处理能力演进

热门文章

最新文章