使用 Apache Superset 可视化 ClickHouse 数据的两种方法


Posted in Servers onJuly 07, 2021

使用 Apache Superset 可视化 ClickHouse 数据的两种方法

Apache Superset是一个强大的BI工具,它提供了查看和探索数据的方法。它在 ClickHouse 用户中也越来越受欢迎。

我们将介绍安装 Superset 的 2 种方法,然后展示如何从 Superset 连接到您的第一个 ClickHouse 数据库。代码示例基于 Ubuntu 18.04、Superset 1.1.0 和 clickhouse-sqlalchemy 0.1.6。

方法一:Python虚拟环境

第一种方法直接在您的主机上安装 Superset。我们将首先创建一个 Python 虚拟环境。以下是常用命令。

python3 -m venv clickhouse-sqlalchemy
. clickhouse-sqlalchemy/bin/activate
pip install --upgrade pi

安装并启动 Superset

安装依赖包

sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev

处理与 ClickHouse 的 Superset 连接的命令。可能需要根据您的环境稍微调整。

export FLASK_APP=superset
pip install apache-superset
superset db upgrade
superset fab create-admin
superset load_examples
superset init

安装 clickhouse-sqlalchemy 驱动程序

pip install clickhouse-sqlalchemy

clickhouse-driver 版本必须为 0.2.0 或更高版本。

pip freeze |grep clickhouse
clickhouse-driver==0.2.0
clickhouse-sqlalchemy==0.1.6

启动 Superset 并登录

是时候开始 Superset 了。运行以下命令:

superset run -p 8088 --with-threads --reload --debugger

浏览器访问 localhost:8088

您将看到如下所示的登录屏幕。输入您在 Superset 安装期间定义的管理员登录名和密码(例如,admin/secret)。

使用 Apache Superset 可视化 ClickHouse 数据的两种方法

方法 2:使用 Docker Compose 运行 Superset

如果您不想纠结于 Python 版本、虚拟环境和 pip。可以使用docker。

首先安装docker和docker-compose。

安装完成查看版本。

$ docker --version
Docker version 19.03.4, build 9013bf583a
$ docker-compose --version
docker-compose version 1.29.1, build c34c88b2

使用docker-compose 安装superset

git clone https://github.com/apache/superset
cd superset
touch ./docker/requirements-local.txt
echo "clickhouse-driver>=0.2.0" >> ./docker/requirements-local.txt
echo "clickhouse-sqlalchemy>=0.1.6" >> ./docker/requirements-local.txt
docker-compose -f docker-compose-non-dev.yml up

运行成功后 浏览器访问 localhost:8088

默认登录名/密码是admin / admin。

连接到 ClickHouse

无论您选择哪种安装方法,您现在都可以连接到您的第一个 ClickHouse 数据库。

登录后,您将看到一个屏幕,其中包含您最近的工作以及当前的仪表板。选择右上角的数据选项卡,然后选数据库。将出现一个页面,其中包含您当前的数据库连接。按+ 数据库按钮添加新数据库。

使用 Apache Superset 可视化 ClickHouse 数据的两种方法

输入以下值:

数据库名称:clickhouse-public
SQLALCHEMY 网址:clickhouse+native://demo:demo@github.demo.trial.altinity.cloud /default?secure=true

Altinity.Cloud是一个公共的数据集站点。

使用 Apache Superset 可视化 ClickHouse 数据的两种方法

按下测试连接按钮。成功后保存链接。

连接过程

连接使用了 SQLAlchemy,这是一种用于连接 ClickHouse 以及许多其他数据库的通用 API。

使用 Apache Superset 可视化 ClickHouse 数据的两种方法

SQLAlchemy 连接使用支持多个驱动程序的专用 URL 格式。要连接到 ClickHouse,您需要提供一个类似于我们之前显示的 URL:

clickhouse+native://demo:demo@github.demo.trial.altinity.cloud/default?secure=true

连接ClickHouse 有两个主要的协议,原生TCP和HTTP。

建议使用原生TCP。

clickhouse+native://<user>:<password>@<host>:<port>/<database>[?options…]

配置Superset

我们已经成功连接了clickhouse,下面我们使用superset建立一个仪表盘。

首先,让我们创建数据集。选择 clickhouse-public 作为连接,然后选择 schema default和 table ontime。

使用 Apache Superset 可视化 ClickHouse 数据的两种方法

有了数据集后,创建第一个图表就很简单了。只需单击数据集页面上的数据集名称。Superset 将切换到一个屏幕来定义一个图表,如下所示。

使用 Apache Superset 可视化 ClickHouse 数据的两种方法

创建一个时间序列图表

使用 Apache Superset 可视化 ClickHouse 数据的两种方法

在仪表盘发布图表。

选择DASHBOARD 按钮,将建立的图表添加进来。

使用 Apache Superset 可视化 ClickHouse 数据的两种方法

使用 Apache Superset 可视化 ClickHouse 数据的两种方法

以上就是Apache Superset可视化ClickHouse数据的全过程了。

到此这篇关于使用 Apache Superset 可视化 ClickHouse 数据的两种方法的文章就介绍到这了,更多相关Apache Superset可视化ClickHouse 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
Jun 21 Servers
Nginx解决前端访问资源跨域问题的方法详解
Mar 31 Servers
Nginx搭建rtmp直播服务器实现代码
Mar 31 Servers
Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
Nov 17 Servers
Kubernetes关键组件与结构组成介绍
Mar 31 Servers
CentOS安装Nginx并部署vue
Apr 12 Servers
项目中Nginx多级代理是如何获取客户端的真实IP地址
May 30 Servers
CentOS7环境下MySQL8常用命令小结
Jun 10 Servers
Docker与K8s关系介绍不会Docker也可以使用K8s
Jun 25 Servers
Nginx报错104:Connection reset by peer问题的解决及分析
Jul 23 Servers
windows10 家庭版下FTP服务器搭建教程
Aug 05 Servers
教你使用Ubuntu搭建DNS服务器
Sep 23 Servers
使用nginx配置访问wgcloud的方法
Jun 26 #Servers
Nginx反向代理配置的全过程记录
制作能在nginx和IIS中使用的ssl证书
解析在浏览器地址栏输入一个URL后发生了什么
Linux中Nginx的防盗链和优化的实现代码
详解nginx进程锁的实现
Jun 14 #Servers
Nginx四层负载均衡的配置指南
You might like
php解压文件代码实现php在线解压
2014/02/13 PHP
实现PHP搜索加分页
2016/10/12 PHP
PHP格式化显示时间date()函数代码
2018/10/03 PHP
基于PHP+Jquery制作的可编辑的表格的代码
2011/04/10 Javascript
Javascript中正则表达式的全局匹配模式分析
2011/04/26 Javascript
JavaScript 基础篇之对象、数组使用介绍(三)
2012/04/07 Javascript
深入解析JavaScript中函数的Currying柯里化
2016/03/19 Javascript
JavaScript中0和&quot;&quot;比较引发的问题
2016/05/26 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
JS简单实现禁止访问某个页面的方法
2016/09/13 Javascript
AngularJS过滤器filter用法总结
2016/12/13 Javascript
JS实现的验证身份证及获取地区功能示例
2017/01/16 Javascript
关于angularJs清除浏览器缓存的方法
2017/11/28 Javascript
nodejs aes 加解密实例
2018/10/10 NodeJs
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
2018/10/18 Javascript
关于layui时间回显问题的解决方法
2019/09/24 Javascript
微信小程序语音同步智能识别的实现案例代码解析
2020/05/29 Javascript
mpvue 项目初始化及实现授权登录的实现方法
2020/07/20 Javascript
让Vue响应Map或Set的变化操作
2020/11/11 Javascript
k8s node节点重新加入master集群的实现
2021/02/22 Javascript
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
Python实现简单HTML表格解析的方法
2015/06/15 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
2018/01/16 Python
简述Python2与Python3的不同点
2018/01/21 Python
Python实现将Excel转换成为image的方法
2018/10/23 Python
六行python代码的爱心曲线详解
2019/05/17 Python
python简单利用字典破解zip文件口令
2020/09/07 Python
Java Unsafe类实现原理及测试代码
2020/09/15 Python
Python中全局变量和局部变量的理解与区别
2021/02/07 Python
HTML5 Canvas像素处理使用接口介绍
2012/12/02 HTML / CSS
英国最大线上综合鞋类商城:Office
2017/12/08 全球购物
新西兰第一的行李箱网站:luggage.co.nz
2019/07/22 全球购物
《我的信念》教学反思
2014/02/15 职场文书
优秀应届生求职信
2014/06/16 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
Redis实现分布式锁的五种方法详解
2022/06/14 Redis