apache-hive / 3.1.1 / reference / HiveJDBCInterface.html

Hive JDBC 驱动程序

Hive 的当前 JDBC 接口仅支持运行查询和获取结果。仅支持一小部分元数据调用。

要了解如何使用 JDBC 接口,请参见sample code

与 Pentaho 集成

  • pentaho website下载 pentaho 报表设计器。

  • 使用下面提供的代码覆盖 report-designer.sh。

#!/bin/sh

HADOOP_CORE={{ls $HADOOP_HOME/hadoop-*-core.jar}}
CLASSPATH=.:$HADOOP_CORE:$HIVE_HOME/conf

for i in ${HIVE_HOME}/lib/*.jar ; do
  CLASSPATH=$CLASSPATH:$i
done

CLASSPATH=$CLASSPATH:launcher.jar

echo java -XX:MaxPermSize=512m -cp $CLASSPATH -jar launcher.jar
java -XX:MaxPermSize=512m -cp $CLASSPATH org.pentaho.commons.launcher.Launcher
  • 根据HiveServer的说明构建并启动配置单元服务器。

  • 编译并运行 Hive JDBCClient 端代码以加载一些数据(我还没有在报表设计器中弄清楚如何做到这一点)。有关加载数据的信息,请参见sample code

  • 运行报表设计器(请注意步骤 2)。

$ sh reporter-designer.sh
  • 选择“报表设计向导”。

  • 接下来选择一个模板-说“秋天模板”。

  • 创建一个新的数据源-JDBC(自定义),通用数据库。

  • 提供 Hive JDBC 参数。给连接起个名字“Hive”。

URL: jdbc:hive://localhost:10000/default
   Driver name: org.apache.hadoop.hive.jdbc.HiveDriver
   Username and password are empty
  • 点击“测试”。测试应该成功。

  • 编辑查询:选择“samples 查询”,单击“编辑查询”,然后单击连接“配置单元”。创建一个新查询。在表 testHiveDriverTable 上写一个查询,例如,从 testHiveDriverTable 中选择*。点击下一步。

  • 布局步骤:将PageOfPages添加到“分组依据”。将键和值添加为“选定项”。点击下一步。并完成。

  • 将报告标题更改为“ hive-pentaho-report”。将 Headers 的类型更改为“ html”。

  • 运行报告并生成 pdf。您应该在此处获得类似报告的内容。

与 SQuirrel SQL Client 集成

  • SQuirrel SQL 网站下载,安装和启动 SQuirrel SQL Client。

  • 选择“驱动程序->新驱动程序...”以注册 Hive JDBC 驱动程序。

  • Importing 驱动程序名称和示例 URL:

Name: Hive
   Example URL: jdbc:hive://localhost:10000/default
  • 选择“附加 Classpath->添加”以从本地 Hive 和 Hadoop 发行版添加以下 jar。
HIVE_HOME/build/dist/lib/*.jar
   HADOOP_HOME/hadoop-*-core.jar
  • 选择“列出驱动程序”。这将导致 SQuirrel 为 JDBC 驱动程序解析 jar 文件,可能需要花费几秒钟的时间。在“类名”Importing 框中,选择 Hive 驱动程序:
org.apache.hadoop.hive.jdbc.HiveDriver
  • 单击“确定”完成驱动程序注册。

  • 选择“别名->添加别名...”为您的 Hive 服务器创建连接别名。

  • 在“名称”Importing 框中为连接别名命名。

    • 从“驱动程序”下拉列表中选择 Hive 驱动程序。

    • 根据需要修改示例 URL,以指向您的 Hive 服务器。

    • 将“用户名”和“密码”留空,然后单击“确定”以保存连接别名。

  • 要连接到 Hive 服务器,请双击 Hive 别名,然后单击“连接”。

构建连接后,您会在日志控制台中看到错误,并且可能会收到警告,说明驱动程序与 JDBC 3.0 不兼容。这些警报是由于 JDBC 元数据 API 尚未实现的部分引起的,可以放心地忽略它们。要测试连接,请在控制台中 Importing* SHOW TABLES *,然后单击“运行”图标。

另请注意,在运行查询时,尚不支持“取消”按钮。