使用 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 相关文章推荐
nginx优化的六点方法
Mar 31 Servers
Nginx服务器添加Systemd自定义服务过程解析
Mar 31 Servers
windows下快速安装nginx并配置开机自启动的方法
May 11 Servers
nginx内存池源码解析
Nov 20 Servers
nginx共享内存的机制详解
Mar 21 Servers
Win10 Anaconda安装python-pcl
Apr 29 Servers
Docker部署Mysql8的实现步骤
Jul 07 Servers
Windows Server 2012 R2服务器安装与配置的完整步骤
Jul 15 Servers
SpringBoot前端后端分离之Nginx服务器下载安装过程
Aug 14 Servers
Fluentd搭建日志收集服务
Sep 23 Servers
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
Sep 23 Servers
Elasticsearch6.2服务器升配后的bug(避坑指南)
Sep 23 Servers
使用nginx配置访问wgcloud的方法
Jun 26 #Servers
Nginx反向代理配置的全过程记录
制作能在nginx和IIS中使用的ssl证书
解析在浏览器地址栏输入一个URL后发生了什么
Linux中Nginx的防盗链和优化的实现代码
详解nginx进程锁的实现
Jun 14 #Servers
Nginx四层负载均衡的配置指南
You might like
php下使用无限生命期Session的方法
2007/03/16 PHP
PHP 变量定义和变量替换的方法
2009/07/30 PHP
小文件php+SQLite存储方案
2010/09/04 PHP
PHP学习之字符串比较和查找
2011/04/17 PHP
CodeIgniter启用缓存和清除缓存的方法
2014/06/12 PHP
php中Session的生成机制、回收机制和存储机制探究
2014/08/19 PHP
php session的锁和并发
2016/01/22 PHP
thinkphp3.x中session方法的用法分析
2016/05/20 PHP
JavaScript中的prototype.bind()方法介绍
2014/04/04 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
2020/12/24 Javascript
sso跨域写cookie的一段js脚本(推荐)
2016/05/25 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
2016/07/05 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
2016/08/23 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
2016/10/10 Javascript
浅谈JS中String()与 .toString()的区别
2016/10/20 Javascript
纯JavaScript手写图片轮播代码
2016/10/20 Javascript
Angularjs 1.3 中的$parse实例代码
2017/09/14 Javascript
JS实现倒序输出的几种常用方法示例
2019/04/13 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
鸿蒙系统中的 JS 开发框架
2020/09/18 Javascript
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python递归函数定义与用法示例
2017/06/02 Python
python和flask中返回JSON数据的方法
2018/03/26 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
python不同系统中打开方法
2020/06/23 Python
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
ziaja齐叶雅官方海外旗舰店:来自波兰的天然护肤品牌
2017/01/02 全球购物
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
毕业生文员求职信
2013/11/03 职场文书
共产党员公开承诺书
2014/03/25 职场文书
实习协议书范本
2014/04/22 职场文书
广播体操口号
2014/06/18 职场文书
英语专业求职信
2014/07/08 职场文书
十佳少先队员演讲稿
2014/09/12 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
MySQL实现配置主从复制项目实践
2022/03/31 MySQL