1. 课程导论:ThingsBoard数据导出概述、CSV与Kafka对比、课程目标与前置知识

1.1 ThingsBoard数据导出能力概述

ThingsBoard作为开源物联网平台,核心能力之一是将设备遥测数据、属性更新、告警事件等持久化并对外分发。数据导出(Data Export)是连接“数据采集”与“数据消费”的关键桥梁,决定了物联网数据能否被下游分析、监控、归档系统有效利用。

ThingsBoard内置两种导出通道:

  • CSV导出:通过REST API或Web UI手动/定时导出为逗号分隔值文件,适合小规模、人工分析场景。
  • Kafka集成:通过规则引擎(Rule Engine)将数据实时推送到Apache Kafka主题,适合大规模、流式处理、微服务架构。
关键指标对比: CSV导出延迟通常在秒级到分钟级(取决于定时任务周期),Kafka集成延迟可控制在毫秒级;CSV单次导出数据量受内存限制(建议不超过10万行),Kafka吞吐量可达每秒百万条消息。

1.2 CSV导出与Kafka集成方案对比

对比维度 CSV导出 Kafka集成
数据格式 纯文本表格,无Schema强制 二进制/JSON/AVRO,Schema可选
传输方式 HTTP下载 / 文件存储 流式推送,异步消息队列
实时性 定时批量(分钟级) 实时(毫秒级)
数据量级 单次≤10万行,适合MB级 无上限,适合TB级
下游消费 Excel / BI工具手动导入 流计算引擎 / 数据湖自动消费
故障恢复 需重新导出 消费者偏移量管理,自动重试
适用场景 报表、审计、小团队调试 实时监控、数据中台、微服务
选型建议: 如果团队只有Excel分析需求且设备数少于100台,CSV导出足够;如果涉及实时告警、数据仓库入仓、多系统解耦,优先选择Kafka集成。

1.3 数据导出架构总览

下图展示了ThingsBoard数据从设备采集到最终导出的两条路径:

ThingsBoard 数据导出架构总览 IoT 设备 ThingsBoard 平台 规则引擎 (Rule Engine) CSV 文件导出 Kafka 消息队列 Excel / BI 工具 流计算 / 数据湖 路径说明: ① 设备 → ThingsBoard → CSV → 人工分析 ② 设备 → ThingsBoard → 规则引擎 → Kafka → 流计算 / 数据湖 本课程覆盖: • CSV导出配置与API调用 • Kafka集成配置与规则链设计

1.4 课程目标

完成本课程后,学员将具备以下能力:

  1. 独立配置CSV导出:通过ThingsBoard UI和REST API实现设备数据的定时/手动导出,并处理大文件分片。
  2. 搭建Kafka集成通道:在ThingsBoard规则引擎中配置Kafka节点,实现设备数据实时推送至Kafka集群。
  3. 数据格式与Schema设计:掌握CSV列映射、JSON/AVRO序列化、时间戳格式化等关键细节。
  4. 生产级运维能力:处理导出失败重试、Kafka消费者偏移量管理、数据一致性校验。
  5. 架构决策能力:根据业务场景(数据量、实时性、下游系统)选择最优导出方案。

1.5 前置知识要求

知识领域 具体要求 推荐学习资源
ThingsBoard基础 了解设备注册、遥测上传、仪表板查看 ThingsBoard官方入门教程
REST API基础 理解HTTP方法、JSON格式、Token认证 REST API 设计指南
Kafka概念 了解Topic、Producer、Consumer、Broker Kafka官方文档(快速入门)
Linux基础 能使用命令行、编辑配置文件、查看日志 Linux 命令行基础教程
Docker基础(可选) 能使用docker-compose启动服务 Docker 入门实践
注意: 本课程不从头讲解ThingsBoard设备接入或Kafka集群搭建原理,但会在每个集成步骤中给出必要的配置说明。如果对上述前置知识完全陌生,建议先花2-3小时补齐基础。

1.6 课程内容结构

全课程共30章,分为四个模块:

  • 模块一(第1-7章):CSV导出深度实践——从UI操作到API自动化,再到定时任务与异常处理。
  • 模块二(第8-18章):Kafka集成实战——规则引擎配置、消息格式设计、多Topic路由、消费者开发。
  • 模块三(第19-25章):高级主题——数据压缩、Schema Registry、Exactly-Once语义、监控告警。
  • 模块四(第26-30章):综合案例与架构决策——智慧工厂数据导出方案、CSV+Kafka混合架构、性能压测。
学习建议: 每章都包含可运行的配置示例或代码片段,建议在测试环境(如Docker部署的ThingsBoard + Kafka)中边学边练,效果最佳。