使用 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)。

微信图片_20220528161037.png


方法 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 数据库。

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

微信图片_20220528161040.png

输入以下值:

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

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

微信图片_20220528161043.png

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

连接过程

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

微信图片_20220528161046.png

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

微信图片_20220528161049.png

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

微信图片_20220528161052.png

创建一个时间序列图表

微信图片_20220528161054.png

在仪表盘发布图表。

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

微信图片_20220528161057.png

微信图片_20220528161101.png

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

相关文章
|
2月前
|
Apache 流计算 OceanBase
手把手教你实现 OceanBase 数据到阿里云数据库 SelectDB 内核版 Apache Doris 的便捷迁移|实用指南
本文介绍了如何将数据从 OceanBase 迁移到阿里云数据库 SelectDB 内核版 Apache Doris。提供 3 种数据同步方法 1. 使用 DataX,下载 DataX 并编写配置文件,通过 OceanBaseReader 和 DorisWriter 进行数据迁移。 2. 利用 Apache Doris 的 Catalog功 能,将 OceanBase 表映射到 Doris 并插入数据。 3. 通过Flink CDC,设置 OceanBase 环境,配置 Flink 连接器,实现实时数据同步。
手把手教你实现 OceanBase 数据到阿里云数据库 SelectDB 内核版 Apache Doris 的便捷迁移|实用指南
|
2月前
|
消息中间件 Java Kafka
实时计算 Flink版操作报错之Apache Flink中的SplitFetcher线程在读取数据时遇到了未预期的情况,该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
14天前
|
分布式计算 运维 DataWorks
MaxCompute产品使用问题之数据如何导出到本地部署的CK
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
26天前
|
数据采集 关系型数据库 MySQL
使用Apache Flink实现MySQL数据读取和写入的完整指南
使用Apache Flink实现MySQL数据读取和写入的完整指南
144 0
使用Apache Flink实现MySQL数据读取和写入的完整指南
|
1月前
|
JSON NoSQL MongoDB
蓝易云 - mongodb数据如何导入到clickhouse
以上步骤是一种通用的方法,具体的实现可能会根据你的具体需求和数据结构有所不同。
25 1
|
2月前
|
数据采集 机器学习/深度学习 Java
数据猎手:使用Java和Apache HttpComponents库下载Facebook图像
本文介绍了如何使用Java和Apache HttpComponents库从Facebook获取图像数据。通过设置爬虫代理IP以避免限制,利用HttpClient发送请求,解析HTML找到图像链接,然后下载并保存图片。提供的Java代码示例展示了实现过程,包括创建代理配置、线程池,以及下载图片的逻辑。注意,实际应用需根据Facebook页面结构进行调整。
数据猎手:使用Java和Apache HttpComponents库下载Facebook图像
|
2月前
|
OLAP 数据处理 Apache
众安保险 CDP 平台:借助阿里云数据库 SelectDB 版内核 Apache Doris 打破数据孤岛,人群圈选提速4倍
众安保险在CDP(Customer Data Platform,客户数据平台)建设中,通过引入阿里云数据库SelectDB版内核Apache Doris,成功打破了数据孤岛,并显著提升了人群圈选的速度
206 1
|
26天前
|
消息中间件 分布式计算 关系型数据库
使用Apache Spark从MySQL到Kafka再到HDFS的数据转移
使用Apache Spark从MySQL到Kafka再到HDFS的数据转移
|
2月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之在使用Flink SQL向ClickHouse写入数据的过程中出现丢数据或重复数据的情况如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
204 1
|
2月前
|
消息中间件 Java Kafka
实时计算 Flink版产品使用合集之可以将数据写入 ClickHouse 数据库中吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
196 1