HDFS可读和可写外部表实例
HDFS可读和可写外部表实例
下面的代码为一个端口8081上名为filename.txt的HDFS文件定义一个可读外部表。
=# CREATE EXTERNAL TABLE ext_expenses ( name text, date date, amount float4, category text, desc1 text ) LOCATION ('gphdfs://hdfshost-1:8081/data/filename.txt') FORMAT 'TEXT' (DELIMITER ',');
注意: 在使用gpmr-1.0-gnet-1.0.0.1连接器时省略端口号。
下面的代码定义了一组具有一种自定义格式的可读外部表,它们位于端口8081上的同一HDFS目录中。
=# CREATE EXTERNAL TABLE ext_expenses LOCATION ('gphdfs://hdfshost-1:8081/data/custdat*.dat') FORMAT 'custom' (formatter='gphdfs_import');
注意: 在使用gpmr-1.0-gnet-1.0.0.1连接器时省略端口号。
下面的代码为一个端口8081上的可写外部表定义一个HDFS目录,并且指定所有的压缩选项。
=# CREATE WRITABLE EXTERNAL TABLE ext_expenses LOCATION ('gphdfs://hdfshost-1:8081/data/?compress=true&compression_type=RECORD &codec=org.apache.hadoop.io.compress.DefaultCodec') FORMAT 'custom' (formatter='gphdfs_export');
注意: 在使用gpmr-1.0-gnet-1.0.0.1连接器时省略端口号。
因为前一份代码为compression_type和codec使用了默认的压缩选项,下面的命令是等效的。
=# CREATE WRITABLE EXTERNAL TABLE ext_expenses LOCATION ('gphdfs://hdfshost-1:8081/data?compress=true') FORMAT 'custom' (formatter='gphdfs_export');
注意: 在使用gpmr-1.0-gnet-1.0.0.1连接器时省略端口号。