You need to enable JavaScript to run this app.
ByteHouse云数仓版

ByteHouse云数仓版

复制全文
BI工具
Apache Superset
复制全文
Apache Superset

Apache Superset (下文简称 Superset)是一个用于数据探索和数据可视化的开源软件应用程序,能够处理PB级的数据,本文为您介绍如何将 Superset 连接 ByteHouse 进行数据分析。

背景信息
  • 由于当前基于 bytehouse-sqlalchemyByteHouse Superset Connector 正在进行维护和更新,当前建议使用开源 ClickHouse Superset Connector 来连接 ByteHouse。
  • 由于 ByteHouse 无法原生支持开源的 ClickHouse Superset Connector,因此您还需要使用 ByteHouse clickhouse-connect 支持包对开源连接器进行修改支持。

综上,您在安装 Superset 后连接 ByteHouse 时,需同时使用开源的 ClickHouse Superset Connector、ByteHouse clickhouse-connect 支持包。

注意事项

细分项

已验证版本/注意事项

Superset

4.1.0

开源 Clickhouse Superset Connector

0.8.6

ByteHouse clickhouse-connect 支持包

0.8.6+

Python

Python3.8

已获取 ByteHouse 帐户 API Token

API Token 的获取方式请参阅文档 获取 API Token

ByteHouse 侧配置

step1 配置网络域名

登录并进入 ByteHouse 控制台后,在顶部租户管理基本信息页面,查看网络组配置,确认已绑定 VPC,并绑定了公网域名。
Image

  • 如果未绑定 VPC 和公网域名,需参考设置网络信息文档完成绑定配置。
  • 完成绑定后,可单击复制公网域名,用于后续对接参数配置。

step2 设置默认计算组

进入顶部租户管理参数设置页面,查看已设置了默认计算组,并确保此计算组是正在运行的状态,未被停止。后续对接 ByteHouse 后的数据查询等操作,即会使用此处配置的默认计算组。
Image

step 3 获取 API Key

IAM 用户使用 API Key 作为连接密码,您可进入顶部租户管理连接信息页面,在 API Key 模块新建一个 API key,并将 API Key 保存至本地,用于后续的配置使用。
Image

说明

一个子账号最多支持创建两个 API Key,如果此前您有已创建好的 API key,也可直接使用已创建好的 API Key。

Superset 侧配置

step1 准备工作

  1. 安装 Superset。操作步骤请参考 Superset官网文档
  2. 安装 ByteHouse clickhouse-connect 支持包。完整的安装说明可以参考 Superset 官方文档,以下为一个简单的安装操作示例。
    • 通过pip安装:

      pip install https://github.com/bytehouse-docs/ecosystem/raw/main/dist/clickhouse-connect/clickhouse-connect-0.8.6+bytehouse.tar.gz
      
    • Docker中安装:

      git clone https://github.com/apache/superset.git
      cd superset
      git checkout 4.1.0
      echo "https://github.com/bytehouse-docs/ecosystem/raw/main/dist/clickhouse-connect/clickhouse-connect-0.8.6+bytehouse.tar.gz" >> ./docker/requirements-local.txt
      docker compose -f docker-compose-image-tag.yml up
      

step2 创建连接器

  1. 登录 Superset。安装完成后,您可以使用默认创建的帐户访问浏览器中的 http://localhost:8088 登录Superset,默认用户名/密码为 admin/admin。
  2. 创建数据库连接器,连接 ByteHouse。
    1. 单击屏幕右上角的 Settings 页签并选择 Database Connections
      Image

    2. 单击 +DATABASE 按钮创建新的数据库连接。
      Image

    3. 从可用数据库的下拉框中选择 ClickHouse Connect(SuperSet)
      Image

    4. 如下图所示填写连接详细信息并单击 CONNECT 按钮。
      Image

      参数

      使用 IAM 用户连接

      HOST

      配置为 ByteHouse 的网络域名,格式为:tenant-{TENANT_ID}-{REGION}-public.bytehouse.volces.com,您可以在 ByteHouse 控制台的租户管理>基本信息>网络信息中获取。详情请参见上文step1 配置网络域名

      Port

      数据库端口号,配置为固定取值:8123。

      DATABASE NAME

      配置为 ByteHouse 已创建的数据库名称。

      USERNAME & PASSWORD

      • Username 默认为 bytehouse
      • Password 为 <API_Key>,可以在 ByteHouse 控制台>租户管理>连接信息中获取的 API Key,详情请参见上文使用 IAM 用户连接

      DISPLAY NAME

      自定义连接器的显示名称。

      ADDITIONAL PARAMETERS

      配置为:secure=True&compress=False

      SSL

      打开 SSL 开关。

      注意

      ByteHouse 需要加密认证,从而保护数据安全,因此您需打开 SSL。

    5. (可选)如果您有多个计算组,希望后续 Superset 查询 ByteHouse 数据时使用指定计算组,您可以在 ADDITIONAL PARAMETERS 指定具体的计算组。
      配置示例如下:

      ADDITIONAL PARAMETERS

      secure=True&compress=False&virtual_warehouse=vw-accountId-vwName

    6. 完成配置后单击 CONNECT,完成连接器创建。

step3 结果验证

以下为您提供了一份测试数据,用于测试 Superset 连接 ByteHouse 的结果,并示例连接后通过 Superset 进行数据分析操作。

  1. 准备示例数据。在 ByteHouse 中执行以下查询以准备示例数据。

    CREATE DATABASE test_db;
    
    CREATE TABLE test_db.online_store_sales (
        order_id String,
        order_date DateTime,
        customer_id String,
        product_id String,
        category String,
        sub_category String,
        region String,
        sales_amount Float64,
        quantity UInt32
    ) 
    ENGINE = CnchMergeTree()
    PARTITION BY toYYYYMM(order_date)
    ORDER BY (order_date, customer_id);
    
    INSERT INTO test_db.online_store_sales VALUES
    ('OID001', '2024-11-01 10:00:00', 'CID001', 'PID001', 'Electronics', 'Smartphones', 'North America', 899.99, 2),
    ('OID004', '2024-11-02 09:20:00', 'CID004', 'PID004', 'Furniture', 'Desks', 'North America', 1599.99, 5),
    ('OID005', '2024-11-02 14:10:00', 'CID005', 'PID005', 'Home Decor', 'Lamps', 'South America', 49.99, 100),
    ('OID006', '2024-11-02 17:50:00', 'CID006', 'PID006', 'Electronics', 'Tablets', 'Europe', 799.99, 7),
    ('OID007', '2024-11-03 11:00:00', 'CID007', 'PID007', 'Clothing', 'Jackets', 'Asia', 149.99, 25),
    ('OID008', '2024-11-03 13:40:00', 'CID008', 'PID008', 'Clothing', 'Shoes', 'Africa', 89.99, 50),
    ('OID010', '2024-11-04 19:30:00', 'CID010', 'PID010', 'Electronics', 'Cameras', 'North America', 399.99, 3),
    ('OID013', '2024-11-05 08:50:00', 'CID013', 'PID013', 'Electronics', 'Headphones', 'North America', 99.99, 100),
    ('OID014', '2024-11-05 11:30:00', 'CID014', 'PID014', 'Furniture', 'Coffee Tables', 'Asia', 499.99, 50),
    ('OID015', '2024-11-05 14:00:00', 'CID015', 'PID015', 'Clothing', 'T-Shirts', 'Europe', 19.99, 300),
    ('OID016', '2024-11-06 09:40:00', 'CID016', 'PID016', 'Furniture', 'Bookshelves', 'North America', 999.99, 10),
    ('OID017', '2024-11-06 13:25:00', 'CID017', 'PID017', 'Electronics', 'Laptops', 'Europe', 2299.99, 4),
    ('OID020', '2024-11-07 14:00:00', 'CID020', 'PID020', 'Home Decor', 'Rugs', 'Africa', 199.99, 20);
    
  2. 在 Superset 中创建数据集。

    1. 在 Superset 页面右上角单击+按钮,选择 Data>Create dateset。
      Image
    2. 在下拉框中选择已创建的 DATABASE,SCHEMA 和 TABLE,然后单击 CREATE DATASET AND CREATE CHART 按钮,完成数据集创建。
      Image
  3. 创建 Superset 图表。

    1. 从 Charts 选项卡中,选择先前创建的数据集并选择 Line Chart 作为图表类型。继续单击 CREATE NEW CHART 按钮。
      Image

    2. 参考下图配置图表的参数,即可得到查询到的 ByteHouse 数据结果图。

      图表参数

      配置结果示意

      Image

      Image

最近更新时间:2025.12.11 10:15:52
这个页面对您有帮助吗?
有用
有用
无用
无用