跳到主要内容

Tableau

Tableau 是业界主流的商业智能(BI)与数据可视化工具。Apache Doris 兼容 MySQL 协议,因此可直接通过 Tableau 官方提供的 MySQL 连接器(基于 MySQL JDBC Driver)接入,无需额外的专属插件。

本文面向以下典型场景:

  • 已有 Apache Doris 集群,希望在 Tableau 中进行数据探查与报表开发
  • 需要将 Doris 中的明细数据或聚合结果作为 Tableau 工作簿的数据源
  • 希望通过 Tableau 看板对外输出 Doris 中的分析结果

完成本文档操作后,你将能够:

  1. 在本地环境完成 Tableau Desktop 与 MySQL JDBC 驱动的安装配置。
  2. 在 Tableau 中创建到 Apache Doris 的数据源连接。
  3. 基于 Doris 数据源在 Tableau 中构建可视化图表与看板。

前置准备

在开始之前,请确认满足以下条件:

项目要求
Apache Doris 集群可访问,且 FE 已开放 MySQL 协议端口(默认 9030
数据库账号拥有目标数据库的读取权限
Tableau Desktop已安装最新版本(下载地址
MySQL JDBC Driver8.3.0 版本(下载链接

步骤一:安装 Tableau 与 JDBC 驱动

  1. 下载并安装 Tableau Desktop

  2. 下载 MySQL JDBC Driver 8.3.0

  3. 将 JDBC 驱动 jar 包放置到 Tableau 指定的驱动目录:

    操作系统驱动放置路径
    macOS~/Library/Tableau/Drivers
    Windows%tableau_path%\Drivers\(默认 tableau_path = C:\Program Files\Tableau
  4. 重启 Tableau Desktop,使驱动生效。

步骤二:在 Tableau 中配置 Apache Doris 数据源

完成驱动安装后,可在 Tableau 中创建一个连接到 Doris(示例使用 tpch 数据库)的数据源。

1. 准备连接信息

通过 JDBC 连接 Apache Doris 所需的参数如下:

参数含义示例
ServerDoris FE 的主机地址127.0.0.1
PortDoris FE 的 MySQL 协议端口9030
Database数据库名tpch
Username用户名testuser
Password密码(根据账号填写)
Init SQL Statement连接建立后自动执行的初始化 SQLselect * from database.table

2. 创建连接

  1. 启动 Tableau Desktop(若已运行,请重启以加载驱动)。

  2. 在左侧菜单 To a Server 区域点击 More,在连接器列表中搜索 MySQL

    搜索 MySQL 连接器

  3. 点击 MySQL,弹出连接配置对话框:

    MySQL 连接配置对话框

  4. 按对话框提示填入上一步准备好的连接信息。

  5. 点击 Sign In。连接成功后,将进入新的 Tableau 工作簿:

    Tableau 工作簿

步骤三:在 Tableau 中构建可视化

下面以 TPC-H 数据集为例,演示如何基于 Doris 数据源构建可视化。TPC-H 数据的构建方式可参考 TPC-H Benchmark 文档

1. 关联数据表

  1. customer 表与 orders 表拖入工作簿,并在下方设置关联字段为 Custkey

    关联 customer 与 orders

  2. nation 表拖入工作簿,并与 customer 表设置关联字段为 Nationkey

    关联 nation 与 customer

  3. 三张表关联后,即构成一个可分析的数据源。点击工作簿底部的 Sheet 1 选项卡,进入工作台:

    进入工作台

2. 场景示例 A:每年用户量汇总(折线图)

OrderDate(来自 orders)拖入 Columns,将 customer(count)(来自 customer)拖入 Rows,Tableau 将生成折线图:

每年用户量折线图

备注

TPC-H 数据集由脚本按默认规则生成,并非真实业务数据,结果仅用于功能演示与连通性验证。

3. 场景示例 B:按地域与年份计算平均订单金额

  1. 点击 New Worksheet 创建新表。

  2. Name(来自 nation)拖入 Rows

  3. OrderDate(来自 orders)拖入 Columns

    此时表格内显示 Abc 占位值,因为尚未指定聚合度量。

  4. Totalprice(来自 orders)拖入表格中央,默认聚合方式为 SUM

    默认 SUM 聚合

  5. 点击 SUM,将 Measure 修改为 Average

    改为 Average

  6. 在同一下拉菜单选择 Format,将 Numbers 设置为 Currency (Standard)

    格式化为货币

  7. 最终得到符合预期的报表:

    最终报表

至此,已成功将 Tableau 接入 Apache Doris,并完成了数据分析与可视化看板的制作。

最佳实践

性能优化

  • 合理设计表结构:根据查询场景对 Doris 表进行分区与分桶设计,可有效减少扫描数据量并降低数据传输开销。
  • 使用物化视图:对高频聚合查询,可在 Doris 端创建物化视图,将聚合计算前置,加速 Tableau 看板响应。
  • 设置合理的刷新计划:均衡刷新频率与计算资源消耗,兼顾看板时效性与集群负载。

安全配置

  • 网络隔离:建议使用 VPC 私有连接,避免通过公网直接访问 Doris。
  • 访问控制:通过安全组限制 Doris 端口的访问来源。
  • 传输加密:启用 SSL/TLS 加密连接。
  • 最小权限原则:精细化配置 Doris 用户的角色与权限,避免过度授权。