使用 Hive JDBC 驱动程序 - Amazon EMR
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Hive JDBC 驱动程序

您可以将常用商业智能工具 EMR 如 Microsoft Excel、MicroStrategy、QlikView 和 Tableau) 与结合使用来探索和显示您的数据。许多这类工具都需要 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 隧道。Replace 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 会话中,使用创建到群集主节点的 SSH 隧道 (使用本地端口转发)10000对于 来说为源端口master-public-dns-name:10000对于 来说为目的地。将 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.HS2Driver确定

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

  6. 当您返回到选择连接配置文件对话框中,验证驱动程序字段设置为Hive JDBC并将以下 JDBC 连接字符串提供到URL字段:jdbc:hive2://localhost:10000/default

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

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