一、HAWQ基本安装自带gpfdist协议
gpfdist是HAWQ支持的外部表访问协议之一,这是hawq自带的一个简单的集成http服务命令。
在我的前述安装hawq之后,gpfdist命令位于hawq的bin目录之中。/opt/gpadmin/apache-hawq/bin/gpfdist
gpfdist使用说明很简单,且看:
[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两个命令行参数
二、gpfdist服务简单使用
1,启动gpfdist服务
gpfdist不像pxf协议那么麻烦,由于他只是服务于本机目录,所以只要在数据目录所在的主机上启动gpfdist,hawq即可访问了。
[root@ep-bd01 ~]# /opt/gpadmin/apache-hawq/bin/gpfdist -p8809 -d/var/data/ext
Serving HTTP on port 8809, directory /var/data/ext
2,准备数据文件
1)建立本地路径/var/data/ext/yxbw
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
来源:oschina
链接:https://my.oschina.net/u/4269305/blog/3834592