hive sql 怎么实现循环_Hive存储过程实现-hpsql
1. 什么是hpsql
目前版本的hive中沒有提供類似存儲(chǔ)過程的功能,使用Hive做數(shù)據(jù)開發(fā)時(shí)候,一般是將一段一段的HQL語句封裝在Shell或者其他腳本中,然后以命令行
的方式調(diào)用,完成一個(gè)業(yè)務(wù)或者一張報(bào)表的統(tǒng)計(jì)分析。好消息是,現(xiàn)在已經(jīng)有了Hive存儲(chǔ)過程的解決方案(HPL/SQL –Procedural SQL on?hadoop),并
且在未來的Hive的版本(2.0)中,會(huì)將該模塊集成進(jìn)來。該解決方案不僅支持Hive,還支持在SparkSQL,其他NoSQL,甚至是RDBMS中使用類似于
Oracle?PL/SQL的功能,這將極大的方便數(shù)據(jù)開發(fā)者的工作,Hive中很多之前比較難實(shí)現(xiàn)的功能,現(xiàn)在可以很方便的實(shí)現(xiàn),比如自定義變量、基于一個(gè)結(jié)果集的游標(biāo)、循環(huán)等等。
2. 安裝配置hpsql
2.1 下載軟件
也可以從我的云盤下載 ??鏈接是:https://pan.baidu.com/s/1i5mTBEH?密碼是:xbf
2.2 安裝配置hpsql
mkdir /opt/hpsql
tar -zxf ?hplsql-0.3.17.tar.gz -C /opt/hpsql
2.2.1 進(jìn)入hplsql安裝目錄,配置 HADOOP_CLASSPATH
vi hplsql
2.2.2 進(jìn)入hive安裝目錄,配置和啟動(dòng)Hive的thrift服務(wù)HiveServer2
啟動(dòng)HiveServer2:
nohup hive --service hiveserver2 > hiveserver2.log 2>&1 &
2.2.3?配置HPL/SQL與Hive的連接
vi?hplsql-site.xml
2.3?使用hplsql執(zhí)行HPL/SQL語句
2.3.1 使用-e 命令在命令行窗口直接運(yùn)行
2.3.2 使用-f 命令運(yùn)行腳本
創(chuàng)建測(cè)試表people
創(chuàng)建測(cè)試腳本
執(zhí)行語句
2.3.3 存儲(chǔ)過程調(diào)用
第一步,按如下格式創(chuàng)建存儲(chǔ)過程
use database;
create procedure
begin
......
end;
第二步,按如下方式調(diào)用存儲(chǔ)過程
include path/sp name
call?sp name;
示例如下:
此處省略邏輯部分......
創(chuàng)建完成以后,調(diào)用運(yùn)行,查看執(zhí)行結(jié)果
總結(jié)
以上是生活随笔為你收集整理的hive sql 怎么实现循环_Hive存储过程实现-hpsql的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不愿意和别人打交道_参加完孩子学校的运动
- 下一篇: efishell无法开机shell_开机