Amazon EMR Hadoop Hive

本文介绍如何将 Tableau 连接到 Amazon EMR (Elastic MapReduce) Hadoop Hive 数据库并设置数据源。

注意:从版本 2018.2 开始,Tableau 仅支持 Amazon EMR Hadoop Hive,而不支持 Impala。Amazon 不再提供 Impala 驱动程序。

开始之前

在开始之前,请收集以下连接信息:

  • 承载要连接到的数据库的服务器的名称以及端口号

  • 身份验证方法:

    • 无身份验证

    • Kerberos

    • 用户名

    • 用户名和密码

    • Microsoft Azure HDInsight Service(版本 10.2.1 开始)

  • 传输选项取决于您选择的身份验证方法,并且可能包括以下各项:

    • 二进制

    • SASL

    • HTTP

  • 登录凭据取决于您选择的身份验证方法,并且可能包括以下各项:

    • 用户名

    • 密码

    • 主机 FQDN

    • 服务名称

    • HTTP 路径

  • 是否要连接到 SSL 服务器?

  • (可选)要在每次 Tableau 连接时运行的初始 SQL 语句

需要驱动程序

此连接器需要驱动程序才能与数据库通信。如果计算机上未安装该驱动程序,Tableau 将在连接对话框中显示一条错误消息,其中包含指向驱动程序下载(链接在新窗口中打开)页面的链接,您可在该页面中找到驱动程序链接和安装说明。

注意:确保使用最新的可用驱动程序。若要获取最新的驱动程序,请参见“Tableau 驱动程序下载”页面上的 Amazon EMR Hadoop Hive(链接在新窗口中打开)

进行连接并设置数据源

  1. 启动 Tableau,并在“连接”下选择“Amazon EMR Hadoop Hive”。有关数据连接的完整列表,请在“至服务器”下选择“更多”。然后执行以下操作:

    1. 输入承载数据库的服务器的名称和要使用的端口号。

    2. “身份验证”下拉列表中,选择要使用的身份验证方法。提示您提供的信息取决于您选择的身份验证方法。

    3. 如果“传输”下拉列表可用,请选择要使用的传输的类型。

    4. (可选)选择“初始 SQL”以指定要在每次连接开始时(例如打开工作簿、刷新数据提取、登录到 Tableau Server 或发布到 Tableau Server 时)运行的 SQL 命令。有关详细信息,请参见运行初始 SQL

    5. 选择“登录”

      在连接到 SSL 服务器时,选中“需要 SSL”选项。

      如果 Tableau 无法建立连接,请验证您的凭据是否正确。如果仍然无法连接,则说明您的计算机在定位服务器时遇到问题。请联系您的网络管理员或数据库管理员。

  2. 在数据源页面上,执行下列操作: 

    1. (可选)在页面顶部选择默认数据源名称,然后输入要在 Tableau 中使用的唯一数据源名称。例如,使用可帮助其他数据源用户推断出要连接的数据源的数据源命名约定。

    2. “架构”下拉列表中,选择搜索图标,或在文本框中输入架构名称并选择搜索图标,然后选择架构。

    3. “表”文本框中,选择搜索图标,或输入表名称并选择搜索图标,然后选择表。

    4. 将表拖到画布,然后选择工作表标签以开始分析。

    5. 使用自定义 SQL 连接到特定查询,而非整个数据源。有关详细信息,请参见连接到自定义 SQL 查询

登录到 Mac

如果在 Mac 上使用 Tableau Desktop,则在输入服务器名称进行连接时,请使用完全限定的域名(例如 mydb.test.ourdomain.lan)而不是相对域名(例如 mydb 或 mydb.test)。

或者,可以将域添加到 Mac 计算机的“搜索域”的列表中,以便在您连接时,只需要提供服务器名称。若要更新“搜索域”的列表,请转到“系统首选项”>“网络”>“高级”,然后打开“DNS”选项卡。

使用 Hadoop Hive 数据

使用日期/时间数据

Tableau 本机支持 TIMESTAMP 和 DATE 类型。但是,如果您将日期/时间数据存储为 Hive 中的字符串,请确保以 ISO 格式 (YYYY-MM-DD) 进行存储。您可以创建使用 DATEPARSE 或 DATE 函数将字符串转换为日期/时间格式的计算字段。处理数据提取时请使用 DATEPARSE(),否则请使用 DATE()。有关详细信息,请参见日期函数

有关 Hive 数据类型的详细信息,请参见 Apache Hive 网站上的日期(链接在新窗口中打开)

返回的 NULL 值

当您在 Tableau 9.0.1 及更高版本以及 8.3.5 及更高的 8.3.x 版本中打开在早期版本中创建的工作簿,并且该工作簿以 Hive 不支持的格式将日期/时间数据存储为字符串,则会返回 NULL 值。为了解决此问题,请将字段类型重新更改为“字符串”,并创建使用 DATEPARSE() 或 DATE() 来转换日期的计算字段。处理数据提取时请使用 DATEPARSE(),否则请使用 DATE() 函数。

高度延迟限制

Hive 是面向批处理的系统,且还无法以快速的周转时间回答简单的查询。此限制使得探索新的数据集或体验计算字段变得非常困难。一些更新的 SQL-on-Hadoop 技术(如 Cloudera 的 Impala 和 Hortonworks 的 Stringer 项目等)设计为可用于解决此限制。

 

另请参见

感谢您的反馈!您的反馈已成功提交。谢谢!