kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ producer 实战
1、MQTT介绍
MQTT (Message Queuing Telemetry Transport) 是一种轻量级的消息传输协议,设计用于连接低带宽、高延迟或不可靠网络的设备。
MQTT 是基于发布/订阅模式(Publish/Subscribe)的协议,其中设备可以发布消息到一个主题(Topic),其他设备可以订阅这个主题以接收相关消息。这种模式使得设备之间可以进行灵活的通信,而不需要直接连接到彼此。
常见的支持支持MQTT的中间件有RabbitMQ和ActiveMQ。
2、今天我们基于RabbitMQ来进行学习下MQTT 生产者,如下图所示:

3、通过步骤【生成记录】生成10条记录,记录中有一个message字段,类型为String字符串,message的值为我是java小金刚,如下图所示:

4、通过步骤【MQTT producer】将message值推送到RabbitMQ中供其他应用消费。

Step name:自定义步骤名称
Connection:指定此步骤将连接的 MQTT 服务器的地址,如127.0.0.1:1883(注意这里的端口是1883,不是5672)
Client ID:指定 MQTT 客户端的唯一 ID。MQTT 服务器使用此客户端 ID 来识别每个不同的客户端及其当前状态。
Specify topic:选择“指定topic”以输入特定的主题名称,静态指定。
Get data from field:动态指定topic。
Topic name:在主题名称字段中,输入您希望发布流数据(消息)的 MQTT 主题的名称。每个 MQTT 生产者步骤将启动一个单独的线程进行发布。
Quality of Service:是消息传递的保证级别。选择以下选项之一。
至多一次(0),这是默认值
至少一次(1)
恰好一次(2)
Message field:设置消息字段,来源于前置步骤,下拉选择需要的字段。

Username:MQTT服务器的用户名,如admin
Password:MQTT服务器的秘密。
Use secure protocol:选择此选项以定义连接的 SSL 属性,本次不做介绍。

Keep Alive Interval:指定在 PDI 客户端完成传输一个控制数据包和开始传输下一个数据包之间允许经过的最大间隔秒数。
Max Inflight:指定在任何给定时间点处理中的最大消息数量。
Connection Timeout:指定在未收到消息时断开连接的时间,以秒为单位。
Clean Session:指定broker是否会存储或清除会话的消息。请选择以下之一。
True
当设置为 True 时,经纪人不会存储客户端的任何信息。所有来自先前持久会话的信息都将被清除。
False
当设置为 False 时,经纪人将存储客户端的所有订阅。当 QoS(服务质量)参数设置为 1 或 2 时,所有未接收的消息将被存储。
Storage Level:消息是存储在内存中还是在磁盘上的。
默认(留空)是内存。
对于磁盘,请输入有效路径。
Server URIs:指定 MQTT 服务器的统一资源标识符(URI),如mqtt://example.com:1883
MQTT Version:请指定此步骤连接到的 MQTT 协议版本,如MQTT 3.1.1
Automatic Reconnect:客户端在与服务器断开连接时尝试自动重新连接。请选择 True 或 False:
True
是,尝试重新连接到服务器。
False
否,不尝试重新连接到服务器。
5、RabbitMQ MQTT协议配置,
1)需要先安装然RabbitMQ。
2)启用MQTT插件,通过命令rabbitmq-plugins enable rabbitmq_mqtt进行启动。
3)开启成功后,查看管理控制台,我们可以发现MQTT服务运行在1883端口上了。

6、spoon中运行转换文件,此时发现RabbitMQ中已经成功写入数据,如下图所示:


kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ producer 实战的更多相关文章
- GPU 编程入门到精通(五)之 GPU 程序优化进阶
博主因为工作其中的须要,開始学习 GPU 上面的编程,主要涉及到的是基于 GPU 的深度学习方面的知识.鉴于之前没有接触过 GPU 编程.因此在这里特地学习一下 GPU 上面的编程. 有志同道合的小伙 ...
- CoreData 从入门到精通(五)CoreData 和 TableView 结合
我们知道 CoreData 里存储的是具有相同结构的一系列数据的集合,TableView 正好是用列表来展示一系列具有相同结构的数据集合的.所以,要是 CoreData 和 TableView 能结合 ...
- Hibernate从入门到精通(五)一对一单向关联映射
上次的博文中Hibernate从入门到精通(四)基本映射我们已经讲解了一下基本映射和相关概念,接下来我们会讲稍微复杂点的映射——关系映射. 关系映射分类 关系映射即在基本映射的基础上处理多个相关对象和 ...
- [置顶] Hibernate从入门到精通(五)一对一单向关联映射
上次的博文中Hibernate从入门到精通(四)基本映射我们已经讲解了一下基本映射和相关概念,接下来我们会讲稍微复杂点的映射——关系映射. 关系映射分类 关系映射即在基本映射的基础上处理多个相关对象和 ...
- 【PHP】最详细PHP从入门到精通(五)——PHP错误处理
PHP从入门到精通 之PHP中的字符串 在创建脚本和 web 应用程序时,错误处理是一个重要的部分.如果您的代码缺少错误检测编码,那么程序看上去很不专业,也为安全风险敞开了大门. 本教程介绍了 PH ...
- Spring Boot从入门到精通(五)多数据源配置实现及源码分析
多数据源配置在项目软件中是比较常见的开发需求,Spring和Spring Boot中对此都有相应的解决方案可供大家参考.在Spring Boot中,如MyBatis.JdbcTemplate以及Jpa ...
- Linux自有服务(1)-Linux从入门到精通第五天(非原创)
文章大纲 一.运行模式二.用户与用户组管理(重点)三.网络设置四.ssh服务(重点)五.学习资料下载六.参考文章 自有服务,即不需要用户独立去安装的软件的服务,而是当系统安装好之后就可以直接使用的 ...
- Simulink仿真入门到精通(五) Simulink模型的仿真
5.1 模型的配置仿真 由各种模块所构建的可视化逻辑连接,只是模型的外在表现,模型仿真的核心驱动器是被称作解算器(Solver)的组件,相当于Simulink仿真过程的心脏,驱动着模型仿真,它在每一个 ...
- Docker从入门到精通(五)——Dockerfile
Dockerfile 简单来说就是一个包含用于组合镜像的命令的文本文档,Docker 通过读取 Dockerfile 中的指令就可以按步骤生成镜像,那么在制作镜像之前,我们先了解一下镜像的原理. 1. ...
- kettle从入门到精通 第十一课 kettle javascript 解析json数组
1.json步骤虽然可以解析json数组,但是不够灵活.通过javascript步骤来解析json数组比较灵活,且可以按照需要组装数据流转到下个步骤. 1)步骤名称:可以自定义 2)Transform ...
随机推荐
- 力扣162(java&python)-寻找峰值(中等)
题目: 峰值元素是指其值严格大于左右相邻值的元素. 给你一个整数数组 nums,找到峰值元素并返回其索引.数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可. 你可以假设 nums[ ...
- 力扣383(java&python)-赎金信(简单)
题目: 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成. 如果可以,返回 true :否则返回 false . m ...
- 当 TiDB 与 Flink 相结合:高效、易用的实时数仓
简介: 利用实时数仓,企业可以实现实时 OLAP 分析.实时数据看板.实时业务监控.实时数据接口服务等用途.但想到实时数仓,很多人的第一印象就是架构复杂,难以操作与维护.而得益于新版 Flink 对 ...
- 一文详解 | 开放搜索兼容Elasticsearch做召回引擎
简介:开放搜索发布开源兼容版,支持阿里云Elasticsearch做搜索召回引擎,本文详细介绍阿里云ES用户如何通过接入开放搜索兼容版丰富行业分词库,提升查询语义理解能力,无需开发.算法投入,即可获 ...
- ITIL是标准吗?
ITIL不是标准 OGC:是一个推荐的管理框架,一个模版,可根据运维实践自由裁量落地 itil诞生环境:欧美思维.欧美文化.欧美制度.欧美人文习惯.... 对欧美来说可能是最佳实践,但是对中国特色文化 ...
- k8s-nginx实战部署1
目录 yaml 资源清单 run_deploy.sh .gitlab-ci.yml yaml 资源清单 deploy.yaml apiVersion: v1 kind: ConfigMap metad ...
- docker安装Mysql挂载数据卷 实现容器配置本地化
目录 一.安装docker 二.docker安装MySQL 安装5.7.31版本的mysql navicat 连接mysql 安装mysql:8 三.设置开机自动启动容器 Docker快速创建MySQ ...
- 如何在docker环境下的纯净ubuntu系统中安装最新版nginx
原文件地址: https://www.cnblogs.com/taoshihan/p/11588269.html 视频地址: https://www.bilibili.com/video/av6898 ...
- NASM中的内存引用
NASM对于内存的引用规则非常简单,如果想访问内存中的内容,就将地址用[]包围,如果没有[],就表示是地址本身,而不是内容. mov ax,[wordvar] mov ax,[wordvar+1] m ...
- Unity Shader中的常见流控制指令
在Shader中处理流控制语句时,常加上一些宏去处理流控制指令.例如: [UNITY_UNROLL] for (int i = 0; i < 10; i++) { //do something. ...