TDengine 做 Apache SuperSet 数据源

‌Apache Superset‌ 是一个现代的企业级商业智能(BI)Web 应用程序,主要用于数据探索和可视化。它由 Apache 软件基金会支持,是一个开源项目,它拥有活跃的社区和丰富的生态系统。Apache Superset 提供了直观的用户界面,使得创建、分享和可视化数据变得简单,同时支持多种数据源和丰富的可视化选项‌。

通过 TDengine 的 Python 连接器, ‌Apache ‌Superset‌ 可支持 TDengine 数据源并提供数据展现、分析等功能

前置条件

准备以下环境:

  • TDengine 集群已部署并正常运行(企业及社区版均可)
  • taosAdapter 能够正常运行。详细参考 taosAdapter 使用手册
  • Apache Superset v2.1.0 或以上版本已安装。安装 Apache Superset 请参考 官方文档

安装 TDengine Python 连接器

TDengine Python 连接器从 v2.1.18 起带 Superset 连接驱动,会安装至 Superset 相应目录下并向 Superset 提供数据源服务
Superset 与 TDengine 之间使用 WebSocket 协议连接,需安装支持此协议的 taos-ws-py 组件, 全部安装脚本如下:

pip3 install taospy
pip3 install taos-ws-py

配置 TDengine 数据源

第 1 步,进入新建数据库连接页面 “Superset” → “Setting” → “Database Connections” → “+DATABASE”
第 2 步,选择 TDengine 数据库连接。“SUPPORTED DATABASES” 下拉列表中选择 “TDengine” 项。
:::tip
注意:若下拉列表中无 “TDengine” 项,请检查安装顺序,确保 TDengine Python 连接器Superset 安装之后再安装。
:::
第 3 步,“DISPLAY NAME” 中填写连接名称,任意填写即可。
第 4 步,“SQLALCHEMY URL” 项为关键连接信息串,务必填写正确。

taosws://用户名:密码@主机名:端口号
参数名称
参数说明
用户名登录 TDengine 数据库用户名
密码登录 TDengine 数据库密码
主机名TDengine 数据库所在主机名称
端口号提供 WebSocket 服务的端口,默认:6041

示例:
本机安装 TDengine 数据库,WebSocket 服务端口 6041,使用默认用户名密码,“SQLALCHEMY URL” 应为:

taosws://root:taosdata@localhost:6041  

第 5 步,配置好连接串,点击 “TEST CONNECTION” 测试连接是否成功,测试通过后点击 “CONNECT” 按钮,完成连接。

开始使用

TDengine 数据源与其它数据源使用上无差别,这里简单介绍下数据查询:

  1. Superset 界面点击右上角 “+” 号按钮,选择 “SQL query”, 进入查询界面
  2. 左上角 “DATABASE” 下拉列表中选择前面已创建好的 “TDengine” 数据源
  3. “SCHEMA” 下拉列表,选择要操作的数据库名(系统库不显示)
  4. “SEE TABLE SCHEMA” 选择要操作的超级表名或普通表名(子表不显示)
  5. 随后会在下方显示选定表的 SCHEMA 信息
  6. 在 SQL 编辑器区域可输入符合 TDengine 语法的任意 SQL 语句执行

示例效果

我们选择 Superset Chart 模板中较流行的两个模板做了效果展示,以智能电表数据为例:

  1. “Aggregate” 类型,展示在第 4 组中指定时间段内每分钟采集电压值(voltage)最大值

在这里插入图片描述

  1. “RAW RECORDS” 类型,展示在第 4 组中指定时间段内 current, voltage 的采集值
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/957190.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

K8S-Pod的环境变量,重启策略,数据持久化,资源限制

1. Pod容器的三种重启策略 注意:k8s所谓的重启容器指的是重新创建容器 cat 07-restartPolicy.yaml apiVersion: v1 kind: Pod metadata:name: nginx-web-imagepullpolicy-always spec:nodeName: k8s233.oldboyedu.com## 当容器异常退出时,始终重启容器r…

03垃圾回收篇(D1_垃圾收集器算法底层导论)

目录 一、为什么我们要去了解垃圾收集和内存分配 二、对象已死? 1. 引用计数算法 2. 可达性分析算法 3. 再谈引用 4. 生存还是死亡 5. 回收方法区 三、垃圾收集算法 1. 简介 2. 分代收集理论 2.1. 弱分代/强分代假说 2.2. 前面两代假说的缺陷 3. 标记-清…

【wiki知识库】08.添加用户登录功能--后端SpringBoot部分

目录 一、今日目标? 二、SpringBoot后端实现 2.1 新增UserLoginParam 2.2 修改UserController 2.3 UserServiceImpl代码 2.4 创建用户上下文工具类 2.5?通过token校验用户(重要) 2.6 创建WebMvcConfig 2.7 用户权限校验拦截器 一、今日目标 上…

分布式 IO 模块:开启药品罐装产线高效生产新纪元

在药品生产的精密领域,每一个环节都关乎着客户的健康与安全。药品罐装产线作为药品生产的关键环节,其高效运行与精准控制至关重要。明达技术MR30分布式 IO 模块,正以其卓越的性能,成为实现药品罐装产线高效控制,确保产…

【北京迅为】iTOP-4412全能版使用手册-第八十七章 安装Android Studio

iTOP-4412全能版采用四核Cortex-A9,主频为1.4GHz-1.6GHz,配备S5M8767 电源管理,集成USB HUB,选用高品质板对板连接器稳定可靠,大厂生产,做工精良。接口一应俱全,开发更简单,搭载全网通4G、支持WIFI、蓝牙、…

基于海思soc的智能产品开发(视频的后续开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们讨论了camera,也讨论了屏幕驱动,这些都是基础的部分。关键是,我们拿到了这些视频数据之后,…

Linux -- HTTP 请求 与 响应 报文

目录 请求报文: 请求方法 响应报文: 状态码 与 状态码描述 共性 常见的报头 请求报文: 请求方法 方法说明GET获取资源POST传输实体主体PUT传输文件HEAD获得报文首部DELETE删除文件OPTIONS询问支持的方法TRACE追踪路径CONNECT要求用…

HTML<img>标签

例子 如何插入图片&#xff1a; <img src"img_girl.jpg" alt"Girl in a jacket" width"500" height"600"> 下面有更多“自己尝试”的示例。 定义和用法 该<img>标签用于在 HTML 页面中嵌入图像。 从技术上讲&#x…

C++ 面向对象(继承)

三、继承 3.1 继承的概念 基于一个已有的类 去重新定义一个新的类&#xff0c;这种方式我们叫做继承 关于继承的称呼 一个类B 继承来自 类 A 我们一般称呼 A类&#xff1a;父类 基类 B类: 子类 派生类 B继承自A A 派生了B 示例图的语法 class vehicle // 车类 {}class …

mfc操作json示例

首先下载cJSON,加入项目; 构建工程,如果出现, fatal error C1010: unexpected end of file while looking for precompiled head 在cJSON.c文件的头部加入#include "stdafx.h"; 看情况,可能是加到.h或者是.cpp文件的头部,它如果有包含头文件, #include &…

基于微信小程序的模拟考试系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

Android10.0定制服务 APK安装或者更新过自动打开APK

需求描述 当用户APK安装|更新 成功之后自动打开APK。 实现思路 编写服务 注册接受安装广播 并判断安装的APK包名是否为客户APK包名,并自动打开。 具体实现 diff --git a/android/build/make/core/tasks/check_boot_jars/package_whitelist.txt b/android/build/make/cor…

linux 下tensorrt的yolov8的前向推理(python 版本)的实现

一、yolov8的python实现的环境搭建 #通过pip安装 pip install ultralytics #通过git克隆GitHub仓库 git clone <https://github.com/ultralytics/ultralytics.git> cd ultralytics #安装依赖 pip install -r requirements.txt #执行推理 yolo predict model./yolov8n.pt …

AI News(1/21/2025):OpenAI 安全疏忽:ChatGPT漏洞引发DDoS风险/OpenAI 代理工具即将发布

1、OpenAI 的安全疏忽&#xff1a;ChatGPT API 漏洞引发DDoS风险 德国安全研究员 Benjamin Flesch 发现了一个严重的安全漏洞&#xff1a;攻击者可以通过向 ChatGPT API 发送一个 HTTP 请求&#xff0c;利用 ChatGPT 的爬虫对目标网站发起 DDoS 攻击。该漏洞源于 OpenAI 在处理…

【数据挖掘实战】 房价预测

本次对kaggle中的入门级数据集&#xff0c;房价回归数据集进行数据挖掘&#xff0c;预测房屋价格。 本人主页&#xff1a;机器学习司猫白 机器学习专栏&#xff1a;机器学习实战 PyTorch入门专栏&#xff1a;PyTorch入门 深度学习实战&#xff1a;深度学习 ok&#xff0c;话不多…

ElasticSearch 学习课程入门(一)

引子 前文已经介绍了windows下如何安装ES&#xff0c;接下来的文章我会边学习边记录。OK&#xff0c;那就让我们开始吧。 一、ES基础操作 1、预备知识 &#xff08;1&#xff09;RESTful REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 …

QML Binding和Qt.binding详解

一、Binding详解 1、介绍 QML Binding是一种声明式的编程概念&#xff0c;它允许在Qt Quick应用中自动更新属性之间的关系。通过使用Binding&#xff0c;我们可以在属性之间建立依赖关系&#xff0c;当其中一个属性的值发生变化时&#xff0c;绑定的属性会自动更新。QML Bind…

【优选算法】3----快乐数

这是第三篇算法题&#xff0c;也是十分的不好想&#xff0c;虽然定位在简单&#xff0c;但我感觉还是有些难度的~ -------------------------------------begin----------------------------------------- 题目解析&#xff1a; 同样的&#xff0c;这道算法题&#xff0c;看题…

计算机网络 (52)秘钥分配

一、重要性 在计算机网络中&#xff0c;密钥分配是密钥管理中的一个核心问题。由于密码算法通常是公开的&#xff0c;因此网络的安全性主要依赖于密钥的安全保护。密钥分配的目的是确保密钥在传输过程中不被窃取或篡改&#xff0c;同时确保只有合法的用户才能获得密钥。 二、方…

Docker Load后存储的镜像及更改镜像存储目录的方法

Docker Load后存储的镜像及更改镜像存储目录的方法 Docker Load后存储的镜像更改镜像存储目录的方法脚本说明注意事项Docker作为一种开源的应用容器引擎,已经广泛应用于软件开发、测试和生产环境中。通过Docker,开发者可以将应用打包成镜像,轻松地进行分发和运行。而在某些场…