> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/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>;
};

<ClickHouseSupportedBadge />

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

<br />

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

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

<Steps>
  <Step title="准备好连接信息" id="1-gather-your-connection-details">
    要通过 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**：

    <div className="ch-image-md">
      <Frame>
        <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/cloud-connect-button.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=ec0a298a33ca841e947fa5e8bae47362" alt="ClickHouse Cloud 服务连接按钮" width="998" height="932" data-path="images/_snippets/cloud-connect-button.webp" />
      </Frame>
    </div>

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

    <div className="ch-image-md">
      <Frame>
        <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/connection-details-https.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=cb0fbd98aa2b5b7ca484c9f53395ee07" alt="ClickHouse Cloud HTTPS 连接信息" width="1320" height="1184" data-path="images/_snippets/connection-details-https.webp" />
      </Frame>
    </div>

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

  <Step title="安装驱动程序" id="2-install-the-driver">
    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 数据库配置指南](https://superset.apache.org/user-docs/6.0.0/configuration/databases/)，了解如何将 `clickhouse-connect` 添加到你的容器中。
    </Info>

    2. 启动 (或重启) Superset。
  </Step>

  <Step title="将 Superset 连接到 ClickHouse" id="3-connect-superset-to-clickhouse">
    1. 在 Superset 中，从顶部菜单选择 **Data**，然后在下拉菜单中选择 **Databases**。点击 **+ Database** 按钮添加新数据库：

    <Image size="lg" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/superset_01.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=4eec14a85a54563cdbb20676610ceeed" 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/etDiFo_9fGSe5rMN/images/integrations/data-visualization/superset_02.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=e4b7b80fe77e598e2cd8d8b327375f44" 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/etDiFo_9fGSe5rMN/images/integrations/data-visualization/superset_03.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=e9a3e57aa8330a2d8a949c67d8d46206" alt="Superset 连接配置表单，显示 ClickHouse 连接参数" border width="499" height="838" data-path="images/integrations/data-visualization/superset_03.webp" />

    <br />

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

  <Step title="添加数据集" id="4-add-a-dataset">
    1. 要在 Superset 中与 ClickHouse 数据交互，你需要定义一个 ***数据集***。在 Superset 顶部菜单中，选择 **Data**，然后从下拉菜单中选择 **Datasets**。

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

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

    <br />

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

  <Step title="在 Superset 中创建图表和仪表盘" id="5--creating-charts-and-a-dashboard-in-superset">
    如果你熟悉 Superset，那么接下来这一部分会让你觉得很顺手。如果你是第一次接触 Superset，嗯……它和市面上许多优秀的可视化工具类似——上手很快，但其中的细节和门道需要在使用过程中慢慢积累。

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

    <Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/superset_05.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=c78c472da68986e3038ae35aadfcb4ee" 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/etDiFo_9fGSe5rMN/images/integrations/data-visualization/superset_06.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=a75ae3e391a146023ba46f2f3fcc2527" 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/etDiFo_9fGSe5rMN/images/integrations/data-visualization/superset_08.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=8904d36cde3ff39ddac578257817eed5" 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/etDiFo_9fGSe5rMN/images/integrations/data-visualization/superset_09.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=e846384c93bb111a9e658f3d734486a3" 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/etDiFo_9fGSe5rMN/images/integrations/data-visualization/superset_10.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=0568cde0a54513227d9ade0d6958bda5" 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/etDiFo_9fGSe5rMN/images/integrations/data-visualization/superset_11.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=ccca62277d5c0c6899ec2a8933d4f8ae" 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/etDiFo_9fGSe5rMN/images/integrations/data-visualization/superset_12.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=679288076599288c1852e3848bb4037e" alt="已完成的 Superset 仪表盘，包含多个基于 ClickHouse 中英国房产价格数据的可视化图表" border width="640" height="551" data-path="images/integrations/data-visualization/superset_12.webp" />

    <br />
  </Step>
</Steps>
