虽然在GREENPLUM 4.1版本已经支持直接外部表读、写HDFS上的文件了,不过有时候可能并不如使用本地磁盘一样方便,这个时候也许你就需要看看FUSE了。
1、首先进入$HADOOP_HOME/fuse-dfs目录下,执行如下命令通过FUSE把HDFS挂在到本地目录上
./fuse_dfs_wrapper.sh dfs://hadoop5:9000 /home/gpadmin1/joe.wangh/hive/hive
2、下面随便造一个文本文件,并把它PUT到HDFS中
[gpadmin1@hadoop5 ~]$ hadoop fs -ls /
Found 5 items
drwxr-xr-x - gpadmin1 supergroup 0 2011-06-02 17:02 /gp
drwxr-xr-x - gpadmin1 supergroup 0 2011-06-01 11:37 /hive
drwxr-xr-x - gpadmin1 supergroup 0 2011-05-31 11:45 /home
drwxr-xr-x - gpadmin1 supergroup 0 2011-05-30 16:20 /tmp
drwxr-xr-x - gpadmin1 supergroup 0 2011-05-30 16:19 /user
[gpadmin1@hadoop5 ~]$ cat 1.dat
1,2
3,4
5,6
[gpadmin1@hadoop5 ~]$ hadoop fs -put 1.dat /gp
3、启动gpfdist服务,创建外部表,指定相应的文本文件
nohup gpfdist -d /home/gpadmin1/joe.wangh/hive/hive/gp -p 8888 &