更新时间:2024-03-27 GMT+08:00
分享

HCatalog样例工程运行及结果查看

HCatalog样例工程的运行

  1. 在IntelliJ IDEA主界面右侧,单击“Maven Projects”,在“Maven Projects”界面执行“项目名称 > Lifecycle”目录下的“clean”和“compile”脚本。

  2. 在IDEA界面左下方找到Terminal,单击进入终端,执行mvn clean install进行编译

    当输出“BUILD SUCCESS”,表示编译成功,如下图所示。编译成功后将会在样例工程的target下生成含有“hcatalog-example-*.jar”包。

    以上jar包名称仅供参考,具体名称以实际生成为主。

  3. 将上一步在样例工程下的target下生成的“hcatalog-example-*.jar”上传至Linux的指定路径,例如“/opt/hive_client”,记作$HCAT_CLIENT,并确保已经安装好Hive和YARN客户端。运行环境变量使HCAT_CLIENT生效。

    export HCAT_CLIENT=/opt/hive_client 

  4. 执行以下命令用于配置环境变量信息(以客户端安装路径为/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”

  5. 运行前准备:

    1. 使用Hive客户端,在beeline中创建源表t1: create table t1(col1 int);

      向t1中插入如下数据:

          +----------+--+ 
          | t1.col1  | 
          +----------+--+ 
          | 1        | 
          | 1        | 
          | 1        | 
          | 2        | 
          | 2        | 
          | 3        |     
    2. 创建目的表t2:create table t2(col1 int,col2 int);

  6. 使用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
  7. 运行结果查看,运行后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        | 
     +----------+----------+--+     

分享:

    相关文档

    相关产品