• 沒有找到結果。

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”配置。