EMQX:IoT データの接続と前処理
MQTT デバイスを大規模に接続し、テレメトリをフィルタリング・変換したうえで、前処理済みのデータを Snowflake にルーティングします。
- 数百万台のデバイス接続
- 毎秒数百万メッセージの処理
- SQL ルールによるデータ前処理
EMQX Snowflake 統合
EMQX で数百万台の IoT デバイスを接続し、そのデータを Snowflake にストリーミングして、分析や AI アプリケーションに活用できます。
概要
EMQX がデバイス接続とデータの前処理を担い、Snowflake がデータの保存、クエリ、分析を担います。
MQTT デバイスを大規模に接続し、テレメトリをフィルタリング・変換したうえで、前処理済みのデータを Snowflake にルーティングします。
デバイスのテレメトリを業務データと一緒に保存し、SQL 分析、ダッシュボード、AI ワークフローに活用できます。
アーキテクチャ
デバイスは EMQX にメッセージをパブリッシュします。EMQX は MQTT メッセージを前処理し、保存と分析のために Snowflake へ送信します。
EMQX Enterprise
MQTT Broker
バッチまたはストリーミング
機能
EMQX でデバイスデータを前処理し、Snowflake のアップロードモードを選択して、取り込みパイプラインを監視できます。
Snowflake に送信する前に、EMQX の SQL ルールで MQTT メッセージをフィルタリングし、ペイロードのフィールドを変換します。
ルール SQL リファレンスデバイス ID、タイムスタンプ、測定値を選択し、ルールの出力フィールドを Snowflake テーブルのカラムに対応させます。
テーブルマッピングガイドSnowflake のステージとパイプを使った集約ファイルアップロードを選択できます。EMQX のバージョンが対応していれば、Snowpipe Streaming も利用できます。
アップロードモードガイドEMQX で Snowflake コネクター、SQL ルール、Sink を作成します。接続をテストし、ターゲットテーブルでサンプルメッセージを確認します。
Snowflake セットアップガイドバッファリングとリトライにより、Snowflake の一時的な中断に対応します。ワークロードに合わせて、バッファ容量とリクエストの有効期限を設定できます。
バッファーキューガイドEMQX で成功・失敗・破棄されたリクエストを追跡し、キューの深さを監視して、Snowflake パイプラインの問題を特定します。
データ配信の監視ガイド仕組み
EMQX Dashboard でデバイスを接続し、メッセージフィールドを整え、Snowflake Sink を設定します。
始める前に
デバイスを EMQX に接続し、テレメトリを MQTT トピックにパブリッシュします。
SQL ルールで測定値を選択して値を変換し、出力を Snowflake テーブルのカラムに合わせます。
選択したアップロードモードで Snowflake Sink を設定し、ターゲットテーブルでテストメッセージを確認します。
ユースケース
デバイスのテレメトリを Snowflake に取り込み、設備の稼働状態、車両の運行状況、エネルギー需要を分析します。
設備のテレメトリを EMQX 経由で Snowflake に送信し、稼働傾向を分析して、予知保全に役立つモデルを構築します。
産業用 IoT の詳細を見る車両のテレメトリを EMQX 経由で Snowflake にストリーミングし、フリート分析、運転行動分析、ルート計画に活用します。
コネクテッドカーの詳細を見るEMQX でスマートメーターや電力網のテレメトリを収集し、Snowflake で需要予測、使用傾向の分析、停電原因の調査を行います。
スマートエネルギーソリューションを見るリソース
FAQ
データの鮮度は、アップロードモード、バッチ処理、ネットワーク状況、Snowflake 側の処理によって異なります。集約アップロードでは、レコード数の上限または時間間隔に達するまで待機してからアップロードします。ストリーミングでは Snowpipe Streaming API を使用します。エンドツーエンドの遅延は、実際の運用に近いメッセージで測定してください。
一時的な中断が発生した場合、EMQX はリクエストをバッファリングしてリトライできます。データを保持できる範囲は、設定したバッファモード、容量、リクエストの有効期限(TTL)、Sink の動作によって異なります。失敗・破棄されたリクエストを監視し、実際のワークロードで復旧をテストしてください。
はい。SQL ルールを使えば、Snowflake Sink がデータを受け取る前に、メッセージのフィルタリング、フィールドの選択、値の変換を行えます。出力フィールドをテーブルのカラムに合わせ、実際に近いテレメトリでテストしてください。
EMQX は MQTT メッセージに SQL ルールを適用し、その結果を Snowflake Sink 経由で転送します。バージョンと設定に応じて、Sink はステージとパイプを通じて集約ファイルをロードするか、Snowpipe Streaming を使用します。
選択したアップロードモードに対応する EMQX のバージョン、Snowflake アカウント、必要な認証情報、権限、送信先オブジェクトが必要です。ドキュメントに記載されたモードごとの前提条件に従って準備したうえで、コネクター、ルール、Sink を作成し、データが届くことを確認してください。
MQTT データの取り込み、データの前処理、Snowflake へのデプロイについて、EMQX の専門家と一緒に計画しましょう。