我们有一个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 /”)
答案 0 :(得分:0)
如果您使用的是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