使用永洪 BI 集成 TDengine:JDBC 数据源配置、时序参数化查询与可视化报告实战指南

使用永洪 BI 集成 TDengine:JDBC 数据源配置、时序参数化查询与可视化报告实战指南 使用永洪 BI 集成 TDengineJDBC 数据源配置、时序参数化查询与可视化报告实战指南【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine导读本文以 docs/en/13-ecosystem-integrations/03-bi/03-yhbi.md 为核心完整讲解如何通过 JDBC 连接器将 TDengine 时序数据库接入永洪 BIYHBI专为企业打造的全业务链大数据分析平台。你将掌握数据源配置全流程、BI 模式连接参数的含义、基于 TDengine 特色窗口查询语法的参数化 SQL 设计以及从数据集创建到可视化报告制作的具体方法从而在不编写自定义数据转换代码的前提下直接读取 TDengine 超级表中的时序数据并构建动态可视化报表。集成架构与工作原理永洪 BI 提供 JDBC 连接器用于与 TDengine 高效集成。整体链路如下永洪 BIYHBI ── JDBCWebSocket── taosAdapter ── TDengine 集群永洪 BI负责数据源的注册、数据集建模、可视化报告与参数交互JDBC 连接器taos-jdbcdriver实现标准 JDBC 4.2 接口是 BI 与 TDengine 之间的协议桥梁taosAdapter是 TDengine 的伴随组件提供 WebSocket 接口。TDengine 各语言连接器通过 WebSocket 与 taosAdapter 通信因此必须保证 taosAdapter 处于运行状态。默认监听端口为6041详细能力与配置参见 taosAdapter 参考手册。为什么使用 WebSocket 连接从taos-jdbcdriver3.4.0 版本起官方推荐使用 WebSocket 连接替代 REST 连接WebSocket 连接延迟更低、性能更好支持自动重连且不依赖本地客户端驱动libtaos.so/taos.dll/libtaos.dylib任何可运行 Java 的平台均可使用。而 Java 的原生连接jdbc:TAOS://与 REST 连接已被标记为弃用计划于 2027-01-01 停用详见 Java 连接器参考。前置条件在开始配置前请准备以下环境条件说明TDengine 集群部署并正常运行v3.3.2.0 及以上版本企业版或社区版均可taosAdapter已启动并能正常工作参考 taosAdapter 参考手册永洪 BI已安装并启动未安装请从永洪科技官方渠道获取JDBC 驱动从 Maven Central 下载较新的 TDengine JDBC 连接器本文示例使用taos-jdbcdriver-3.4.0-dist.jar配置数据源以下为在永洪 BI 中配置 TDengine JDBC 数据源的完整步骤。第 1 步新建 GENERIC 数据源在永洪 BI 中点击【添加数据源】在 SQL 数据源分类下选择GENERIC类型。第 2 步注册自定义驱动点击【选择自定义驱动】按钮在【驱动管理】对话框中点击【驱动列表】旁边的输入名称MyTDengine然后点击【上传文件】上传下载好的taos-jdbcdriver-3.4.0-dist.jar并在驱动类列表中选择com.taosdata.jdbc.ws.WebSocketDriver最后点击【确定】完成驱动注册。说明taos-jdbcdriver实现了 JDBC 标准的 Driver 接口提供两个驱动实现类com.taosdata.jdbc.ws.WebSocketDriverWebSocket 连接与com.taosdata.jdbc.TSDBDriver原生连接已弃用。本文场景必须选择前者。第 3 步填写 JDBC URL将以下内容复制到【URL】字段jdbc:TAOS-WS://127.0.0.1:6041?userrootpasswordtaosdataconmode1varcharAsStringtrue该 URL 由两部分组成连接地址jdbc:TAOS-WS://127.0.0.1:6041即通过 WebSocket 连接本机6041端口taosAdapter 默认端口。TAOS-WS前缀是 WebSocket 连接的标志。连接参数通过?追加分隔userroot/passwordtaosdataTDengine 登录用户名与密码默认值即为 root / taosdataconmode1BI 模式。此参数仅在 WebSocket 连接下生效默认值为0设为1表示启用 BI 模式元数据信息不再统计子表专用于 BI 工具集成场景varcharAsStringtrue将 VARCHAR/BINARY 类型映射为 Java String仅 WebSocket 连接有效默认值为false。时序数据源中常包含 nchar/varchar 类型的标签列开启后 BI 工具可以更友好地识别文本维度。WebSocket 连接的其他常用参数还包括httpConnectTimeout连接超时默认 60000ms、messageWaitTimeout消息超时默认 60000ms、useSSL、enableCompression传输压缩、enableAutoReconnect自动重连等。完整参数说明参见 Java 连接器参考 - Properties。第 4 步设置认证方式在【认证方式】中选择【无身份认证】单选按钮。第 5 步修改 Quote 符号在数据源的高级设置中将Quote 符号的值修改为反引号。这是因为 TDengine 的库名、表名与字段名在 SQL 中以反引号作为标识符引用符与 MySQL 一致BI 工具生成 SQL 时需要使用该引用符才能正确访问 TDengine 的超级表与标签列。第 6 步测试连接并保存点击【测试连接】弹出【测试成功】对话框后点击【保存】输入名称MyTDengine保存该数据源。第 7 步浏览超级表再次点击【添加数据源】展开刚创建的MyTDengine数据源即可浏览 TDengine 中的超级表supertable。第 8 步加载数据可以有两种方式导入数据将某张超级表的全部数据加载到永洪 BI通过自定义 SQL导入部分数据推荐用于数据量较大、仅需部分字段或时间范围的场景。第 9 步启用数据库内计算勾选【数据库内计算】复选框。启用后永洪 BI不再缓存 TDengine 的时序数据处理查询时会将 SQL 请求直接发送给 TDengine 执行。这一模式既避免了时序数据在 BI 侧的大量缓存占用也保证了报表数据的实时性。数据分析与建模数据导入后永洪 BI 会自动进行字段类型识别数值类型列→ 分类为度量Measure文本类型列→ 分类为维度Dimension。而在 TDengine 的超级表模型中普通列普通字段通常承载度量数据标签列tag承载维度数据。因此自动分类结果可能与业务语义不符用户需要在创建数据集时手动调整部分列的属性例如将设备 ID、分组编号等标签列调整或保留为维度将电流、电压等数值列确认为度量。使用 TDengine 特色查询语法加速分析TDengine 在标准 SQL 基础之上还提供一系列面向时序业务场景的特色查询语法例如数据切分查询PARTITION BY与窗口切分查询INTERVAL。在 BI 工具中将这类 SQL 发送到 TDengine 执行可以显著提高数据访问速度聚合与降采样在数据库侧完成大幅减少网络传输带宽只回传聚合结果而非原始明细。窗口查询中常用的伪列_wstart窗口起始时间、_wend窗口结束时间、_wduration窗口时长的定义与用法参见 SQL 数据查询文档。创建参数化 SQL在永洪 BI 中可以创建参数并在 SQL 中使用通过手动执行或定时执行的方式动态刷新可视化报告。下面这条 SQL 可以从 TDengine 实时读取数据并支持动态表名、时间范围与降采样间隔三种参数SELECT _wstart AS ws, count(*) AS cnt FROM supertable WHERE tbname ?{metric} AND ts ?{from} AND ts ?{to} INTERVAL(?{interval})参数与结果列说明如下元素含义说明_wstart时间窗口起始时间窗口查询的伪列取别名ws供报表绑定count(*)窗口内的聚合值取别名cnt作为度量的聚合结果?{interval}降采样窗口间隔例如取值为1m表示按 1 分钟窗口聚合数据?{metric}查询的数据表子表名称可与 ID 为metric的下拉参数组件绑定实现动态选择?{from}/?{to}查询数据集的时间范围可与文本参数组件绑定在【编辑参数】对话框中可以为每个参数配置数据类型、数据范围与默认取值随后在可视化报告中即可动态修改这些参数值实现交互式过滤与刷新。制作可视化报告完成数据导入与参数配置后按以下步骤制作报告在永洪 BI 中点击【制作报告】创建画布从组件库中拖动可视化组件例如表格组件到画布上在【数据集】侧边栏中选择待绑定的数据集将数据列中的维度与度量按需绑定到表格组件的行、列与指标位置点击【保存】后即可查看报告通过修改绑定参数如?{metric}、?{from}、?{to}的值报告会动态刷新实现按需查看不同设备、不同时间窗口的聚合结果。常见问题与排障建议连接测试失败超时 / 无法连接确认taosAdapter已启动且监听6041端口可使用systemctl status taosadapter或访问http://fqdn:6041/-/ping检查确认集群版本不低于 v3.3.2.0。元数据中看不到子表确认 URL 中已设置conmode1BI 模式该模式下元数据不统计子表避免海量子表拖慢 BI 的元数据加载。文本/数值列类型识别不符合预期检查varcharAsStringtrue参数并在数据集创建时手动调整列属性度量/维度。SQL 报标识符引用错误确认数据源高级设置中的 Quote 符号已改为反引号。报表数据长期不刷新确认已勾选【数据库内计算】避免 BI 侧缓存时序数据并可通过定时执行参数化 SQL 实现周期性刷新。小结通过 JDBC WebSocket 连接器永洪 BI 可以无缝接入 TDengine将超级表直接作为 BI 数据源使用。配合conmode1BI 模式、varcharAsStringtrue等连接参数以及 TDengine 的INTERVAL窗口查询与_wstart伪列等特色语法用户无需编写自定义转换代码即可在 BI 中实现时序数据的降采样聚合、动态设备选择与时间范围过滤构建高性能、可交互的可视化报告。相关实现与更多连接器细节可继续查阅仓库中的 永洪 BI 集成文档、Java 连接器参考 与 taosAdapter 参考手册。【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考