HDFS可读和可写外部表实例

下面的代码为一个端口8081上名为filename.txt的HDFS文件定义一个可读外部表。

  1. =# CREATE EXTERNAL TABLE ext_expenses (
  2. name text,
  3. date date,
  4. amount float4,
  5. category text,
  6. desc1 text )
  7. LOCATION ('gphdfs://hdfshost-1:8081/data/filename.txt')
  8. FORMAT 'TEXT' (DELIMITER ',');

注意: 在使用gpmr-1.0-gnet-1.0.0.1连接器时省略端口号。

下面的代码定义了一组具有一种自定义格式的可读外部表,它们位于端口8081上的同一HDFS目录中。

  1. =# CREATE EXTERNAL TABLE ext_expenses
  2. LOCATION ('gphdfs://hdfshost-1:8081/data/custdat*.dat')
  3. FORMAT 'custom' (formatter='gphdfs_import');

注意: 在使用gpmr-1.0-gnet-1.0.0.1连接器时省略端口号。

下面的代码为一个端口8081上的可写外部表定义一个HDFS目录,并且指定所有的压缩选项。

  1. =# CREATE WRITABLE EXTERNAL TABLE ext_expenses
  2. LOCATION ('gphdfs://hdfshost-1:8081/data/?compress=true&compression_type=RECORD
  3. &codec=org.apache.hadoop.io.compress.DefaultCodec')
  4. FORMAT 'custom' (formatter='gphdfs_export');

注意: 在使用gpmr-1.0-gnet-1.0.0.1连接器时省略端口号。

因为前一份代码为compression_type和codec使用了默认的压缩选项,下面的命令是等效的。

  1. =# CREATE WRITABLE EXTERNAL TABLE ext_expenses
  2. LOCATION ('gphdfs://hdfshost-1:8081/data?compress=true')
  3. FORMAT 'custom' (formatter='gphdfs_export');

注意: 在使用gpmr-1.0-gnet-1.0.0.1连接器时省略端口号。

上级主题: 一次性HDFS协议安装