GP加载和卸载数据之一外部表--有更新版本!

本文详细介绍了Greenplum(GP)数据库中使用外部表进行数据加载和卸载的操作过程,重点关注如何创建和管理外部表,以及这种高效的数据交换方式。
摘要由CSDN通过智能技术生成
7.0. 方式
在gp中提供了几种方式用于加载和卸载数据:external tables、gpload、copy等等,这几种方式没有优劣之分,只是在不同场景下使用不同的技术而已。
7.1. 外部表
本文将首先测试使用外部表的方式进行加载和卸载数据。
外部表-external tables,分为只读readable和只写writable两种类别,而每种又可以分为常规regular和web两种类型。在外部表可以并行的查询、关联或者排序等等,视图也是可以基于外部表创建的,只是只读外部表只能select,只写外部表只能insert。
只读的常规regular和web外部表的区别是前者可以重读而后者无法重读。
和oracle当中的外部表类似,但是比oracle提供了更多中的协议方式,oracle当中只有平面文件file这种协议,而gp中提供了以下几种连接协议方式供外部表使用:gpfdist、gpfdists、file、gphdfs,gpfdists只是gpfdist的加密升级版,而且在使用上还有一些限制和配置负责,因此不多介绍。
首先介绍的是gpfdist协议的外部表,这个程序在master安装完后自带就存在的,在$GPHOME/bin目录下,在需要的时候手工启动,当然你也可以直接将这程序copy到别的机器上然后启动就可以充当外部表的服务器了。
7.1.0. gpfdist
[gpadmin@o564gtser1 gpfdist]$ ls /usr/local/greenplum-db/bin/gpfdist -l
-rwxr-xr-x 1 gpadmin gpadmin 819994 01-30 06:31 /usr/local/greenplum-db/bin/gpfdist
几个常用的参数:
-d 指定目录
-p 指定端口
-l 指定日志文件
[gpadmin@o564gtser1 gpfdist]$ pwd
/home/gpadmin/gpfdist
[gpadmin@o564gtser1 gpfdist]$ gpfdist -d ./ -p 8001 -l ./gpfdist.log &
[1] 4382
[gpadmin@o564gtser1 gpfdist]$ [2013-04-30 21:46:21] [WRN gpfdist.c:2049] Creating the socket failed

Serving HTTP on port 8001, directory /home/gpadmin/gpfdist

[gpadmin@o564gtser1 gpfdist]$ jobs
[1]+  Running                 gpfdist -d ./ -p 8001 -l ./gpfdist.log &
上面我手工启动了一个gpfdist服务器,目录是/home/gpadmin/gpfdist,端口8001,日志文件是/home/gpadmin/gpfdist/gpfdist.log,将下来我们将生产一个文本文件e1.txt,并手工输入一些记录,然后我们从数据库中创建一个外部表读取这些记录。
[gpadmin@o564gtser1 gpfdist]$ cat e1.txt
1001    'gtlions'       18
1002    'keven' 19
1003    'keyte' 32
1004    'leon.lee'      35

[gpadmin@o564gtser1 ~]$ psql -U gtlions gtlions
psql (8.2.15)
Type "help" for help.
--创建外部表e1
gtlions=# create external table e1 (id smallint,name varchar(30),age smallint) location ('gpfdist://o564gtser1:8001/e1.txt') format 'text';         
CREATE EXTERNAL TABLE
--读取外部表的数据
gtlions=# select * from e1;
  id  |    name    | age
------+------------+-----
 1001 | 'gtlions'  |  18
 1002 | 'keven
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值