使用 TDengine ODBC Connector 将时序数据接入 Tableau:从数据源配置到可视化看板
【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine
本文是一份面向 BI 分析人员的完整集成指南:在不编写任何代码的前提下,通过 TDengine 官方 ODBC Connector,将 TDengine 中的标签(Tag)数据、原始时序数据以及经时间聚合后的时序数据导入 Tableau Desktop,制作报表与仪表盘。读完本文,你将掌握 Windows 环境下 TDengine ODBC 数据源的完整配置步骤、Tableau 中的连接与取数流程,以及 WebSocket/Native 两种连接方式的选型要点与底层原理。
前置条件
在开始集成之前,需要准备如下环境:
- TDengine 集群:安装
v3.3.5.8及以上版本并正常运行(企业版与社区版均可)。 - taosAdapter:必须正常运行。Tableau 通过 ODBC Connector 访问 TDengine 时,WebSocket 连接方式需要经由 taosAdapter 的 WebSocket 接口(默认端口
6041)与数据库交互,其详细原理与配置参见 taosAdapter 参考手册。 - Tableau Desktop:在 Windows 操作系统上安装并运行 64 位桌面版(安装包可从 Tableau 官网下载,安装步骤参考 Tableau 官方文档)。
- TDengine Windows X64 客户端驱动:从 TDengine 官网下载最新 Windows X64 客户端驱动并安装。根据 ODBC 客户端库 的说明,Windows 客户端
3.2.1.0及以上版本已内置 TDengine ODBC 64 位驱动,3.3.3.0及以上版本内置 ODBC 32/64 位驱动;安装前需确保系统已安装 VC 运行时库(已安装 VS 开发工具的环境可忽略)。
由于 Tableau Desktop 运行于 Windows,本集成方案要求 TDengine ODBC 客户端驱动与 Tableau 均部署在同一台 Windows 机器上,TDengine 服务端既可位于本机,也可位于远端或云端(云端访问必须使用 WebSocket 连接)。
理解 TDengine ODBC 连接器
在动手配置前,先了解底层连接器的工作机制,有助于你做出正确的连接类型选择。
TDengine ODBC 是面向 Windows 平台(以及支持 ODBC 的其他平台)实现的 ODBC 驱动,使 PowerBI、Tableau 等标准 ODBC 客户端可以经由 ODBC 标准接口访问 TDengine 数据库。它提供两种连接方式:
| 对比项 | WebSocket 连接 | Native 连接 |
|---|---|---|
| 访问路径 | 经 taosAdapter 的 WebSocket 接口(默认6041端口) | 通过 TDengine 客户端驱动(taosnative库)专有协议直达服务端(默认6030端口) |
| 性能 | 与 Native 差距不大,绝大多数场景推荐 | 通常略优,但要求客户端驱动版本与服务端版本严格一致 |
| 兼容性 | 更好,服务端升级一般无需同步升级客户端 | 较差,版本不匹配会连接失败 |
| 云端访问 | 支持 | 不支持 |
| 32 位应用 | 支持(企业版) | 不支持 |
| 传输压缩 | 支持COMPRESSION=0/1开关 | 不支持 |
从源码结构看,TDengine 的语言连接器普遍通过 taosAdapter 的 WebSocket 接口与数据库通信,ODBC 驱动中的 WebSocket 连接方式遵循同一路径,因此集成场景中 taosAdapter 必须处于运行状态。
需要特别留意两点:
- Native 连接即将弃用:ODBC 官方文档明确标注 Native 连接已进入弃用流程,将于2027-01-01停止支持,请优先迁移到 WebSocket 连接。
- 两种连接不可混用:同一个进程内不能同时使用 Native 与 WebSocket 两种连接,运行时也不允许切换,单个进程只能选择一种连接类型。请在创建数据源时确定所需的连接方式。
配置 ODBC 数据源
本步骤的目标是在 Windows 系统中创建一个指向 TDengine 的 ODBC 数据源(DSN),供 Tableau 后续直接调用。详细配置说明可参考 配置 ODBC 数据源。
第 1 步:打开 ODBC 管理工具并创建数据源
在 Windows 操作系统开始菜单中搜索并打开"ODBC 数据源 (64 位)"管理工具(注意不要选择 32 位版本,除非应用明确为 32 位且使用企业版)。切换到用户 DSN选项卡,点击添加按钮,在驱动列表中选择TDengine,点击完成后进入 TDengine ODBC 数据源配置页面。
以推荐的 WebSocket 连接为例,需要填写以下配置项:
| 配置项 | 是否必填 | 说明 |
|---|---|---|
| DSN | 必填 | 数据源名称,为新建的 ODBC 数据源命名,例如MyTDengine |
| Connection Type | 必填 | 连接类型,此处选择WebSocket |
| URL | 必填 | ODBC 数据源地址,本地示例:http://localhost:6041;云端示例:https://gw.cloud.tdengine.com?token=your_token |
| Database | 视场景而定 | 默认连接的数据库。为 Tableau 配置时此项为必填,需选择一个可成功连接的数据库(见下方提示) |
| Username | 可选 | 数据库用户名,仅在步骤 5 连接测试时使用;不填默认root |
| Password | 可选 | 数据库用户密码,仅在步骤 5 连接测试时使用;不填默认taosdata |
| Compatible Software | 可选 | 针对 KingSCADA、Kepware 等工业软件的兼容适配(含 ADO 支持),一般场景保持默认值 General 即可 |
| Enable Transport Compression | 可选 | 仅 WebSocket 连接可用,勾选等价于COMPRESSION=1,控制 WebSocket 传输压缩开关 |
若选择Native连接方式,则 URL 配置项替换为Server(必填,示例:localhost:6030),其余字段含义一致,但该方式不支持云端访问和 32 位应用。
填写完成后点击测试连接验证连通性,WebSocket 方式成功时提示 "Successfully connected to URL",Native 方式成功时提示 "Connection successful"。最后点击确定保存配置并退出。
重要提示:为 Tableau 配置 ODBC 数据源时,TDengine ODBC 数据源配置页面中的【数据库】配置项为必填,必须选择一个能够成功连接的数据库,否则 Tableau 侧无法正常完成登录与取数。
第 2 步:在 Tableau 中创建 ODBC 连接
在 Windows 环境下启动 Tableau,在其连接页面中搜索 "ODBC",选择"其他数据库 (ODBC)"。
第 3 步:选择 DSN 并登录
点击DSN单选框,选择第 1 步配置好的数据源(如MyTDengine),点击连接按钮。连接成功后,删除字符串附加部分的内容(即 URL 中自动追加的查询参数等附加串),最后点击登录按钮即可完成连接。
数据分析:从取数到可视化
完成数据源连接后,即可在 Tableau 工作簿中浏览 TDengine 数据并构建图表。整个过程全部通过鼠标拖拽完成,无需编写任何 SQL 或代码。
第 1 步:选择数据库与表
进入工作簿页面后,页面会显示已连接的数据源。点击数据库的下拉列表,选择需要进行数据分析的数据库;随后点击表选项中的查找按钮,将该数据库下的所有表(包括普通表与超级表)显示出来。将需要分析的表拖拽到右侧区域,即可查看表结构(字段名与类型)。
第 2 步:更新并预览数据
点击下方的立即更新按钮,即可将表中的数据实际拉取并展示出来。此时可以直观验证导入的数据是否正确,包括时间戳、标签列与数值列的内容。
第 3 步:创建工作表与图表
点击窗口下方的工作表,弹出数据分析窗口,窗口会展示分析表的全部字段(时间戳、标签与测量值)。将字段拖拽到行(Rows)与列(Columns)区域,即可生成对应图表;再配合 Tableau 的筛选器、聚合与标记功能,即可制作完整的报表或仪表盘。
在 Tableau 工作表中拖拽字段生成可视化图表
数据分析场景建议
结合 TDengine 的数据模型,通过 ODBC 接入 Tableau 后可以支撑三类典型分析:
- 标签(Tag)数据分析:将超级表子表的标签字段作为维度,用于设备分组、筛选与对比。
- 原始时序数据分析:直接以
TIMESTAMP为时间维度、以原始采集值为度量,绘制原始曲线。 - 时间聚合数据分析:利用 TDengine 的
INTERVAL时间窗口聚合能力(如按小时/天计算avg、sum、max、min),先在数据库中完成降采样,再将聚合结果导入 Tableau,可显著降低数据传输量与前端渲染压力。
数据类型映射
ODBC 连接器会将 TDengine 服务端的数据类型映射为标准的 SQL/C 类型,确保 Tableau 正确识别字段语义。以下为关键映射关系(完整映射见 ODBC 数据类型的映射):
| TDengine 类型 | SQL 类型 | C 类型 |
|---|---|---|
| TIMESTAMP | SQL_TYPE_TIMESTAMP | SQL_C_TIMESTAMP |
| INT / INT UNSIGNED | SQL_INTEGER | SQL_C_SLONG / SQL_C_ULONG |
| BIGINT / BIGINT UNSIGNED | SQL_BIGINT | SQL_C_SBIGINT / SQL_C_UBIGINT |
| FLOAT / DOUBLE | SQL_REAL / SQL_DOUBLE | SQL_C_FLOAT / SQL_C_DOUBLE |
| BINARY / VARCHAR | SQL_VARCHAR | SQL_C_CHAR |
| NCHAR | SQL_VARCHAR | SQL_C_CHAR |
| JSON | SQL_WVARCHAR | SQL_C_WCHAR |
| GEOMETRY / VARBINARY | SQL_VARBINARY | SQL_C_BINARY |
| BOOL | SQL_BIT | SQL_C_BIT |
从版本演进看,ODBC 驱动在v1.1.0起支持 VARBINARY/GEOMETRY 数据类型与视图功能,v1.1.1起支持 ADO 访问 ODBC 32/64 位接口,这些能力在 BI 场景中均有实际用途。
常见问题与注意事项
- 连接失败,提示无法登录:优先检查 taosAdapter 是否在运行、URL 端口是否正确(WebSocket 为
6041),以及【数据库】配置项是否已填写可连接的库名。 - 驱动版本不匹配:若使用 Native 连接,客户端驱动版本必须与 TDengine 服务端版本一致;升级服务端后如遇连接异常,请同步升级 Windows 客户端。
- 32 位/64 位架构匹配:ODBC 驱动管理器位数需与应用的位数一致(64 位应用使用 64 位驱动管理器);DSN 在 32/64 位管理器下共享同一名称,建议在 DSN 命名上加以区分。
- BI 模式:从 ODBC 驱动
v1.0.1起支持 DSN 的 BI 模式设置,该模式下 TDengine 不再返回系统数据库及超级表子表信息,界面更清爽,适合 Tableau 等 BI 工具的元数据浏览场景。 - 连接类型选定后不可切换:Native 与 WebSocket 无法在同一进程混用,请按 Tableau 所在机器的网络环境与服务端部署位置,在创建数据源时一次性确定。
按照上述流程,即可在数分钟内完成 TDengine 到 Tableau 的无代码集成,将工业物联网场景下的时序数据转化为可交互的分析看板。更深入的 ODBC 驱动 API 能力(如SQLTables、SQLColumns、SQLFetchScroll等标准接口支持矩阵)可继续阅读 ODBC 客户端库参考。
【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考