跳到主要内容
跳到主要内容

连接 Tableau 到 ClickHouse

ClickHouse 提供了一个官方的 Tableau 连接器, featured on the Tableau Exchange。 该连接器基于 ClickHouse 的高级 JDBC driver

通过这个连接器,Tableau 可以将 ClickHouse 数据库和表作为数据源进行集成。要启用此功能,请遵循下面的设置指南。

使用前所需的设置

  1. 收集您的连接详细信息

    要通过 HTTP(S) 连接到 ClickHouse,您需要以下信息:

    • 主机端口:通常,当使用 TLS 时端口为 8443,当不使用 TLS 时端口为 8123。

    • 数据库名称:开箱即用时,有一个名为 default 的数据库,请使用您要连接的数据库名称。

    • 用户名密码:开箱即用时,用户名为 default。请使用适合您用例的用户名。

    您的 ClickHouse Cloud 服务的详细信息可在 ClickHouse Cloud 控制台中获得。 选择您要连接的服务并点击 连接

    ClickHouse Cloud 服务连接按钮

    选择 HTTPS,详细信息可在示例的 curl 命令中获得。

    ClickHouse Cloud HTTPS 连接详细信息

    如果您使用的是自管理的 ClickHouse,连接详细信息由您的 ClickHouse 管理员设置。

  2. 下载并安装 Tableau desktop

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

备注

确保您下载 clickhouse-jdbc-X.X.X-all-dependencies.jar JAR 文件。此工件从版本 0.9.2 开始可用。

  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

Tableau 连接屏幕显示连接器选择菜单,并突出显示 ClickHouse by ClickHouse 选项

备注

在您的连接器列表中没有看到 ClickHouse by ClickHouse 连接器?这可能与旧版本的 Tableau Desktop 有关。 为了解决此问题,请考虑升级您的 Tableau Desktop 应用程序,或者 手动安装连接器

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

  1. 点击 Install and Restart Tableau。重启应用程序。
  2. 重新启动后,连接器将以其全名出现:ClickHouse JDBC by ClickHouse, Inc.。点击它,弹出以下对话框:
Tableau 中的 ClickHouse 连接对话框显示服务器、端口、数据库、用户名和密码字段

  1. 输入您的连接详细信息:

    设置
    服务器您的 ClickHouse 主机(无前缀或后缀)
    端口8443
    数据库default
    用户名default
    密码****
备注

在使用 ClickHouse 云时,必须勾选 SSL 复选框以启用安全连接。


备注

我们的 ClickHouse 数据库名为 TPCD,但您必须在上面的对话框中将 Database 设置为 default,然后在下一步中选择 TPCD 作为 Schema。 (这可能是连接器中的一个错误,因此这种行为可能会有所改变,但当前您必须将 default 用作数据库。)

  1. 点击 Sign In 按钮,您应该会看到一个新的 Tableau 工作簿:
新的 Tableau 工作簿显示初始连接屏幕及数据库选择选项

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

您现在可以在 Tableau 中构建一些可视化了!

在 Tableau 中构建可视化

现在我们在 Tableau 中配置了 ClickHouse 数据源,让我们可视化数据...

  1. CUSTOMER 表拖到工作簿中。注意列出现,但数据表是空的:
Tableau 工作簿中拖动 CUSTOMER 表到画布上显示列标题但没有数据

  1. 点击 Update Now 按钮,CUSTOMER 中的 100 行将填充到表格中。

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

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

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

  1. 假设您想知道每年订购了多少特定商品。将 OrderDateORDERS 拖动到 Columns 区域(水平字段),然后将 QuantityLINEITEM 拖到 Rows。Tableau 将生成以下折线图:
Tableau 折线图显示来自 ClickHouse 数据按年订购的数量

这不是一张很精彩的折线图,但该数据集是通过脚本生成的,旨在测试查询性能,因此您会注意到 TCPD 数据的模拟订单变化不大。

  1. 假设您想知道按季度及运输方式(空运、邮件、船运、卡车等)计算的平均订单金额(美元):

    • 点击 New Worksheet 选项卡创建新表
    • OrderDateORDERS 拖入 Columns,并将其从 Year 更改为 Quarter
    • ShipmodeLINEITEM 拖入 Rows

您应该会看到以下内容:

Tableau 交叉表视图,季度作为列,运输模式作为行

  1. Abc 值只是填充空间,直到您拖动度量到表格上。将 TotalpriceORDERS 拖到表中。请注意默认的计算是对 Totalprices 进行 SUM
Tableau 交叉表显示按季度和运输模式的总价格总和

  1. 点击 SUM 并将 Measure 更改为 Average。从同一下拉菜单中选择 FormatNumbers 更改为 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 集成的更多指南, 请访问 Connection TipsAnalysis Tips

测试

该连接器正在通过 TDVT framework 进行测试,目前保持 97% 的覆盖率。

总结

您可以使用通用 ODBC/JDBC ClickHouse 驱动程序将 Tableau 连接到 ClickHouse。然而,这个连接器简化了连接设置流程。如果您在使用连接器时遇到任何问题,请随时在 GitHub 联系我们。