将 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.jar JAR 文件。目前,我们建议使用版本 0.4.6
。
- 将 JDBC 驱动程序存储在以下文件夹中(根据您的操作系统,如果文件夹不存在,您可以创建它)
- macOS:
~/Library/Tableau/Drivers
- Windows:
C:\Program Files\Tableau\Drivers
- macOS:
- 在 Tableau 中配置 ClickHouse 数据源,并开始构建数据可视化!
在 Tableau 中配置 ClickHouse 数据源
现在您已经安装并设置了 clickhouse-jdbc
驱动程序,让我们看看如何在 Tableau 中定义连接到 ClickHouse 中 TPCD 数据库的数据源。
-
启动 Tableau。(如果您已经运行了它,请重新启动。)
-
从左侧菜单中,单击 连接到服务器 部分下的 更多。在可用连接器列表中搜索 ClickHouse by ClickHouse
在您的连接器列表中没有看到 ClickHouse by ClickHouse 连接器?这可能与旧版本的 Tableau Desktop 有关。要解决此问题,请考虑升级您的 Tableau Desktop 应用程序,或手动安装连接器。
-
单击 ClickHouse by ClickHouse,将弹出以下对话框
-
单击 安装并重启 Tableau。重启应用程序。
-
重启后,连接器将具有完整的名称:
ClickHouse JDBC by ClickHouse, Inc.
。单击它时,将弹出以下对话框 -
输入您的连接详细信息
设置 值 服务器 您的 ClickHouse 主机(不带前缀或后缀) 端口 8443 数据库 default 用户名 default 密码 ****
当使用 ClickHouse Cloud 时,需要启用 SSL 复选框以进行安全连接。
我们的 ClickHouse 数据库名为 TPCD,但您必须在上面的对话框中将 Database(数据库) 设置为 default,然后在下一步中为 Schema(模式) 选择 TPCD。(这可能是连接器中的一个错误,因此这种行为可能会改变,但目前您必须使用 default 作为数据库。)
-
单击 Sign In(登录) 按钮,您应该会看到一个新的 Tableau 工作簿
-
从 Schema(模式) 下拉列表中选择 TPCD,您应该会看到 TPCD 中的表列表
您现在可以开始在 Tableau 中构建一些可视化了!
在 Tableau 中构建可视化
现在您已经在 Tableau 中配置了 ClickHouse 数据源,让我们可视化数据...
-
将 CUSTOMER 表拖到工作簿上。请注意,列会显示,但数据表为空
-
单击 立即更新 按钮,CUSTOMER 中的 100 行将填充该表。
-
将 ORDERS 表拖到工作簿中,然后将 Custkey 设置为两个表之间的关系字段
-
您现在已将 ORDERS 和 LINEITEM 表相互关联作为您的数据源,因此您可以使用此关系来回答有关数据的问题。选择工作簿底部的 Sheet 1(工作表 1) 选项卡。
-
假设您想知道每年订购了多少特定商品。将 OrderDate(订单日期) 从 ORDERS 拖到 Columns(列) 部分(水平字段),然后将 Quantity(数量) 从 LINEITEM 拖到 Rows(行)。Tableau 将生成以下折线图
不是一个非常令人兴奋的折线图,但数据集是由脚本生成的,并且是为测试查询性能而构建的,因此您会注意到 TCPD 数据的模拟订单中没有太多变化。
-
假设您想知道按季度以及按运输方式(空运、邮件、轮船、卡车等)的平均订单金额(美元)
- 单击 新建工作表 选项卡创建一个新工作表
- 将 OrderDate(订单日期) 从 ORDERS 拖到 Columns(列) 并将其从 Year(年) 更改为 Quarter(季度)
- 将 Shipmode(运输方式) 从 LINEITEM 拖到 Rows(行)
您应该看到以下内容
-
Abc 值只是填充空间,直到您将度量拖到表上。将 Totalprice(总价) 从 * ORDERS* 拖到表上。请注意,默认计算是 SUM(求和) Totalprices(总价)
-
单击 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,如果您的设置成功,您将在
新建数据源
部分下设置连接器。
连接和分析提示
有关优化 Tableau-ClickHouse 集成的更多指导,请访问 连接提示 和 分析提示。
测试
该连接器正在使用 TDVT 框架 进行测试,目前保持 97% 的覆盖率。
总结
您可以使用通用的 ODBC/JDBC ClickHouse 驱动程序将 Tableau 连接到 ClickHouse。但是,此连接器简化了连接设置过程。如果您对连接器有任何疑问,请随时在 GitHub 上提出。