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_typecodec使用了默认的压缩选项,下面的命令是等效的。

=# 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连接器时省略端口号。