Amazon EMR
Amazon EMR 版本指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

使用 Hive JDBC 驱动程序

您可以将常用商业智能工具 (如 Microsoft Excel、MicroStrategy、QlikView 和 Tableau) 与 Amazon EMR 结合使用来探索和显示您的数据。许多这类工具都需要 Java 数据库连接 (JDBC) 驱动程序或开放式数据库连接 (ODBC) 驱动程序。Amazon EMR 支持 JDBC 和 ODBC 连接。

以下示例演示了如何使用 SQL Workbench/J 作为 SQL 客户端,与 Amazon EMR 中的 Hive 集群连接。有关其他驱动程序的更多信息,请参阅将商业智能工具与 Amazon EMR 结合使用

在安装和使用 SQL Workbench/J 之前,请下载驱动程序包并安装驱动程序。程序包中的驱动程序支持 Amazon EMR 发布版本 4.0 及更高版本中提供的 Hive 版本。如需详细的发布说明和文档,请参阅程序包中的 PDF 文档。

安装和配置 SQL Workbench

  1. http://www.sql-workbench.net/downloads.html 下载适用于您的操作系统的 SQL Workbench/J 客户端。

  2. 安装 SQL Workbench/J。有关更多信息,请参阅 SQL Workbench/J 用户手册中的安装并启动 SQL Workbench/J

  3. Linux、Unix、Mac OS X 用户:在终端会话中,使用下面的命令创建到集群主节点的 SSH 隧道。将 master-public-dns-name 替换为主节点的公有 DNS 名称,将 path-to-key-file 替换为您的 Amazon EC2 私有密钥 (.pem) 文件的位置和文件名。

    ssh -o ServerAliveInterval=10 -i path-to-key-file -N -L 10000:localhost:10000 hadoop@master-public-dns-name

    Windows 用户:在 PuTTY 会话中,使用 1000 作为 Source port (源端口) 以及 master-public-dns-name:10000 作为 Destination (目标) 创建到集群主节点的 SSH 隧道 (使用本地端口转发)。将 master-public-dns-name 替换为主节点的公有 DNS 名称。

  4. 将 JDBC 驱动程序添加到 SQL Workbench.

    1. Select Connection Profile (选择连接配置文件) 对话框中,单击 Manage Drivers (管理驱动程序)

    2. 单击 Create a new entry (创建新条目) (空白页) 图标。

    3. Name (名称) 字段中,键入 Hive JDBC

    4. 对于 Library (库),请单击 Select the JAR file(s) (选择 JAR 文件) 图标。

    5. 浏览至包含解压的驱动程序的位置,选择以下 JAR 文件并单击 Open (打开)

      hive_metastore.jar hive_service.jar HiveJDBC41.jar libfb303-0.9.0.jar libthrift-0.9.0.jar log4j-1.2.14.jar ql.jar slf4j-api-1.5.11.jar slf4j-log4j12-1.5.11.jar TCLIServiceClient.jar zookeeper-3.4.6.jar
    6. Please select one driver (请选择一个驱动程序) 对话框中,选择 com.amazon.hive.jdbc41.HS2DriverOK (确定)。

  5. 当您返回到 Manage Drivers (管理驱动程序) 对话框时,确认 Classname (类名) 字段已经填写,然后选择 OK (确定)。

  6. 当您返回到 Select Connection Profile (选择连接配置文件) 对话框时,验证 Driver (驱动程序) 字段是否设置为 Hive JDBC,然后在 URL 字段中提供以下 JDBC 连接字符串:jdbc:hive2://localhost:10000/default

  7. 选择 OK (确定) 进行连接。连接完成后,连接详细信息将显示在 SQL Workbench/J 窗口顶部。

有关使用 Hive 和 JDBC 界面的详细信息,请参阅 Apache Hive 文档中的 HiveClientHiveJDBCInterface