> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-home-button.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Apache Superset 是一个开源的数据探索和可视化平台。

# 将 Superset 连接到 ClickHouse

export const ClickHouseSupportedBadge = () => {
  return <div className="ClickHouseSupportedBadge">
            <div className="ClickHouseSupportedIcon">
                <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                    <path d="M1.30762 1.39073C1.30762 1.3103 1.37465 1.22986 1.46849 1.22986H2.64824C2.72868 1.22986 2.80912 1.29689 2.80912 1.39073V14.4886C2.80912 14.5691 2.74209 14.6495 2.64824 14.6495H1.46849C1.38805 14.6495 1.30762 14.5825 1.30762 14.4886V1.39073Z" fill="currentColor" />
                    <path d="M4.2832 1.39073C4.2832 1.3103 4.35023 1.22986 4.44408 1.22986H5.62383C5.70427 1.22986 5.7847 1.29689 5.7847 1.39073V14.4886C5.7847 14.5691 5.71767 14.6495 5.62383 14.6495H4.44408C4.36364 14.6495 4.2832 14.5825 4.2832 14.4886V1.39073Z" fill="currentColor" />
                    <path d="M7.25977 1.39073C7.25977 1.3103 7.3268 1.22986 7.42064 1.22986H8.60039C8.68083 1.22986 8.76127 1.29689 8.76127 1.39073V14.4886C8.76127 14.5691 8.69423 14.6495 8.60039 14.6495H7.42064C7.3402 14.6495 7.25977 14.5825 7.25977 14.4886V1.39073Z" fill="currentColor" />
                    <path d="M10.2354 1.39073C10.2354 1.3103 10.3024 1.22986 10.3962 1.22986H11.576C11.6564 1.22986 11.7369 1.29689 11.7369 1.39073V14.4886C11.7369 14.5691 11.6698 14.6495 11.576 14.6495H10.3962C10.3158 14.6495 10.2354 14.5825 10.2354 14.4886V1.39073Z" fill="currentColor" />
                    <path d="M13.2256 6.6057C13.2256 6.52526 13.2926 6.44482 13.3865 6.44482H14.5662C14.6466 6.44482 14.7271 6.51186 14.7271 6.6057V9.27354C14.7271 9.35398 14.6601 9.43442 14.5662 9.43442H13.3865C13.306 9.43442 13.2256 9.36739 13.2256 9.27354V6.6057Z" fill="currentColor" />
                </svg>
            </div>
            ClickHouse Supported
        </div>;
};

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

<a href="https://superset.apache.org/" target="_blank">Apache Superset</a> 是一个使用 Python 编写的开源数据探索与可视化平台。Superset 通过 ClickHouse 提供的 Python 驱动 连接到 ClickHouse。下面来看看它是如何工作的……

<div id="goal">
  ## 目标
</div>

在本指南中，您将使用 ClickHouse 数据库中的数据在 Superset 中构建一个仪表盘。该仪表盘将如下所示：

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-home-button/8vRlAzTPu3QtBgl8/images/integrations/data-visualization/superset_12.png?fit=max&auto=format&n=8vRlAzTPu3QtBgl8&q=85&s=6e00e5d6d8fab15a80c5fb817803ced0" alt="显示英国房价的 Superset 仪表盘，包含多个可视化图表，包括饼图和表格" border width="640" height="551" data-path="images/integrations/data-visualization/superset_12.png" />

<br />

<Tip>
  **添加一些数据**

  如果您还没有可用的数据集，可以添加一个示例。本指南使用的是 [UK Price Paid](/zh/get-started/sample-datasets/uk-price-paid) 数据集，您也可以选择它。同一文档分类下还有其他几个示例可供参考。
</Tip>

<div id="1-gather-your-connection-details">
  ## 1. 获取连接信息
</div>

要通过 HTTP(S) 连接到 ClickHouse，你需要以下信息：

| Parameter(s)              | Description                                |
| ------------------------- | ------------------------------------------ |
| `HOST` and `PORT`         | 通常，使用 TLS 时端口为 8443；不使用 TLS 时端口为 8123。     |
| `DATABASE NAME`           | 默认情况下，存在一个名为 `default` 的数据库。请使用你要连接的数据库名称。 |
| `USERNAME` and `PASSWORD` | 默认情况下，用户名为 `default`。请根据你的使用场景使用相应的用户名。    |

你的 ClickHouse Cloud 服务的连接信息可在 ClickHouse Cloud 控制台中查看。
选择一个服务，然后点击 **Connect**：

<Image img="https://mintcdn.com/private-7c7dfe99-home-button/kULrYc6Yc_Td1RKY/images/_snippets/cloud-connect-button.png?fit=max&auto=format&n=kULrYc6Yc_Td1RKY&q=85&s=f8f30304147d67b79b22a095be5c28d9" size="md" alt="ClickHouse Cloud 服务连接按钮" border width="998" height="932" data-path="images/_snippets/cloud-connect-button.png" />

选择 **HTTPS**。连接信息会显示在示例 `curl` 命令中。

<Image img="https://mintcdn.com/private-7c7dfe99-home-button/kULrYc6Yc_Td1RKY/images/_snippets/connection-details-https.png?fit=max&auto=format&n=kULrYc6Yc_Td1RKY&q=85&s=e0ad7ca41bc3d183bee88082e548cd76" size="md" alt="ClickHouse Cloud HTTPS 连接信息" border width="1320" height="1184" data-path="images/_snippets/connection-details-https.png" />

如果你使用的是自管理 ClickHouse，则连接信息由你的 ClickHouse 管理员配置。

<div id="2-install-the-driver">
  ## 2. 安装驱动
</div>

1. Superset 使用 `clickhouse-connect` 驱动连接到 ClickHouse。有关 `clickhouse-connect` 的详细信息，请参见 <a href="https://pypi.org/project/clickhouse-connect/" target="_blank">[https://pypi.org/project/clickhouse-connect/](https://pypi.org/project/clickhouse-connect/)</a>，可使用以下命令安装：

   ```console theme={null}
   pip install clickhouse-connect
   ```

<Info>
  **Docker Compose 设置**

  对于基于 Docker 的安装，请参阅 [Superset database configuration guide](https://superset.apache.org/docs/configuration/databases/#clickhouse)，了解如何将 `clickhouse-connect` 添加到容器中。
</Info>

2. 启动 (或重启) Superset。

<div id="3-connect-superset-to-clickhouse">
  ## 3. 将 Superset 连接到 ClickHouse
</div>

1. 在 Superset 中，从顶部菜单选择 **Data**，然后从下拉菜单中选择 **Databases**。点击 **+ Database** 按钮添加新数据库：

<Image size="lg" img="https://mintcdn.com/private-7c7dfe99-home-button/8vRlAzTPu3QtBgl8/images/integrations/data-visualization/superset_01.png?fit=max&auto=format&n=8vRlAzTPu3QtBgl8&q=85&s=602ed1c9cf22320976483a24232ae252" alt="Superset 界面，显示 Database 菜单并高亮 + Database 按钮" border width="1572" height="243" data-path="images/integrations/data-visualization/superset_01.png" />

<br />

2. 在第一步中，选择 **ClickHouse Connect** 作为数据库类型：

<Image size="sm" img="https://mintcdn.com/private-7c7dfe99-home-button/8vRlAzTPu3QtBgl8/images/integrations/data-visualization/superset_02.png?fit=max&auto=format&n=8vRlAzTPu3QtBgl8&q=85&s=32504090bc2c450133a5352be78138df" alt="Superset 数据库连接向导，已选择 ClickHouse Connect 选项" border width="622" height="920" data-path="images/integrations/data-visualization/superset_02.png" />

<br />

3. 在第二步中：

* 将 SSL 设置为开启或关闭。
* 输入你之前收集的连接信息。
* 指定 **DISPLAY NAME**：可以使用你喜欢的任意名称。如果你将连接到多个 ClickHouse 数据库，请使用更具描述性的名称。

<Image size="sm" img="https://mintcdn.com/private-7c7dfe99-home-button/8vRlAzTPu3QtBgl8/images/integrations/data-visualization/superset_03.png?fit=max&auto=format&n=8vRlAzTPu3QtBgl8&q=85&s=4467e2fa7a9fd4ac4e2468c17cd1ab79" alt="显示 ClickHouse 连接参数的 Superset 连接配置表单" border width="499" height="838" data-path="images/integrations/data-visualization/superset_03.png" />

<br />

4. 点击 **CONNECT**，然后点击 **FINISH** 按钮完成设置向导。完成后，你应该会在数据库列表中看到你的数据库。

<div id="4-add-a-dataset">
  ## 4. 添加数据集
</div>

1. 要在 Superset 中操作 ClickHouse 数据，您需要先定义一个***数据集***。在 Superset 顶部菜单中，选择 **Data**，然后在下拉菜单中选择 **Datasets**。

2. 点击添加数据集按钮。选择新建的数据库作为数据源，然后您应该能看到该数据库中定义的表：

<Image size="sm" img="https://mintcdn.com/private-7c7dfe99-home-button/8vRlAzTPu3QtBgl8/images/integrations/data-visualization/superset_04.png?fit=max&auto=format&n=8vRlAzTPu3QtBgl8&q=85&s=5dacecc50e1c01904a031075d9397b4b" alt="显示 ClickHouse 数据库中可用表的 Superset 数据集创建对话框" border width="412" height="323" data-path="images/integrations/data-visualization/superset_04.png" />

<br />

3. 点击对话框底部的 **ADD** 按钮后，您的表就会出现在数据集列表中。现在，您可以开始构建仪表板并分析 ClickHouse 数据了！

<div id="5--creating-charts-and-a-dashboard-in-superset">
  ## 5. 在 Superset 中创建图表和仪表盘
</div>

如果你熟悉 Superset，那么接下来这一部分会让你觉得很顺手。如果你是第一次接触 Superset，嗯……它和市面上许多优秀的可视化工具类似——上手很快，但其中的细节和门道需要在使用过程中慢慢积累。

1. 先从仪表盘开始。在 Superset 顶部菜单中，选择 **Dashboards**。点击右上角的按钮，新建一个仪表盘。下面这个仪表盘名为 **UK property prices**：

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-home-button/8vRlAzTPu3QtBgl8/images/integrations/data-visualization/superset_05.png?fit=max&auto=format&n=8vRlAzTPu3QtBgl8&q=85&s=9239a2a3fd010892c660145c867c20fa" alt="名为 UK property prices 的空白 Superset 仪表盘，等待添加图表" border width="959" height="445" data-path="images/integrations/data-visualization/superset_05.png" />

<br />

2. 要创建新图表，请在顶部菜单中选择 **Charts**，然后点击按钮新建图表。你会看到很多选项。下面的示例展示了一个 **Pie Chart** 图表，它使用 **CHOOSE A DATASET** 下拉菜单中的 **uk\_price\_paid** 数据集：

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-home-button/8vRlAzTPu3QtBgl8/images/integrations/data-visualization/superset_06.png?fit=max&auto=format&n=8vRlAzTPu3QtBgl8&q=85&s=00d20d027c9584714d05ac1a92bca56d" alt="Superset 图表创建界面，已选择 Pie Chart 可视化类型" border width="1098" height="998" data-path="images/integrations/data-visualization/superset_06.png" />

<br />

3. Superset 的饼图需要一个 **Dimension** 和一个 **Metric**，其余设置都是可选的。你可以自行选择用作维度和指标的字段；本示例使用 ClickHouse 字段 `district` 作为维度，使用 `AVG(price)` 作为指标。

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-home-button/8vRlAzTPu3QtBgl8/images/integrations/data-visualization/superset_08.png?fit=max&auto=format&n=8vRlAzTPu3QtBgl8&q=85&s=0dacabae3342bba5bd3cfc896c4d7dfc" alt="维度配置，显示为饼图选择了 district 字段" border width="657" height="633" data-path="images/integrations/data-visualization/superset_08.png" />

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-home-button/8vRlAzTPu3QtBgl8/images/integrations/data-visualization/superset_09.png?fit=max&auto=format&n=8vRlAzTPu3QtBgl8&q=85&s=dd27629697543295e93a7dd4005edc08" alt="指标配置，显示为饼图选择了 AVG(price) 聚合函数" border width="657" height="605" data-path="images/integrations/data-visualization/superset_09.png" />

<br />

5. 如果你更喜欢环形图而不是饼图，也可以在 **CUSTOMIZE** 下设置该选项以及其他选项：

<Image size="sm" img="https://mintcdn.com/private-7c7dfe99-home-button/8vRlAzTPu3QtBgl8/images/integrations/data-visualization/superset_10.png?fit=max&auto=format&n=8vRlAzTPu3QtBgl8&q=85&s=c33132020aab985b03dd353cf148f404" alt="自定义面板，显示环形图选项和其他饼图配置设置" border width="320" height="929" data-path="images/integrations/data-visualization/superset_10.png" />

<br />

6. 点击 **SAVE** 按钮保存图表，然后在 **ADD TO DASHBOARD** 下拉菜单中选择 **UK property prices**，再点击 **SAVE & GO TO DASHBOARD**，即可保存图表并将其添加到仪表盘：

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-home-button/8vRlAzTPu3QtBgl8/images/integrations/data-visualization/superset_11.png?fit=max&auto=format&n=8vRlAzTPu3QtBgl8&q=85&s=eb7f8a6f743d910ce8672024fd1903d9" alt="保存图表对话框，包含仪表盘选择下拉菜单和 Save & Go to Dashboard 按钮" border width="1442" height="792" data-path="images/integrations/data-visualization/superset_11.png" />

<br />

7. 就这些了。基于 ClickHouse 中的数据在 Superset 中构建仪表盘，将为你打开一个高速数据分析的新世界！

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-home-button/8vRlAzTPu3QtBgl8/images/integrations/data-visualization/superset_12.png?fit=max&auto=format&n=8vRlAzTPu3QtBgl8&q=85&s=6e00e5d6d8fab15a80c5fb817803ced0" alt="已完成的 Superset 仪表盘，包含多个基于 ClickHouse 中英国房产价格数据的可视化图表" border width="640" height="551" data-path="images/integrations/data-visualization/superset_12.png" />

<br />
