hive ——HPLSQL安装
一、简要介绍
目前版本的Hive中没有提供类似存储过程的功能,使用Hive做数据开发时候,一般是将一段一段的HQL语句封装在Shell或者其他脚本中,然后以命令行的方式调用,完成一个业务或者一张报表的统计分析。好消息是,现在已经有了Hive存储过程的解决方案(HPL/SQL –Procedural SQL on Hadoop),并且在未来的Hive的版本(2.0)中,会将该模块集成进来。该解决方案不仅支持Hive,还支持在SparkSQL,其他NoSQL,甚至是RDBMS中使用类似于Oracle PL/SQL的功能,这将极大的方便数据开发者的工作,Hive中很多之前比较难实现的功能,现在可以很方便的实现,比如自定义变量、基于一个结果集的游标、循环等等。
二、安装包下载地址
从http://www.hplsql.org/download下载最新版本HPL/SQL 0.3.11安装包。
三、安装配置
#tar -zxvf hplsql-0.3.31.tar.gz -C /home/hadoop/bigdataApp #cd /home/hadoop/bigdataApp/hplsql-0.3.31 #修改hplsql启动脚本 vim hplsql #根据自己的机器实际的安装情况配置如下:(我的配置如下) export "HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_HOME/hadoop/*" export "HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_HOME/lib/*" export "HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_HOME/etc/hadoop" export "HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_HOME/share/hadoop/mapreduce/*" export "HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_HOME/share/hadoop/mapreduce/lib/*" export "HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_HOME/share/hadoop/hdfs/*" export "HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_HOME/share/hadoop/hdfs/lib/*" export "HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_HOME/share/hadoop/yarn/*" export "HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_HOME/share/hadoop/yarn/lib/*" export "HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*" export "HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/conf" export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib/native" SCRIPTPATH=${0%/*} java -cp $SCRIPTPATH:$HADOOP_CLASSPATH:$SCRIPTPATH/hplsql-0.3.31.jar:$SCRIPTPATH/antlr-runtime-4.5.jar $HADOOP_OPTS org.apache.hive.hplsql.Hplsql "$@" #配置环境变量,hplsqlq的运行依赖于自己的两个jar包,所以要把jar配置到hadoop_classpath下,也就是在现有的环境变量配置文件下添加如下配置:(我的配置如下) #vim ~/.bash_profile #set for hplsql HPLSQL_HOME=/home/hadoop/bigdataApp/hplsql-0.3.31 export HPLSQL_HOME export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HPLSQL_HOME/antlr-runtime-4.5.jar:$HPLSQL_HOME/hplsql-0.3.31.jar #source ~/.bash_profile #修改配置文件,主要修改hive-site.xml ,hplsql-site.xml 这两个文件 cd $HIVE_HOME/conf vim hive-site.xml #添加如下内容 <property> <name>hive.server2.thrift.bind.host</name> <value>172.17.101.12</value> </property> <property> <name>hive.server2.thrift.port</name> <value>10000</value> </property> <property> <name>hive.metastore.schema.verification</name> <value>true</value> </property> # cd $HPLSQL_HOME #vim hplsql-site.xml #修改如下内容 <property> <name>hplsql.conn.default</name> <value>hive2conn</value> <description>The default connection profile</description> </property> <property> <name>hplsql.conn.hiveconn</name> <value>org.apache.hive.jdbc.HiveDriver;jdbc:hive2://172.17.101.12:1000</value> <description>HiveServer2 JDBC connection (embedded mode)</description> </property>
#创建连接到HIVE_HOME/bin
#ln -s /home/hadoop/bigdataApp/hplsql-0.3.31/hplsql /home/hadoop/hive-1.1.0-cdh5.5.2/bin/hplsql
#启动hiveServer2
#$HIVE_HOME/bin/hiveserver2 &
#测试是否安装成功
# cd $HPLSQL_HOME
#./hplsql -e "CURRENT_DATE + 1"
#./hplsql -e "FOR i IN 1 .. 10 LOOP PRINT i; END LOOP;"
#在测试过程中我出现如下问题
Error: Could not find or load main class org.apache.hive.hplsql.Hplsql --这是由于配置的hplsql的两个依赖jar包配置有问题,以上安装已经是经验证后的正确安装步骤,完全可以解决该问题了
最后预祝你安装成功,每天学习一点点,日积月累,相信你会发生质的改变,在学的道路上,贵在坚持。。。。。。学习我一直在路上,终生只做一枚学生。。。。
参考文章:http://lxw1234.com/archives/2015/09/492.htm
一醉方休的开源世界