Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

将 Tableau 连接到 ClickHouse

支持 ClickHouse

ClickHouse 提供官方 Tableau 连接器,并已在 Tableau Exchange 上架。 该连接器基于 ClickHouse 的高级 JDBC 驱动

借助此连接器,Tableau 可将 ClickHouse 数据库和表作为数据源进行集成。要启用此功能, 请按照下方的设置指南进行操作。

使用前的准备工作

  1. 准备好连接详细信息

    要通过 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

    ClickHouse Cloud 服务连接按钮

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

    ClickHouse Cloud HTTPS 连接信息

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

  2. 下载并安装 Tableau Desktop

  3. 按照 clickhouse-tableau-connector-jdbc 的说明,下载兼容版本的 ClickHouse JDBC 驱动

  1. 将 JDBC 驱动放到以下文件夹中 (根据操作系统选择;如果文件夹不存在,可以自行创建) :
    • macOS: ~/Library/Tableau/Drivers
    • Windows: C:\Program Files\Tableau\Drivers
  2. 在 Tableau 中配置 ClickHouse 数据源,然后开始构建数据可视化!

在 Tableau 中配置 ClickHouse 数据源

现在你已经安装并配置好了 clickhouse-jdbc 驱动,接下来看看如何在 Tableau 中定义一个数据源,以连接到 ClickHouse 中的 TPCD 数据库。

  1. 启动 Tableau。 (如果它已经在运行,请先重启。)

  2. 在左侧菜单中,点击 To a Server 部分下的 More。在可用连接器列表中搜索 ClickHouse by ClickHouse

显示连接器选择菜单且高亮 ClickHouse by ClickHouse 选项的 Tableau 连接界面

  1. 点击 ClickHouse by ClickHouse,随后会弹出以下对话框:
显示 ClickHouse JDBC 连接器详细信息和安装按钮的 Tableau 连接器安装对话框

  1. 点击 Install and Restart Tableau。重启应用程序。
  2. 重启后,该连接器将显示其完整名称:ClickHouse JDBC by ClickHouse, Inc.。点击它后,会弹出以下对话框:
Tableau 中的 ClickHouse 连接对话框,显示 server、port、database、username 和 password 字段

  1. 输入连接详细信息:

    设置
    Server 你的 ClickHouse 主机名 (不带任何前缀或后缀)
    Port 8443
    Database default
    Username default
    Password ******

  1. 点击 Sign In 按钮后,你应该会看到一个新的 Tableau 工作簿:
显示初始连接界面和数据库选择选项的新 Tableau 工作簿

  1. Schema 下拉菜单中选择 TPCD,你应该会看到 TPCD 中的表列表:
Tableau schema 选择界面,显示 TPCD 数据库中的表,包括 CUSTOMER、LINEITEM、NATION、ORDERS 等

现在你已经可以在 Tableau 中构建一些可视化了!

在 Tableau 中创建可视化

现在我们已经在 Tableau 中配置好了 ClickHouse 数据源,接下来就来将数据可视化……

  1. CUSTOMER 表拖到工作簿中。注意,列已经显示出来了,但数据表还是空的:
将 CUSTOMER 表拖到画布后的 Tableau 工作簿,显示列标题但没有数据

  1. 点击 Update Now 按钮后,CUSTOMER 中的 100 行数据就会填充到表中。

  2. ORDERS 表拖入工作簿,然后将 Custkey 设置为这两个表之间的关联字段:

Tableau 关系编辑器,显示使用 Custkey 字段连接 CUSTOMER 和 ORDERS 表

  1. 现在,ORDERSLINEITEM 表已经作为你的数据源关联起来了,因此你可以利用 这种关系来回答与数据相关的问题。选择工作簿底部的 Sheet 1 选项卡。
Tableau 工作表,显示可用于分析的 ClickHouse 表中的维度和度量

  1. 假设你想了解每年订购了多少特定商品。将 ORDERS 中的 OrderDate 拖到 Columns 区域 (横向字段) ,然后将 LINEITEM 中的 Quantity 拖到 Rows。Tableau 会 生成如下折线图:
Tableau 折线图,显示 ClickHouse 数据中按年份统计的订购数量

这并不是一张特别精彩的折线图,不过这个数据集是由脚本生成、专门用于测试查询性能的,所以 你会发现 TCPD 数据中的模拟订单变化并不大。

  1. 假设你想了解按季度统计的平均订单金额 (美元) ,以及按运输方式 (空运、邮件、海运、 卡车等) 细分的结果:

    • 点击 New Worksheet 选项卡以创建新工作表
    • ORDERS 中的 OrderDate 拖到 Columns 中,并将其从 Year 改为 Quarter
    • LINEITEM 中的 Shipmode 拖到 Rows

你应该会看到如下内容:

Tableau 交叉表视图,以季度为列、运输方式为行

  1. Abc 值只是用来暂时填补空白区域,直到你将某个指标拖到表中。将 Totalprice 从 * ORDERS* 拖到表上。注意,默认计算方式是对 Totalprices 执行 SUM
Tableau 交叉表,显示按季度和运输方式统计的总订单金额之和

  1. 点击 SUM,将 Measure 改为 Average。在同一个下拉菜单中,选择 Format,然后将 Numbers 改为 Currency (Standard)
Tableau 交叉表,显示按季度和运输方式统计的平均订单金额,并采用货币格式

做得好!你已经成功将 Tableau 连接到 ClickHouse,也为分析和可视化 ClickHouse 数据 打开了更广阔的空间。

手动安装连接器

如果您使用的 Tableau Desktop 版本较旧,默认未包含该连接器,可以按照以下步骤手动安装:

  1. Tableau Exchange 下载最新的 taco 文件
  2. 将 taco 文件放到以下位置:
    • macOS: ~/Documents/My Tableau Repository/Connectors
    • Windows: C:\Users\[Windows User]\Documents\My Tableau Repository\Connectors
  3. 重启 Tableau Desktop。若安装成功,您将在 New Data Source 部分看到该连接器。

连接与分析提示

如需进一步了解如何优化 Tableau 与 ClickHouse 的集成, 请参阅连接提示分析提示

测试

该连接器目前使用 TDVT 框架 进行测试,当前覆盖率为 97%。

摘要

您可以使用通用的 ODBC/JDBC ClickHouse 驱动程序将 Tableau 连接到 ClickHouse。不过,此连接器可简化连接设置流程。如果您在使用该连接器时遇到任何问题,欢迎通过 GitHub 与我们联系。

Navigation