1、HAWQ基本安裝自帶gpfdist協議web
gpfdist是HAWQ支持的外部表訪問協議之一,這是hawq自帶的一個簡單的集成http服務命令。數據庫
在個人前述安裝hawq以後,gpfdist命令位於hawq的bin目錄之中。/opt/gpadmin/apache-hawq/bin/gpfdistapache
gpfdist使用說明很簡單,且看:oop
[root@ep-bd01 ~]# /opt/gpadmin/apache-hawq/bin/gpfdist --help gpfdist -- file distribution web server usage: gpfdist [--ssl <certificates_directory>] [-d <directory>] [-p <http(s)_port>] [-l <log_file>] [-t <timeout>] [-v | -V] [-m <maxlen>][-c file] gpfdist [-? | --help] | --version -?, --help : print this screen -v : verbose mode -V : more verbose -p port : port to serve HTTP(S), default is 8080 -d dir : serve files under the specified directory, default is '.' -l logfn : log filename -t tm : timeout in seconds -m maxlen : max data row length expected, in bytes. default is 32768 --ssl dir : start HTTPS server. Use the certificates from the specified directory -c file : configuration file for transformations --version : print version information
這裏我只關心-d和-p兩個命令行參數this
2、gpfdist服務簡單使用spa
1,啓動gpfdist服務命令行
gpfdist不像pxf協議那麼麻煩,因爲他只是服務於本機目錄,因此只要在數據目錄所在的主機上啓動gpfdist,hawq便可訪問了。code
[root@ep-bd01 ~]# /opt/gpadmin/apache-hawq/bin/gpfdist -p8809 -d/var/data/ext Serving HTTP on port 8809, directory /var/data/ext
2,準備數據文件orm
1)創建本地路徑/var/data/ext/yxbwserver
2)路徑放置從hdfs文件系統中複製過來的用sqoop從其餘數據庫系統的數據表導入的數據文件,而且導入時啓用了--compress參數,因此數據文件是gz壓縮格式,這個gpfdist協議能夠直接訪問。
[root@ep-bd01 pxf]# hdfs dfs -copyToLocal /var/data/ext/table1/* /var/data/ext/table1/. [root@ep-bd01 pxf]# ll /var/data/ext/table1/ 總用量 152 -rw-r--r--. 1 root root 69503 9月 10 09:45 part-m-00000.gz -rw-r--r--. 1 root root 41334 9月 10 09:45 part-m-00001.gz -rw-r--r--. 1 root root 24035 9月 10 09:45 part-m-00002.gz -rw-r--r--. 1 root root 14345 9月 10 09:45 part-m-00003.gz -rw-r--r--. 1 root root 0 9月 10 09:45 _SUCCESS
3,創建hawq外部表
注意,gpfdist路徑中的table1路徑是相對於gpfdist服務啓動時經過參數"-d"指定的數據路徑的。
create external table ext.table1 (occur_time date, ......) location ('gpfdist://ep-bd01:8081/table1') format 'text'(delimiter ',' null '');
4,訪問外部表
epbd=> select count(*) from ext.table1; count ------- 6288 (1 row) Time: 258.015 ms