kinit Hive业务用户
MRS 3. x及之后版本集群请使用如下命令
export HADOOP_HOME=/opt/client/HDFS/hadoop export HIVE_HOME=/opt/client/Hive/Beeline export HCAT_HOME=$HIVE_HOME/../HCatalog
export
LIB_JARS=$HCAT_HOME/lib/hive-hcatalog-core-3.1.0-mrs-2.0.jar,$HCAT_HOME/lib/hive-metastore-3.1.0-mrs-2.0.jar,$HIVE_HOME/lib/hive-exec-3.1.0-mrs-2.0.jar,$HCAT_HOME/lib/libfb303-0.9.3.jar,
$HCAT_HOME/lib/slf4j-api-1.7.10.jar,$HCAT_HOME/lib/antlr-2.7.7.jar,$HCAT_HOME/lib/jdo-api-3.0.1.jar,
$HCAT_HOME/lib/antlr-runtime-3.4.jar,$HCAT_HOME/lib/datanucleus-api-jdo-3.2.6.jar,$HCAT_HOME/lib/
datanucleus-core-3.2.10.jar,$HCAT_HOME/lib/datanucleus-rdbms-3.2.9.jar
export HADOOP_CLASSPATH=$HCAT_HOME/lib/hive-hcatalog-core-3.1.0-mrs-2.0.jar:$HCAT_HOME/lib/
hive-metastore-3.1.0-mrs-2.0.jar:$HIVE_HOME/lib/hive-exec-3.1.0-mrs-2.0.jar:$HCAT_HOME/lib/
libfb303-0.9.3.jar:$HADOOP_HOME/etc/hadoop:$HCAT_HOME/conf:$HCAT_HOME/lib/slf4j-api-1.7.10.jar:
$HCAT_HOME/lib/antlr-2.7.7.jar:$HCAT_HOME/lib/jdo-api-3.0.1.jar:$HCAT_HOME/lib/antlr-runtime-3.4.jar:
$HCAT_HOME/lib/datanucleus-api-jdo-3.2.6.jar:$HCAT_HOME/lib/datanucleus-core-3.2.10.jar:
$HCAT_HOME/lib/datanucleus-rdbms-3.2.9.jar MRS 3.x之前版本集群请使用如下命令
export HADOOP_HOME=/opt/client/HDFS/hadoop export HIVE_HOME=/opt/client/Hive/Beeline export HCAT_HOME=$HIVE_HOME/../HCatalog
export LIB_JARS=$HCAT_HOME/lib/hive-hcatalog-core-1.3.0.jar,$HCAT_HOME/lib/hive-metastore-1.3.0.jar,
$HIVE_HOME/lib/hive-exec-1.3.0.jar,$HCAT_HOME/lib/libfb303-0.9.3.jar,$HCAT_HOME/lib/slf4j-api-1.7.5.jar,
$HCAT_HOME/lib/antlr-2.7.7.jar,$HCAT_HOME/lib/jdo-api-3.0.1.jar,$HCAT_HOME/lib/antlr-runtime-3.4.jar,
$HCAT_HOME/lib/datanucleus-api-jdo-3.2.6.jar,$HCAT_HOME/lib/datanucleus-core-3.2.10.jar,
$HCAT_HOME/lib/datanucleus-rdbms-3.2.9.jar
export HADOOP_CLASSPATH=$HCAT_HOME/lib/hive-hcatalog-core-1.3.0.jar:$HCAT_HOME/lib/hive-metastore-1.3.0.jar:$HIVE_HOME/lib/hive-exec-1.3.0.jar:$HCAT_HOME/lib/libfb303-0.9.3.jar: 例如: kinit hiveuser
机机用户:kinit -kt <user.keytab路径> <MRS集群用户>
例如:kinit -kt /opt/hive_examples/conf/user.keytab hiveuser 说明
2. 使用Hive客户端,在beeline中创建源表t1:create table t1(col1 int);
执行insert into t1(col1) values(X);命令向t1中分别插入如下数据,X表示待插 入数据的值。
3. 创建目的表t2:create table t2(col1 int,col2 int);
步骤5 使用YARN客户端提交任务。
yarn --config $HADOOP_HOME/etc/hadoop jar
$HCAT_CLIENT/hive-examples-1.0.jar com.huawei.bigdata.hive.example.HCatalogExample -libjars
$LIB_JARS t1 t2
步骤6 运行结果查看,运行后t2表数据如下所示。
0: jdbc:hive2://192.168.1.18:24002,192.168.1.> select * from t2;
+---+---+--+
| t2.col1 | t2.col2 | +---+---+--+
| 1 | 3 | | 2 | 2 | | 3 | 1 |
+---+---+--+
----结束
4.5 Hive 接口
4.5.1 JDBC
Hive JDBC接口遵循标准的JAVA JDBC驱动标准,详情请参见JDK1.7 API。
说明
Hive作为数据仓库类型数据库,其并不能支持所有的JDBC标准API。例如事务类型的操作:
rollback、setAutoCommit等,执行该类操作会产生“Method not supported”的 SQLException异常。
4.5.2 HiveQL
HiveQL支持当前使用的MRS Hive与对应开源Hive版本中的所有特性,详情请参见
https://cwiki.apache.org/confluence/display/hive/languagemanual。MRS Hive
版本与开源Hive版本的对应关系如表4-5所示。表4-5 MRS Hive 与开源版本对应关系一览表
MRS版本 开源Hive版本
MRS 1.9.x 2.3.3
4.5.3 WebHCat
说明
● 以下示例的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat HTTP端口。
● 除“:version”、“status”、“version”、“version/hive”、“version/hadoop”以外,
其他API都需要添加user.name参数。
:version(GET)
● 描述
查询WebHCat支持的返回类型列表。
● URL
http://www.myserver.com/templeton/:version
● 参数
参数 描述
:version WebHCat版本号(当前必须是v1)。
● 返回结果
参数 描述
responseTypes WebHCat支持的返回类型列表。
● 例子
curl -ik -u : --negotiate 'http://10.64.35.144:9111/templeton/v1' 说明
● 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
● 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager 管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。
status (GET)
● 描述
获取当前服务器的状态
● URL
http://www.myserver.com/templeton/v1/status
● 参数 无
● 返回结果
参数 描述
status WebChat连接正常,返回OK。
version 字符串,包含版本号,比如v1。
● 例子
curl -ik -u : --negotiate 'http://10.64.35.144:9111/templeton/v1/status' 说明
● 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
● MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 >
Hive > 服务配置”中“templeton.port”配置。
● 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager 管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。
version (GET)
● 描述
获取服务器WebHCat的版本
● URL
http://www.myserver.com/templeton/v1/version
● 参数 无
● 返回结果
参数 描述
supportedVersions 所有支持的版本
version 当前服务器WebHCat的版本
● 例子
curl -ik -u : --negotiate 'http://10.64.35.144:9111/templeton/v1/version' 说明
● 示例中的IP为WebHCat所在节点的业务IP,端口为安装时设置的WebHCat端口。
● MRS 1.9.2及之后版本默认端口为9111。详见MRS Manager管理界面“服务管理 >
Hive > 服务配置”中“templeton.port”配置。
● 示例中的协议类型在普通集群中为“http”,安全集群为“https”。详见MRS Manager 管理界面“服务管理 > Hive > 服务配置”中“templeton.protocol.type”配置。