通过fuse使greenplum外部表能使用HDFS上的文件
2011-06-02 17:33
357 查看
虽然在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 &
[gpadmin1@hadoop5 ~]$ psql
psql (8.2.15)
Type "help" for help.
aligputf8=# create external table t1_ext(
aligputf8(# id1 int,
aligputf8(# id2 int
aligputf8(# )
aligputf8-# Location (
aligputf8(# 'gpfdist://hadoop5:8888/1.dat'
aligputf8(# )
aligputf8-# Format 'TEXT' (delimiter as E',' null as '' escape 'OFF')
aligputf8-# Encoding 'gb18030' Log errors into t1_err segment reject limit 1000 rows ;
CREATE EXTERNAL TABLE
aligputf8=# select * from t1_ext;
id1 | id2
-----+-----
1 | 2
3 | 4
5 | 6
(3 rows)
aligputf8=#
OK,是可以查到数据的
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 &
[gpadmin1@hadoop5 ~]$ psql
psql (8.2.15)
Type "help" for help.
aligputf8=# create external table t1_ext(
aligputf8(# id1 int,
aligputf8(# id2 int
aligputf8(# )
aligputf8-# Location (
aligputf8(# 'gpfdist://hadoop5:8888/1.dat'
aligputf8(# )
aligputf8-# Format 'TEXT' (delimiter as E',' null as '' escape 'OFF')
aligputf8-# Encoding 'gb18030' Log errors into t1_err segment reject limit 1000 rows ;
CREATE EXTERNAL TABLE
aligputf8=# select * from t1_ext;
id1 | id2
-----+-----
1 | 2
3 | 4
5 | 6
(3 rows)
aligputf8=#
OK,是可以查到数据的
相关文章推荐
- Greenplum(4.3.8.2)使用GPHDFS协议创建外部表访问CDH5.7.0环境的HDFS文件系统
- 在Greenplum外部表中使用HDFS
- 使用.pgpass密码文件,通过psql登录greenplum
- greenplum通过hdfs访问外部表
- GreenPlum 使用gpload通过gpfdist文件实现数据高速加载
- hadoop学习之-使用ODCH工具实现oralce外部表访问HDFS数据文件
- 8.Spring学习笔记_使用外部属性文件(by尚硅谷_佟刚)
- spring使用外部属性文件
- 在QTP中,经常会遇到需要写入外部文件的地方,比如写Log什么的,这时,可以使用下面代码进行写Txt操作。
- 使用Eclipse通过连接数据库生成实体类和映射文件
- 使用js加载器动态加载外部Javascript文件
- [BAT][JAVA]定时任务之-Quartz使用篇(通过这个配置可以知道在做Quartz的时候需要的jar文件/Cron表达式使用语法/常用Cron表达式)
- Spring-7:使用外部属性文件
- CDH hadoop-hdfs-fuse的安装使用
- Learning Spark笔记13-基于分区工作、通过管道使用外部程序、数字RDD操作
- 通过ajax加载外部json文件,并实现加载照片
- 通过jQuery Ajax使用FormData对象上传文件
- 腾讯云 CentOS7 使用FileZilla通过SFTP快速实现文件上传