環境要求:
Java 1.6 及以上版本
Hadoop 1.x 或 2.x版本
本例環境資訊:
Linux version:CentOS release 6.8 (Final)
Hadoop version:hdp 2.4.0.0-169
Java version:jre-1.8.0-openjdk.x86_64
下載下傳hpl/sql安裝包
下載下傳完成後上傳到linux平台
解壓安裝包并安裝到/opt:
tar -zvxf hplsql-0.3.31.tar.gz -C /opt
in -s /opt/hplsql-0.3.31 /opt/hplsql
解壓後包含以下檔案
hplsql
hplsql.cmd
hplsql-x.x.x.jar
hplsql-site.xml
antlr-runtime-4.5.jar
修改權限:
chmod +x /opt/hplsql
配置CLASSPATH
cd /opt/hplsql
vi hplsql
如果是hadoop為CDH
删除hplsql檔案中所有的export “HADOOP_CLASSPATH=…”
添加export “HADOOP_CLASSPATH=/opt/cloudera/parcels/CDH/jars/*”
如果是hadoop為HDP
檢查/usr/hdp/x.x.x.x-x目錄,并修改hplsql檔案中所有的export “HADOOP_CLASSPATH=…”路徑為/usr/hdp/x.x.x.x-x對應的路徑。
其他版本的hadoop,請檢查/usr/lib下是否有hadoop的jars,并在phlsql檔案做對應的修改。
測試是否安裝成功
/opt/hplsql –version
./hplsql –version
如果以上指令能傳回hplsql的版本資訊,則表示安裝成功。
添加hplsql到PATH變量
export PATH=$PATH:/opt/hplsql
設定PATH後就可以直接通過hplsql指令調用HPL/SQL
Hplsql <option>
配置
vi hplsql-site.xml
修改
<property>
<name>hplsql.conn.init.hive2conn</name>
<value></value>
</property>
為:
<value>
set mapred.job.queue.name=dev;
set hive.execution.engine=mr;
use sales_db;
</value>
運作HPL/SQL
hplsql -e “CURRENT_DATE+1”
hplsql -e “SELECT * FROM src LIMIT 1”
hplsql -f script.sql
在shell腳本中使用HPL/SQL
從HPL/SQL腳本中擷取一個值
MDATE=$(hplsql -e “NVL(MIN_PARTITION_DATE(sales,local_dt,code=’A’),’1970-01-01’)”)
START=$(hplsql -e ‘CURRENT_DATE – 1’)
本文轉自 天黑順路 51CTO部落格,原文連結:http://blog.51cto.com/mjal01/2067249,如需轉載請自行聯系原作者