本文为您介绍在E-MapReduce集群提交Hive SQL的两种方式。

方式一:通过Hive客户端

  • 普通模式,提交方式如下所示。
    hive
    返回信息如下所示。
    Logging initialized using configuration in file:/etc/ecm/hive-conf-2.3.5-2.0.3/hive-log4j2.properties Async: true
    Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
  • 当集群有高安全选项时,提交方式如下所示。
    1. 执行如下命令进行认证。
      kinit -kt /etc/ecm/hive-conf/hive.keytab hive/emr-header-1.cluster-xxx@EMR.xxx.COM

      本文示例中的xxx,您可以在emr-header-1上通过命令hostname获取。

      您也可以通过用户管理功能创建用户,在连接Hive前使用 kinit 用户名并输入密码,即可通过新建的用户使用Hive客户端。创建用户详情请参见 用户管理
      1. 执行如下命令进行认证。
        kinit 用户名
      2. 根据提示输入用户的密码。
        Password for 用户名@EMR.xxx.COM:
    2. 连接Hive。
      hive
      返回信息如下所示。
      Logging initialized using configuration in file:/etc/ecm/hive-conf-2.3.5-2.0.3/hive-log4j2.properties Async: true
      Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.

方式二:通过Beeline

  • 普通模式,提交方式如下所示。
    beeline -u jdbc:hive2://emr-header-1:10000
    返回信息如下所示。
    Connecting to jdbc:hive2://emr-header-1:10000
    Connected to: Apache Hive (version 2.3.5)
    Driver: Hive JDBC (version 2.3.5)
    Transaction isolation: TRANSACTION_REPEATABLE_READ
    Beeline version 2.3.5 by Apache Hive
    0: jdbc:hive2://emr-header-1:10000>
  • 当集群有高安全选项时,通过以下步骤提交。
    1. 执行如下命令进行认证。
      kinit -kt /etc/ecm/hive-conf/hive.keytab hive/emr-header-1.cluster-xxx@EMR.xxx.COM

      本文示例中的xxx,您可以在emr-header-1上通过命令hostname获取。

      您也可以通过用户管理功能创建用户,在连接Beeline前使用 kinit 用户名并输入密码,即可通过新建用户使用Beeline客户端。创建用户详情请参见 用户管理
      1. 执行如下命令进行认证。
        kinit 用户名
      2. 根据提示输入用户的密码。
        Password for 用户名@EMR.xxx.COM:
    2. 连接Beeline。
      beeline -u "jdbc:hive2://emr-header-1:10000/;principal=hive/emr-header-1.cluster-xxx@EMR.xxx.COM"
      说明 jdbc链接串需要用双引号括起来。
      返回信息如下。
      Connecting to jdbc:hive2://emr-header-1:10000/;principal=hive/emr-header-1.cluster-202618@EMR.202618.COM
      Connected to: Apache Hive (version 2.3.5)
      Driver: Hive JDBC (version 2.3.5)
      Transaction isolation: TRANSACTION_REPEATABLE_READ
      Beeline version 2.3.5 by Apache Hive
      0: jdbc:hive2://emr-header-1:10000/>