Kuiper

官网介绍:https://github.com/emqx/kuiper/blob/master/README-CN.md

简介

EMQ X Kuiper 是 Golang 实现的轻量级物联网边缘分析、流式处理开源软件,可以运行在各类资源受限的边缘设备上。Kuiper 设计的一个主要目标就是将在云端运行的实时流式计算框架(比如 Apache Spark,Apache Storm 和 Apache Flink 等)迁移到边缘端。Kuiper 参考了上述云端流式处理项目的架构与实现,结合边缘流式数据处理的特点,采用了编写基于源 (Source),SQL (业务逻辑处理), 目标 (Sink) 的规则引擎来实现边缘端的流式数据处理。

kuiper的功能

接收mqtt协议的流数据,并处理,处理后的数据可以写入本地文件,以mqtt格式传出去或者用自定义的golang语言发送到其他地方。怎样处理数据,数据处理后发送给谁,都可以在规则中定义。
如何编写规则可以看官方文档:https://github.com/emqx/kuiper/blob/master/docs/en_US/extension/function.md

优点

官网列举了许多优点,我觉得最重要的三个优点是

  • 轻量级
  • 提供了与 EMQ X Edge 的无缝集成,实现在边缘端从消息接入到数据分析端到端的场景实现能力
  • 扩展性

应用场景

参考官方:https://www.jianshu.com/p/dd2567db4614

  • 车间的工业网关:实时分析来自于生产线的数据,并将分析结果推送至云端。车间本地可视化系统,或者远程监控系统可以查看生产线的实时状态
  • 车联网车机:实时分析汽车总线的数据,经过分析将有价值的数据推送至云端或者本地存储,车载系统或者用户的手机应用可以实时查看汽车的状态
  • 智能家居网关:通过实时分析家居采集的各类数据,将重要的结果通过本地显示设备,或者通过云端发送给用户的手机应用,实现对家庭设备的即时状态管理与控制

以上各类应用场景很好体现了边缘计算的价值:实时本地数据处理,提升用户体验;在本地数据处理,还提高了数据安全性,保护个人隐私;节省网络带宽和云端存储成本。Kuiper 可以运行在这些计算资源不足的边缘设备上,低成本地实现边缘端的流式数据处理。

使用步骤概述

Kuiper 的使用过程与传统的流式工具类似,主要包括三步:流定义,规则定义,提交规则执行

kuiper的命令

server命令

用来启动kuiper的接收消息服务,命令为

bin/server

cli命令

对流的增删查看,对规则的增删查看、启用停止,命令格式,如

bin/cli $命令
#如 bin/cli query
功能 解释 命令 stream rule
create 创建流/规则 create create stream $stream_name -f $stream_def_file create rule $rule_name $rule_json / -f $rule_def_file
describe 查看流/规则 describe describe stream $stream_name describe rule $rule_name
drop 删除流/规则 drop drop stream $stream_name drop rule $rule_name
show 显示所有规则/流 show show streams show rules
query 接收筛选 query query command line
restart 重启规则 restart restart rule $rule_name
start 开始规则 start start rule $rule_name
stop 结束规则 stop stop rule $rule_name
getstatus 查看规则状态 getstatus getstatus rule $rule_name
help 帮助 h Shows a list of commands or help for one command
发布了25 篇原创文章 · 获赞 0 · 访问量 441

猜你喜欢

转载自blog.csdn.net/longzu233/article/details/104602874