ビジネスコンテキストを追加
Databricks 上でデバイスイベントを保守・生産・業務の記録と組み合わせ、運用上の課題を調査できます。
概要
テレメトリと業務データを組み合わせて運用状況を調査し、アナリティクスや AI 向けのデータセットを構築できます。
Databricks 上でデバイスイベントを保守・生産・業務の記録と組み合わせ、運用上の課題を調査できます。
ファイルを書き込む前に EMQX でメッセージをフィルタリングし、ペイロードを整形することで、分析に必要なフィールドだけをレイクハウスに届けます。
S3 を共有ストレージレイヤーとして使用します。EMQX がデバイスデータをアップロードし、Databricks は独自のスケジュールでファイルを読み込んで処理します。
アーキテクチャ
EMQX がメッセージを前処理して Amazon S3 にファイルを書き込みます。Databricks は Unity Catalog の外部ロケーションを通じてこれらのファイルを読み込み、SQL クエリやその後の処理に利用します。
テレメトリとイベント
フィルタリング · 変換 · アップロード
指定したバケットとプレフィックス
外部ロケーション · SQL · AI
シグナルからデータセットへ
| デバイス | 温度 °C | 観測時刻 |
|---|---|---|
| sensor-01 | 23.8 | 09:42:18 |
| sensor-02 | 24.1 | 09:42:21 |
| sensor-03 | 22.6 | 09:42:24 |
機能
MQTT メッセージをフィルタリングし、ファイル形式を選択して、Databricks が読み込みやすいように S3 へのアップロードを整理できます。
SQL ルールでトピックとペイロードのフィールドを選択します。S3 Sink が書き込む前に、不要なメッセージを除外し、レコードを変換できます。
メッセージを個別に書き込むことも、レコードをまとめて CSV、JSON Lines、Parquet ファイルに書き込むこともできます。バッチごとにレコード数または時間の上限を設定でき、利用できる形式は EMQX のバージョンによって異なります。
対応するテンプレート変数で S3 のオブジェクトキーを設定し、時間やアップロード順にファイルをグループ化することで、Databricks が一貫したパスから読み込めるようにします。
仕組み
事前に、S3 統合に対応した EMQX 環境、S3 バケット、Unity Catalog を有効にした Databricks on AWS ワークスペースを用意してください。
バケットとプレフィックスを選択し、その S3 パスに対応する Databricks のストレージ資格情報と外部ロケーションを作成します。
リージョンのエンドポイントと AWS 認証情報を使って Amazon S3 コネクタを作成し、接続をテストします。
SQL ルールを作成して S3 Sink を追加し、オブジェクトキー、ファイル形式、アップロード方式を設定します。
テスト用の MQTT メッセージをパブリッシュします。S3 に生成されたファイルを確認し、Databricks から読み込んでデータと形式が正しいことを確かめます。
ユースケース
Databricks で設備の履歴を分析し、拠点間を比較して、機械学習用のデータを準備できます。
温度、振動、ステータスの履歴を保守記録と照らし合わせ、設備の挙動の変化を把握します。
産業用 IoT の詳細を見るテレメトリを生産・エネルギー・位置データと組み合わせ、拠点、資産、期間ごとにパフォーマンスを比較します。
過去のテレメトリからデータセットを構築し、Databricks での特徴量エンジニアリング、モデルのトレーニングと評価に活用します。
FAQ
ここで紹介するワークフローでは Amazon S3 を使用します。EMQX が MQTT メッセージを前処理し、S3 Sink を通じてファイルを書き込みます。Databricks は Unity Catalog の外部ロケーションを通じてそれらのファイルを読み込みます。
直接アップロードでは、設定した内容がそのまま保存されます。集約アップロードは、EMQX のバージョンに応じて CSV、JSON Lines、Parquet に対応しています。Databricks のワークフローで読み込める形式を選び、代表的なメッセージでテストしてください。
データの鮮度は、アップロードのバッチ設定、S3 への書き込み、Databricks がファイルを読み込み・処理するタイミングによって決まります。集約アップロードでは、レコード数と時間の上限を調整して、ファイルサイズとデータの鮮度のバランスを取ってください。
EMQX には、選択した S3 バケットとプレフィックスへの書き込み権限が必要です。Databricks には、IAM ベースのストレージ資格情報、外部ロケーション、およびそれらのファイルを読み込むために必要な Unity Catalog の権限が必要です。
はい。S3 Sink が Databricks 用のファイルを書き込む前に、EMQX の SQL ルールでトピックのマッチング、ペイロードフィールドの選択、メッセージのフィルタリングや変換を行えます。
EMQX の専門家と一緒に、MQTT データの取り込み、S3 ストレージ、Databricks のワークフローを計画しましょう。