是否可以使用 GPHDFS 从 Greenplum 一次指向多个 Hadoop 集群?

Posted

技术标签:

【中文标题】是否可以使用 GPHDFS 从 Greenplum 一次指向多个 Hadoop 集群?【英文标题】:Is it possible to point to multiple Hadoop clusters at a time from Greenplum using GPHDFS? 【发布时间】:2019-05-02 12:26:47 【问题描述】:

我们有一个 Greenplum 环境,目前我们已配置 gphdfs 以启用 Greenplum 在 HDFS 上的数据写入。需要为不同的用户写入不同的 HDFS。是否可以为不同的用户配置不同的gphdfs配置,从而根据用户的不同,将数据写入其对应配置的HDFS?

预期结果: 从用户 1 开始,当我创建 WRITABLE EXTERNAL 表时, Location 属性看起来像, 位置('gphdfs://hdfs_1_for_user1:8020/path/')

从用户 2 开始,当我创建 WRITABLE EXTERNAL 表时,Location 属性看起来像, 位置('gphdfs://hdfs_2_for_user2:8020/path/')

【问题讨论】:

【参考方案1】:

如果您使用的是 Greenplum 5+ 版本,则可以使用 PXF 访问 Hadoop 集群。在 PXF 中,您可以创建不同的服务器配置,以便每个用户可以访问不同的 HDFS 集群。

例如:

CREATE EXTERNAL TABLE my_table_on_hdfs_cluster_1 (...) 
LOCATION('pxf://my/path/on/hdfs/cluster/1?PROFILE=hdfs:text&SERVER=hdfs1')
FORMAT 'TEXT';

对于第二个集群:

CREATE EXTERNAL TABLE my_table_on_hdfs_cluster_2 (...) 
LOCATION('pxf://my/path/on/hdfs/cluster/2?PROFILE=hdfs:text&SERVER=hdfs2')
FORMAT 'TEXT';

但是,您需要不同的外部表来访问每个 HDFS 集群。

您可以在此处找到有关 PXF 的更多信息:https://gpdb.docs.pivotal.io/5180/pxf/access_hdfs.html

【讨论】:

另外,我忘了提到 gphdfs 在 Greenplum 6 中已被弃用。 谢谢弗兰克,PXF 会很有帮助的。

以上是关于是否可以使用 GPHDFS 从 Greenplum 一次指向多个 Hadoop 集群?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用greenplum外部表访问hadoop hdfs

使用 MapReduce 或 Sqoop 将数据加载到 Greenplum DB

Greenplum错误-输入路径不存在

使用可写外部表卸载数据

Greenplum 与远程 Hadoop 连接

气流 <--> Greenplum