真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用hive存儲過程

這篇文章給大家分享的是有關(guān)如何使用hive存儲過程的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營銷推廣、網(wǎng)站重做改版、鐘樓網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5技術(shù)商城系統(tǒng)網(wǎng)站開發(fā)、集團公司官網(wǎng)建設、外貿(mào)營銷網(wǎng)站建設、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為鐘樓等各大城市提供網(wǎng)站開發(fā)制作服務。

1、hive存儲過程簡介1.x版本的hive中沒有提供類似存儲過程的功能,使用Hive做數(shù)據(jù)開發(fā)時候,一般是將一段一段的HQL語句封裝在Shell或者其他腳本中,然后以命令行的方式調(diào)用,完成一個業(yè)務或者一張報表的統(tǒng)計分析。好消息是,現(xiàn)在已經(jīng)有了Hive存儲過程的解決方案(HPL/SQL –Procedural SQL on hadoop),并且在未來的Hive的版本(2.0)中,會將該模塊集成進來。該解決方案不僅支持Hive,還支持在SparkSQL,其他NOSQL,甚至是RDBMS中使用類似于Oracle PL/SQL的功能,這將極大的方便數(shù)據(jù)開發(fā)者的工作,Hive中很多之前比較難實現(xiàn)的功能,現(xiàn)在可以很方便的實現(xiàn),比如自定義變量、基于一個結(jié)果集的游標、循環(huán)等等。

2、hplsql安裝和存儲過程案例

下載:

官網(wǎng)下載地址:http://www.hplsql.org/download

0.3.31版本下載地址:http://www.hplsql.org/downloads/hplsql-0.3.31.tar.gz

安裝hplsql:

[root@hadoop01 home]# tar -zxvf /home/hplsql-0.3.31.tar.gz -C /usr/local/

[root@hadoop01 home]# cd /usr/local/hplsql-0.3.31/

配置hplsql:

vi ./hplsql

內(nèi)容如下:

#!/bin/bash

export "HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_HOME/lib/*"

export "HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_CONF_DIR/"

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:$HADOOP_HOME/share/hadoop/common/*"

export "HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_HOME/share/hadoop/common/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 "$@"

配置hive2的服務:

vi ./conf/hive-site.xml

追加內(nèi)容如下:

  

    hive.server2.thrift.bind.host

    hadoop01

  

  

    hive.server2.thrift.port

    10000

  

重啟hiveserver2:

nohup hive --service hiveserver2 > hiveserver2.log 2>&1 &

配置HPL/SQL與Hive的連接:

vi ./hplsql-site.xml

如何使用hive存儲過程

使用hplsql -e執(zhí)行命令:

[root@hadoop01 hplsql-0.3.31]# ./hplsql -e "CURRENT_DATE + 1"

2019-09-18

[root@hadoop01 hplsql-0.3.31]# ./hplsql -e "for i in 1 .. 10 loop print i;end loop;"

hplsql -f執(zhí)行腳本:

測試表:

hive>select * from qf24.u5;

OK

7       yy

3       cc

2       bb

創(chuàng)建腳本hp.sql

create function hello(text string)

returnS string

BEGIN

RETRUEN 'Hello,' || text || '!';

END;

FOR item IN(

SELECT id,name FROM qf24.u5 limit 3

)

loop

        println item.id || '|' || item.name || '|' || hello(item.name);

end loop;

測試:

[root@hadoop01 hplsql-0.3.31]# ./hplsql -f /home/hivedata/hp.sql

7|yy|Hello,yy!

3|cc|Hello,cc!

2|bb|Hello,bb!

創(chuàng)建存儲過程的格式:

use database;

create procedure

begin

......

end;

調(diào)用存儲過程:

include path/sp name

call sp name;

案例:

創(chuàng)建存儲過程:

use qf24;

create procedure select_u5()

begin

select * from qf24.u5;

end;

調(diào)用:

include 文件路徑   (在代碼文件中引入)

執(zhí)行執(zhí)行文件:

[root@hadoop01 hplsql-0.3.31]# ./hplsql -f /home/hivedata/ps.sql

調(diào)用指定存儲過程或者方法:

[root@hadoop01 hplsql-0.3.31]# ./hplsql -f /home/hivedata/ps.sql -main select_u5

感謝各位的閱讀!關(guān)于“如何使用hive存儲過程”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!


當前標題:如何使用hive存儲過程
當前地址:http://weahome.cn/article/gsijsd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部