通过 JDBC 与 Tableau 对接


数据联邦服务支持在 Tableau 中调用 JDBC 接口,读取数据源中的数据。本章节介绍如何通过 JDBC 与 Tableau 对接。

前提条件

  1. 已安装 Tableau Desktop 版本(建议安装2020.1及以上版本)

  2. 已创建数据联邦通道并授权应用

配置步骤

  1. 将数据联邦 JDBC 驱动 jar 包从 maven 仓库下载到本地。maven 依赖如下:

    <groupId>com.envisioniot</groupId>
    <artifactId>enos-datafederation-jdbc</artifactId>
    <version>0.0.1</version>
    
  2. 将数据联邦 JDBC 驱动 jar 包复制到 Tableau 安装路径的 Drivers 目录下,各操作系统的路径一般为:

    Windows:C:\Program Files\Tableau\Drivers
    Mac:~/Library/Tableau/Drivers
    Linux: /opt/tableau/tableau_driver/jdbc
    

    更多信息,参见 Tableau帮助文档

  3. 启动 Tableau,在 连接 页面中,点击 其他数据库(JDBC)

    _images/tableau_jdbc.png
  4. 完成数据源连接的以下配置:

    • 用户名:输入已授权应用的 Access Key。

    • 密码:输入已授权应用的 Secret Key。

    • URL:输入数据联邦通道的JDBC URL(从 联邦通道管理 页面,在对应读通道的 操作 列中,选择 … > 获取地址,复制通道的 JDBC URL),并在复制的 JDBC URL后加上 dbEscapeNeeded=false 参数。例如 jdbc:datafederation://{domain_name}/data-federation/v2.0/channels/read/{channel_id}?orgId={orgId}&dbEscapeNeeded=false

    _images/tableau_jdbc_setting.png
  5. 点击 登录,连接数据源,完成数据查询。拖拽需要使用的数据表,对数据进行加载转换等处理。如下图所示:

    _images/tableau_jdbc_result.png
  6. 使用自定义SQL语句,展示数据报表。参考以下示例:

    select a.user_id, a.sex, a.age, a.province, b.invest_date, b.loan_name, b.invest_amount from mysql196.tableau.`user` a join mysql196.tableau.`trance` b on a.user_id=b.user_id
    
    _images/tableau_jdbc_visualization.png