[Apache Hop] 用低代码尝试进行MQTT的发送和接收试试看
我想介绍一下
-
- ローコードでMQTTを送受信する方法を紹介します。
-
- HopにはMQTTをPublish, Subscribeする部品がある。
- HopでのETLの定義の雰囲気を伝えたい for Beginner。
目标对象
-
- Apache Hop (データ統合プラットフォーム) 、ETLを試してみたい方。
- ローコードでMQTTを送受信してETL処理に連携させたい方。
前提 tí)
-
- Dockerを動かすことができる(MQTT Broker)。
-
- Apache Hopをインストールしている、HOP GUIを操作できる、簡単な変換処理を定義できる。
- MQTT部品は標準部品に含まれてない。EXTERNAL PLUGINSのため、以下のサイトの手順沿ってビルドして配置する必要がある。
整体构成
操作步骤的顺序
-
- MQTT Brokerを起動する
-
- MQTTをPublishするPipelineを作成する
-
- MQTTをSubscribeするPipelineを作成する
- 動作確認する
启动MQTT Broker.
用以下的Docker Compose文件定义并通过docker-compose up -d命令启动Broker。
将mosquitto用作MQTT服务器。
version: "3"
services:
broker:
image: eclipse-mosquitto
volumes:
- ./mosquitto/config:/mosquitto/config
- ./mosquitto/data:/mosquitto/data
- ./mosquitto/log:/mosquitto/log
user: "1000:1000"
ports:
- 1883:1883
创建一个用于发布MQTT的管道。
创建一个订阅MQTT的数据处理流程
确认动作
发送的数据通过MQTT Broker被传送给Subscriber。
总结
-
- このようにMQTT部品を利用して、MQTTのデータをPublisher, Subscribeできることを確認できた。IoTデータなどがMQTT経由でApacheHopでデータを受信できそう。
-
- ApacheHopには、mongoDB、PostgerSQL、neo4j, splunkとの連携する機能がある。MQTTで受信したデータを変換して保存することができるかもしれない。
- Kafka部品もあるので、MQTTのデータをKafkaに連携させることもできそう。MQTTのデータをKSQLなどで集計することもできるかもしれない。
请注意以下事项
-
- データ量が増加したり、データの送信頻度が増えたときに、どのくらいスループットが保証できるかは、要件にあわせて試してみてる必要があると思う。
-
- 1Pipelineにどのくらい定義できるのか?何個最大でうごかせるか?などはマシンスペック、ネットワークなど環境によりそう。
- MQTT部品でセキュリティの設定したときの動作は未確認。それも要件によって確認が必要だと思う。
请参考
流式传输Apache Hop和MQTT
https://diethardsteiner.github.io/hop/2021/02/08/Apache-Hop-MQTT简介.html