> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-detect-table-modification.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
        </div>;
};

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

<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-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/superset_12.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=174c49d036b71378d46d6b112762bcd0" alt="显示英国房价的 Superset 仪表盘，包含多个可视化图表，包括饼图和表格" border width="640" height="551" data-path="images/integrations/data-visualization/superset_12.webp" />

<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-detect-table-modification/0yJtAU6cqYAQlCWC/images/_snippets/cloud-connect-button.webp?fit=max&auto=format&n=0yJtAU6cqYAQlCWC&q=85&s=2d1e2340e1ddccf3199ca1e41eeba836" size="md" alt="ClickHouse Cloud 服务连接按钮" border width="998" height="932" data-path="images/_snippets/cloud-connect-button.webp" />

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

<Image img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/0yJtAU6cqYAQlCWC/images/_snippets/connection-details-https.webp?fit=max&auto=format&n=0yJtAU6cqYAQlCWC&q=85&s=2ea2af378046d5ec87ea8e78de573bc1" size="md" alt="ClickHouse Cloud HTTPS 连接信息" border width="1320" height="1184" data-path="images/_snippets/connection-details-https.webp" />

如果你使用的是自管理 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-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/superset_01.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=35d9d6552fadb98a7f768b1b4f4c46f3" alt="Superset 界面，显示 Database 菜单并高亮 + Database 按钮" border width="1572" height="243" data-path="images/integrations/data-visualization/superset_01.webp" />

<br />

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

<Image size="sm" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/superset_02.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=4f9b28955366dea0676d5380876a0990" alt="Superset 数据库连接向导，已选择 ClickHouse Connect 选项" border width="622" height="920" data-path="images/integrations/data-visualization/superset_02.webp" />

<br />

3. 在第二步中：

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

<Image size="sm" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/superset_03.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=6c7b0c6a5f1f81d47a9c376af03f660c" alt="显示 ClickHouse 连接参数的 Superset 连接配置表单" border width="499" height="838" data-path="images/integrations/data-visualization/superset_03.webp" />

<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-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/superset_04.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=2911156e736a59248bc9a5f86f7c8fef" alt="显示 ClickHouse 数据库中可用表的 Superset 数据集创建对话框" border width="412" height="323" data-path="images/integrations/data-visualization/superset_04.webp" />

<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-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/superset_05.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=87631ef32bb189f46e6bf0025e90ee4e" alt="名为 UK property prices 的空白 Superset 仪表盘，等待添加图表" border width="959" height="445" data-path="images/integrations/data-visualization/superset_05.webp" />

<br />

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

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

<br />

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

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

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

<br />

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

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

<br />

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

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

<br />

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

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

<br />
