更新时间:2024-03-27 GMT+08:00
HCatalog样例工程运行及结果查看
HCatalog样例工程的运行
- 在IntelliJ IDEA主界面右侧,单击“Maven Projects”,在“Maven Projects”界面执行“项目名称 > Lifecycle”目录下的“clean”和“compile”脚本。
- 在IDEA界面左下方找到Terminal,单击进入终端,执行mvn clean install进行编译
当输出“BUILD SUCCESS”,表示编译成功,如下图所示。编译成功后将会在样例工程的target下生成含有“hcatalog-example-*.jar”包。
以上jar包名称仅供参考,具体名称以实际生成为主。
- 将上一步在样例工程下的target下生成的“hcatalog-example-*.jar”上传至Linux的指定路径,例如“/opt/hive_client”,记作$HCAT_CLIENT,并确保已经安装好Hive和YARN客户端。运行环境变量使HCAT_CLIENT生效。
export HCAT_CLIENT=/opt/hive_client
- 执行以下命令用于配置环境变量信息(以客户端安装路径为/opt/client为例):
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.jar,$HCAT_HOME/lib/hive-metastore-3.1.0.jar,$HCAT_HOME/lib/hive-standalone-metastore-3.1.0.jar,$HIVE_HOME/lib/hive-exec-3.1.0.jar,$HCAT_HOME/lib/libfb303-0.9.3.jar,$HCAT_HOME/lib/slf4j-api-1.7.30.jar,$HCAT_HOME/lib/jdo-api-3.0.1.jar,$HCAT_HOME/lib/antlr-runtime-3.5.2.jar,$HCAT_HOME/lib/datanucleus-api-jdo-4.2.4.jar,$HCAT_HOME/lib/datanucleus-core-4.1.17.jar,$HCAT_HOME/lib/datanucleus-rdbms-fi-4.1.19.jar,$HCAT_HOME/lib/log4j-api-2.10.0.jar,$HCAT_HOME/lib/log4j-core-2.10.0.jar export HADOOP_CLASSPATH=$HCAT_HOME/lib/hive-hcatalog-core-3.1.0.jar:$HCAT_HOME/lib/hive-metastore-3.1.0.jar:$HCAT_HOME/lib/hive-standalone-metastore-3.1.0.jar:$HIVE_HOME/lib/hive-exec-3.1.0.jar:$HCAT_HOME/lib/libfb303-0.9.3.jar:$HADOOP_HOME/etc/hadoop:$HCAT_HOME/conf:$HCAT_HOME/lib/slf4j-api-1.7.30.jar:$HCAT_HOME/lib/jdo-api-3.0.1.jar:$HCAT_HOME/lib/antlr-runtime-3.5.2.jar:$HCAT_HOME/lib/datanucleus-api-jdo-4.2.4.jar:$HCAT_HOME/lib/datanucleus-core-4.1.17.jar:$HCAT_HOME/lib/datanucleus-rdbms-fi-4.1.19.jar:$HCAT_HOME/lib/log4j-api-2.10.0.jar:$HCAT_HOME/lib/log4j-core-2.10.0.jar
- LIB_JARS和HADOOP_CLASSPATH中指定的jar包的版本号需要根据实际环境的版本号进行修改。如,在实际环境中“$HCAT_HOME/lib”下“hive-hcatalog-core”的jar包版本号为“3.1.0-hw-ei-302001”,则“LIB_JARS”中的“$HCAT_HOME/lib/hive-hcatalog-core-3.1.0.jar”需要改成“$HCAT_HOME/lib/hive-hcatalog-core-3.1.0-hw-ei-302001.jar”。
- 若使用Hive多实例,则在“export HIVE_HOME=/opt/client/Hive/Beeline”上进行区分。例如使用Hive1,使用前确保Hive1客户端已安装。然后将“export HIVE_HOME”的右值改为“/opt/client/Hive1/Beeline”。
- 运行前准备:
- 使用Hive客户端,在beeline中创建源表t1: create table t1(col1 int);
向t1中插入如下数据:
+----------+--+ | t1.col1 | +----------+--+ | 1 | | 1 | | 1 | | 2 | | 2 | | 3 |
- 创建目的表t2:create table t2(col1 int,col2 int);
- 使用Hive客户端,在beeline中创建源表t1: create table t1(col1 int);
- 使用YARN客户端提交任务:yarn --config $HADOOP_HOME/etc/hadoop jar $HCAT_CLIENT/hcatalog-example-1.0-SNAPSHOT.jar com.huawei.bigdata.HCatalogExample -libjars $LIB_JARS t1 t2
- 运行结果查看,运行后t2表数据如下所示:
0: jdbc:hive2://192.168.1.18:2181,192.168.1.> select * from t2; +----------+----------+--+ | t2.col1 | t2.col2 | +----------+----------+--+ | 1 | 3 | | 2 | 2 | | 3 | 1 | +----------+----------+--+
父主题: 调测程序