hive的存储过程 hplsql配置

hive2.x自带hplsql
如果用的hive1.x需要下载hplsql

1.配置 hplsql-site.xml

在hive的conf下新建 hplsql-site.xml 并添加以下内容


<configuration>
<property>
  <name>hplsql.conn.default</name>
  <value>hive2conn</value>
  <description>The default connection profile</description>
</property>
<property>
  <name>hplsql.conn.hive2conn</name>
  <!--设置自己的主机名,设置用户名密码(随意写)-->
 <value>org.apache.hive.jdbc.HiveDriver;jdbc:hive2://hadoop01:10000;root;123</value>
</property>
<property>
  <name>hplsql.conn.init.hiveconn2</name>
  <value>
     set mapred.job.queue.name=dev;
     set hive.execution.engine=mr;
     use default;
  </value>
</property>
<property>
  <name>hplsql.conn.convert.hive2conn</name>
  <value>true</value>
</property>
<property>
  <name>hplsql.conn.mysqlconn</name>
  <!--设置自己的主机名,设置自己mysql的用户名,密码-->
  <value>com.mysql.jdbc.Driver;jdbc:mysql://hadoop01:3306/hive;root;root</value>
  <description>MySQL connection</description>
</property>
<property>
  <name>hplsql.dual.table</name>
  <value>default.dual</value>
  <description>Single row, single column table for internal operations</description>
</property>
<property>
  <name>hplsql.insert.values</name>
  <value>default.dual</value>
  <description>Single row, single column table for internal operations</description>
</property>
<property>
  <name>hplsql.insert.values</name>
  <value>native</value>
  <description>How to execute INSERT VALUES statement: native (default) and select</description>
</property>
<property>
  <name>hplsql.onerror</name>
  <value>exception</value>
  <description>Error handling behavior: exception (default), seterror and stop</description>
</property>
<property>
  <name>hplsql.temp.tables</name>
  <value>native</value>
  <description>Temporary tables: native (default) and managed</description>
</property>
<property>
  <name>hplsql.temp.tables.schema</name>
  <value></value>
  <description>Schema for managed temporary tables</description>
</property>
<property>
  <name>hplsql.temp.tables.location</name>
  <value>/tmp/plhql</value>
  <description>LOcation for managed temporary tables in HDFS</description>
</property>
</configuration>

2. 配置hadoop下的core-site.xmi

vim $HADOOP_HOME/etc/hadoop/core-site.xml
添加以下内容

<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>

3. 使用hplsql 执行命令

  • 3.1 使用hplsql -e
hplsql -e "CURRENT_DATE + 1"
hplsql -e "for i in 1..10 loop print i;end loop"
  • 3.2 使用hplsql -f
vi ps.sql  写入以下内容

use db_name;
create procedure procedure_name()
begin
select * from db_name.tb_name;
end;

--------------------------------
执行:
 hplsql -f /root/hiveshell/ps.sql -main peocedure_name;
  • 3.3 创建存储过程的格式
use db_name;
create procedure procedure_name()
begin
sql commmand...
end;
  • 3.4 调用存储过程

include 存储过程路径 call procedure_name

eg:
vi ps1.sql  写入以下内容

include /root/hiveshell/ps.sql
call procedure_name();

--------------------------------------
执行:
hplsql -f /root/hiveshell/ps1.sql
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值