gphdfs://协议

gphdfs://协议

gphdfs://协议指定一个位于Hadoop分布式文件系统(HDFS)上的外部文件路径。该协议允许指定Hadoop集群(是否配置有Hadoop HA(高可用)都可以)和MapR集群中的文件。文件名可以包含通配符并且文件可以是CSVTEXT或者自定义格式。

当Greenplum与HDFS文件链接时,所有的数据并行地从HDFS数据节点读入到Greenplum的Segment用于快速处理。Greenplum决定Segment和节点之间的连接。

每一个Greenplum的Segment读取一组Hadoop数据块。对于写操作,每个Greenplum的Segment只写它包含的数据。下面的图展示了位于一个HDFS文件系统上的外部表。

图 1. 位于一个Hadoop分布式文件系统上的外部表

FORMAT子句描述外部表文件的格式。可用的文件格式类似于PostgreSQL的COPY命令的格式化选项,还有用于gphdfs协议的用户定义格式。如果文件中的数据没有使用默认的列定界符、转义字符、空串等等,用户必须指定额外的格式化选项,这样Greenplum数据库才能正确地读取外部文件中的数据。gphdfs协议要求一种一次性设置,请见一次性HDFS协议安装