EMQX:设备连接与数据预处理
大规模连接 MQTT 设备,过滤和转换遥测数据,再将处理好的数据路由至 Snowflake。
- 支持百万级设备连接
- 每秒处理百万级消息
- 使用 SQL 规则预处理数据
EMQX Snowflake 集成
通过 EMQX 连接数百万物联网设备,将设备数据实时传输至 Snowflake,用于数据分析和 AI 应用。
概览
EMQX 负责设备连接和数据预处理,Snowflake 负责数据存储、查询和分析。
大规模连接 MQTT 设备,过滤和转换遥测数据,再将处理好的数据路由至 Snowflake。
将设备遥测数据与业务数据统一存储,用于 SQL 分析、仪表盘和 AI 工作流。
架构
设备将消息发布到 EMQX,EMQX 处理 MQTT 消息后发送至 Snowflake,用于存储和分析。
EMQX 企业版
MQTT Broker
批量或流式传输
核心能力
使用 EMQX 预处理设备数据,选择合适的 Snowflake 上传模式,随时监控数据写入情况。
在发送至 Snowflake 之前,使用 EMQX SQL 规则过滤 MQTT 消息、转换负载字段。
规则 SQL 参考选取设备标识、时间戳和测量值,让规则输出字段与 Snowflake 表的列一一对应。
表映射指南可通过 Snowflake Stage 和 Pipe 进行聚合文件上传;如果您的 EMQX 版本支持,也可以选择 Snowpipe Streaming。
上传模式指南在 EMQX 中创建 Snowflake 连接器、SQL 规则和 Sink,测试连接后,在目标表中核对示例消息。
Snowflake 配置指南通过缓冲和重试应对 Snowflake 的临时中断,并可根据业务负载设置缓冲容量和请求超期时间。
缓冲队列指南在 EMQX 中跟踪成功、失败和丢弃的请求,关注队列深度,及时发现 Snowflake 数据写入中的问题。
数据投递监控指南工作原理
在 EMQX Dashboard 中连接设备、处理消息字段、配置 Snowflake Sink。
开始之前
将设备连接到 EMQX,并将遥测数据发布到 MQTT 主题。
使用 SQL 规则选取测量值、转换数值,使输出与 Snowflake 表的列相匹配。
按所选上传模式配置 Snowflake Sink,然后在目标表中核对测试消息。
资源
FAQ
数据时效取决于上传模式、批处理设置、网络状况和 Snowflake 的处理速度。聚合上传会在达到最大记录数或时间间隔后才执行上传;流式上传则使用 Snowpipe Streaming API。建议使用有代表性的消息实测端到端延迟。
发生临时中断时,EMQX 可以缓存请求并进行重试。数据能保留多久,取决于所配置的缓冲模式、缓冲容量、请求超期时间(TTL)以及 Sink 的行为。建议监控失败和丢弃的请求,并结合实际负载测试恢复过程。
可以。在 Snowflake Sink 接收数据之前,SQL 规则可以过滤消息、选取字段、转换数值。请确保输出字段与表的列相匹配,并使用有代表性的遥测数据进行测试。
EMQX 先使用 SQL 规则处理 MQTT 消息,再通过 Snowflake Sink 转发处理结果。根据版本和配置的不同,Sink 会将聚合文件通过 Stage 和 Pipe 加载到 Snowflake,或使用 Snowpipe Streaming 写入。
您需要支持所选上传模式的 EMQX 版本、一个 Snowflake 账户,以及所需的认证信息、权限和目标对象。请按照文档中对应上传模式的前置条件完成准备,然后创建连接器、规则和 Sink,并验证数据能否正常写入。