跳到主要内容

Apache Drill 与Tableau连接

介绍

Apache Drill 是一个开源的分布式 SQL 查询引擎,能够对多种数据源(如HDFS、HBase、MongoDB、S3等)进行实时查询。Tableau 是一个流行的数据可视化工具,能够帮助用户通过直观的图表和仪表板来分析和展示数据。将 Apache Drill 与 Tableau 连接,可以让你在 Tableau 中直接查询和分析存储在多种数据源中的数据,而无需将数据导入 Tableau 中。

本文将逐步介绍如何配置 Apache Drill 与 Tableau 的连接,并通过实际案例展示如何利用这一连接进行数据分析。

前提条件

在开始之前,请确保你已经具备以下条件:

  1. Apache Drill 已安装并运行。
  2. Tableau Desktop 已安装。
  3. 你对 SQL 和 Tableau 的基本操作有一定的了解。

配置 Apache Drill 与 Tableau 的连接

步骤 1: 配置 Apache Drill 的 ODBC 驱动

Tableau 通过 ODBC(Open Database Connectivity)与 Apache Drill 进行通信。因此,首先需要为 Apache Drill 配置 ODBC 驱动。

  1. 下载并安装 ODBC 驱动:你可以从 Apache Drill 官方网站 下载适用于你的操作系统的 ODBC 驱动。

  2. 配置 ODBC 数据源

    • 在 Windows 上,打开“ODBC 数据源管理器”。
    • 选择“系统 DSN”选项卡,然后点击“添加”。
    • 选择“Apache Drill ODBC Driver”并点击“完成”。
    • 在配置窗口中,填写以下信息:
      • Data Source Name: 任意名称,例如 Drill_DSN
      • Host: Apache Drill 的主机名或 IP 地址。
      • Port: Apache Drill 的端口号,默认是 31010
      • Authentication Type: 选择适合你的认证方式(例如,无认证或用户名/密码)。
    • 点击“测试连接”以确保配置正确,然后点击“确定”保存配置。

步骤 2: 在 Tableau 中连接 Apache Drill

  1. 打开 Tableau Desktop 并选择“连接到服务器” > “其他数据库(ODBC)”。
  2. 在“ODBC 连接”窗口中,选择你刚刚配置的 ODBC 数据源(例如 Drill_DSN)。
  3. 点击“连接”按钮,Tableau 将会连接到 Apache Drill。

步骤 3: 查询数据

连接成功后,你可以在 Tableau 中直接查询 Apache Drill 中的数据。以下是一个简单的示例:

  1. 在 Tableau 中,选择“工作表”视图。
  2. 在“数据”窗格中,选择你想要查询的表或视图。
  3. 拖拽字段到“行”或“列”中,Tableau 会自动生成 SQL 查询并在 Apache Drill 中执行。
提示

你可以通过 Tableau 的“自定义 SQL”功能编写复杂的 SQL 查询,并在 Tableau 中直接执行。

实际案例

假设你有一个存储在 MongoDB 中的销售数据集合,并且你已经通过 Apache Drill 将其映射为一个 SQL 表。现在,你希望在 Tableau 中分析这些数据。

  1. 连接 Apache Drill:按照上述步骤配置并连接到 Apache Drill。
  2. 选择数据表:在 Tableau 中选择 MongoDB 中的销售数据表。
  3. 创建可视化:拖拽“销售额”字段到“列”中,拖拽“日期”字段到“行”中,Tableau 会自动生成一个时间序列图,展示销售额随时间的变化。
sql
-- 示例 SQL 查询
SELECT `date`, SUM(`sales`) AS total_sales
FROM `mongo.sales_data`
GROUP BY `date`
ORDER BY `date`;
备注

在这个示例中,mongo.sales_data 是 Apache Drill 中映射的 MongoDB 集合。

总结

通过将 Apache Drill 与 Tableau 连接,你可以在 Tableau 中直接查询和分析存储在多种数据源中的数据,而无需将数据导入 Tableau 中。这种方法不仅节省了时间和存储空间,还使得数据分析更加灵活和高效。

附加资源

练习

  1. 尝试将 Apache Drill 连接到 Tableau,并查询一个存储在 HDFS 中的数据表。
  2. 使用 Tableau 创建一个仪表板,展示来自不同数据源(如 MongoDB 和 HDFS)的数据。

通过完成这些练习,你将更好地掌握 Apache Drill 与 Tableau 的连接和应用。