跳到主要内容

将 Tableau 连接到 ClickHouse

Tableau 可以使用 ClickHouse 数据库和表格作为数据源。这需要下载一个特殊的 JDBC 驱动程序并将其保存到 Tableau 可以找到的特定位置。

如何连接

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

    要使用 HTTP(S) 连接到 ClickHouse,您需要以下信息

    • HOST 和 PORT:通常,使用 TLS 时端口为 8443,不使用 TLS 时端口为 8123。

    • DATABASE NAME:默认情况下,有一个名为 default 的数据库,请使用您要连接到的数据库的名称。

    • USERNAME 和 PASSWORD:默认情况下,用户名为 default。请使用适合您的用例的用户名。

    您的 ClickHouse Cloud 服务的详细信息可在 ClickHouse Cloud 控制台中找到。选择您要连接的服务,然后点击“连接”。

    ClickHouse Cloud service connect button

    选择“HTTPS”,详细信息在示例 curl 命令中提供。

    ClickHouse Cloud HTTPS connection details

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

  2. 下载并安装 Tableau 桌面.

  3. 下载最新版本的 clickhouse-tableau-connector-jdbc TACO 连接器。

  4. 将 TACO 连接器存储在以下文件夹中(基于您的操作系统)

    • macOS:~/Documents/My Tableau Repository/Connectors
    • Windows:C:\Users[Windows 用户]\Documents\My Tableau Repository\Connectors
  5. 按照 clickhouse-tableau-connector-jdbc 指示下载兼容版本的 ClickHouse JDBC 驱动程序.

注意

确保您下载的是 clickhouse-jdbc-x.x.x-shaded.jar JAR 文件。

  1. 将 JDBC 驱动程序存储在以下文件夹中(基于您的操作系统,如果文件夹不存在,您可以创建它)
    • macOS:~/Library/Tableau/Drivers
    • Windows:C:\Program Files\Tableau\Drivers
  2. 在 Tableau 中配置 ClickHouse 数据源并开始构建数据可视化!

在 Tableau 中配置 ClickHouse 数据源

现在您已将驱动程序和连接器放置在机器上的适当文件夹中,让我们看看如何在 Tableau 中定义连接到 ClickHouse 中 TPCD 数据库的数据源。

  1. 启动 Tableau。(如果您已经运行了它,请重新启动它。)

  2. 从左侧菜单中,点击“更多”,位于“到服务器”部分下方。如果一切正常,您应该在已安装的连接器列表中看到“ClickHouse JDBC”。

    ClickHouse JDBC

  3. 点击“ClickHouse JDBC”,将会弹出一个对话框。输入您的连接详细信息

    设置
    服务器w0vdp****.europe-west4.gcp.clickhouse.cloud
    端口8443
    数据库default
    用户名default
    密码******
注意

使用 ClickHouse 云时,需要启用 SSL 复选框以确保连接安全。


您的设置应如下所示

"ClickHouse Settings"

注意

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

  1. 点击“登录”按钮,您应该会看到一个新的 Tableau 工作簿

    "New Workbook"

  2. 架构 下拉菜单中选择 TPCD,您应该会看到 TPCD 中的表格列表

    "Select TPCD for the Schema"

现在您可以开始在 Tableau 中构建可视化!

在 Tableau 中构建可视化

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

  1. CUSTOMER 表拖到工作簿中。请注意,列出现了,但数据表为空

    ""

  2. 点击“立即更新”按钮,CUSTOMER 中的 100 行将填充到表格中。

  1. ORDERS 表拖到工作簿中,然后将 Custkey 设置为两个表之间的关系字段

    ""

  2. 您现在拥有彼此关联的 ORDERSLINEITEM 表作为您的数据源,因此您可以利用这种关系来回答有关数据的问题。选择工作簿底部的 Sheet 1 选项卡。

    ""

  1. 假设您想知道每年订购了多少特定商品。将 ORDERS 中的 Orderdate 拖到 Columns 部分(水平字段),然后将 LINEITEM 中的 Quantity 拖到 Rows 部分。Tableau 将生成以下折线图

    ""

这不是一个非常有趣的折线图,但数据集是由脚本生成的,用于测试查询性能,因此您会注意到 TCPD 数据中的模拟订单变化不大。

  1. 假设您想知道按季度和运输方式(航空、邮件、海运、卡车等)的平均订单金额(以美元计)。

    • 点击“新建工作表”选项卡创建一个新工作表
    • ORDERS 中的 OrderDate 拖到 Columns 中,并将其从 Year 更改为 Quarter
    • LINEITEM 中的 Shipmode 拖到 Rows

您应该会看到以下内容

""

  1. Abc 值只是在您将度量值拖到表格中之前填充空间。将 ORDERS 中的 Totalprice 拖到表格中。请注意,默认计算是将 Totalpricess 相加。

    ""

  2. 点击 SUM 并将 Measure 更改为 Average。从同一个下拉菜单中,选择 Format,将 Numbers 更改为 Currency (Standard)

    ""

    干得好!您已成功将 Tableau 连接到 ClickHouse,并为分析和可视化 ClickHouse 数据打开了无限可能。

注意

Tableau 非常棒,我们很高兴它可以如此完美地连接到 ClickHouse!如果您是 Tableau 的新手,请 查看其文档,以获取有关构建仪表板和可视化的帮助。

总结:您可以使用通用的 ODBC/JDBC ClickHouse 驱动程序将 Tableau 连接到 ClickHouse。但是,此连接器简化了连接设置过程。如果您在使用连接器时遇到任何问题,请随时在 GitHub 上联系我们。