连接Tableau到ClickHouse
ClickHouse提供了一个官方的Tableau连接器,可在 Tableau Exchange找到。 该连接器基于ClickHouse的先进 JDBC驱动程序。
通过此连接器,Tableau将ClickHouse数据库和表集成作为数据源。要启用此功能, 请按照下面的设置指南进行操作。
使用前所需的设置
-
收集您的连接详细信息
要通过 HTTP(S) 连接到 ClickHouse,您需要以下信息:
-
HOST 和 PORT:通常,当使用 TLS 时,端口为 8443;当不使用 TLS 时,端口为 8123。
-
数据库名称:开箱即用时,有一个名为
default
的数据库,请使用您要连接的数据库名称。 -
用户名和密码:开箱即用时,用户名为
default
。请使用适合您用例的用户名。
您的 ClickHouse Cloud 服务详细信息可在 ClickHouse Cloud 控制台中找到。 选择您要连接的服务并点击 Connect:
选择 HTTPS,详细信息会在示例
curl
命令中提供。如果您使用的是自管理的 ClickHouse,连接详细信息由您的 ClickHouse 管理员设置。
-
-
下载并安装 Tableau desktop。
-
按照
clickhouse-tableau-connector-jdbc
的说明下载兼容版本的 ClickHouse JDBC驱动程序。
确保您下载clickhouse-jdbc-x.x.x-shaded-all.jar JAR文件。目前,我们建议使用版本0.8.X
。
- 将JDBC驱动程序存储在以下文件夹中(根据您的操作系统,如果文件夹不存在,您可以创建它):
- macOS:
~/Library/Tableau/Drivers
- Windows:
C:\Program Files\Tableau\Drivers
- macOS:
- 在Tableau中配置ClickHouse数据源,并开始构建数据可视化!
在Tableau中配置ClickHouse数据源
现在您已经安装并设置好clickhouse-jdbc
驱动程序,接下来让我们看看如何定义一个连接到ClickHouse中TPCD数据库的数据源。
-
启动Tableau。(如果您已经在运行它,请重新启动。)
-
在左侧菜单中,单击To a Server部分下的More。在可用连接器列表中搜索ClickHouse by ClickHouse:

在连接器列表中看不到ClickHouse by ClickHouse连接器?这可能与旧版的Tableau Desktop有关。 为了解决这个问题,考虑升级您的Tableau Desktop应用程序,或手动安装连接器。
- 单击ClickHouse by ClickHouse,将弹出以下对话框:

- 单击Install and Restart Tableau。重启应用程序。
- 重启后,连接器的完整名称将为:
ClickHouse JDBC by ClickHouse, Inc.
。单击它时将弹出以下对话框:

-
输入您的连接详细信息:
设置 值 服务器 您的ClickHouse主机(无前缀或后缀) 端口 8443 数据库 default 用户名 default 密码 ****
在使用ClickHouse云时,需要勾选SSL复选框以进行安全连接。
我们的ClickHouse数据库命名为TPCD,但您必须在上面的对话框中将数据库设置为default,然后在下一步中选择TPCD作为模式。 (这很可能是由于连接器中的一个bug,因此这个行为可能会改变,但现在您必须将default用作为数据库。)
- 单击Sign In按钮,您应该会看到一个新的Tableau工作簿:

- 从Schema下拉菜单中选择TPCD,您应该会看到TPCD中的表列表:

您现在可以在Tableau中构建一些可视化了!
在Tableau中构建可视化
现在您在Tableau中配置了ClickHouse数据源,让我们可视化这些数据...
- 将CUSTOMER表拖动到工作簿中。注意,列显示,但是数据表为空:

-
单击Update Now按钮,CUSTOMER中的100行将填充到表中。
-
将ORDERS表拖入工作簿,然后将Custkey设置为两个表之间的关系字段:

- 现在您有ORDERS和LINEITEM表相互关联作为您的数据源,因此您可以利用这个关系回答有关数据的问题。选择工作簿底部的Sheet 1选项卡。

- 假设您想知道每年订购了多少特定的物品。将OrderDate从ORDERS拖入Columns部分(水平字段),然后将Quantity从LINEITEM拖入Rows。Tableau将生成以下折线图:

这不是一个非常吸引人的折线图,但数据集是由脚本生成并构建用于测试查询性能的,因此您会注意到模拟的TCPD数据的订单变化不多。
-
假设您想知道每季度及按运输方式(空运、邮件、船运、卡车等)的平均订单金额(以美元计):
- 单击New Worksheet选项卡以创建新工作表
- 将OrderDate从ORDERS拖入Columns并将其从Year更改为Quarter
- 将Shipmode从LINEITEM拖入Rows
您应该会看到以下内容:

- Abc值只是填充空间,直到您将度量拖入表中。将Totalprice从ORDERS拖到表中。注意默认计算会对Totalprices进行SUM:

- 单击SUM并将Measure更改为Average。从相同的下拉菜单中,选择Format并将Numbers更改为Currency (Standard):

干得好!您已经成功将Tableau连接到ClickHouse,并为分析和可视化您的ClickHouse数据打开了一个全新的可能性世界。
手动安装连接器
如果您使用的是不包含连接器的过时Tableau Desktop版本,您可以通过以下步骤手动安装它:
- 从Tableau Exchange下载最新的taco文件
- 将taco文件放置在
- macOS:
~/Documents/My Tableau Repository/Connectors
- Windows:
C:\Users\[Windows User]\Documents\My Tableau Repository\Connectors
- macOS:
- 重启Tableau Desktop,如果您的设置成功,您将在
New Data Source
部分下设置连接器。
连接和分析提示
有关优化您的Tableau-ClickHouse集成的更多指导, 请访问Connection Tips和Analysis Tips。
测试
该连接器正在使用TDVT框架进行测试,目前保持97%的覆盖率。
摘要
您可以使用通用的ODBC/JDBC ClickHouse驱动程序将Tableau连接到ClickHouse。但是,此 连接器简化了连接设置过程。如果您在使用该连接器时遇到任何问题,请随时在GitHub上联系。