我试图在greenplum(postgresql)中创建一个可写的外部表,并使用它将数据从greenplum表卸载到hdfs中。代码如下:
CREATE WRITABLE EXTERNAL TABLE test_writable
( LIKE awc_merged.delivery )
LOCATION ('gphdfs://10.63.33.201-1:8081/path')
FORMAT 'TEXT' (DELIMITER ',')
DISTRIBUTED RANDOMLY;
INSERT INTO test_writable SELECT * FROM awc_merged.delivery;
但是,我得到以下错误:
ERROR: could not write to external resource: Broken pipe (fileam.c:1386) (seg3 sdw2:40001 pid=21676) (cdbdisp.c:1457)
**********Error**********
ERROR: could not write to external resource: Broken pipe (fileam.c:1386) (seg3 sdw2:40001 pid=21676) (cdbdisp.c:1457)
SQL state: XX000
greenplum数据库和hdfs在不同的服务器上,我知道命令至少应该包含hdfs服务器的用户名和密码。有人能帮我完成这项任务的正确命令吗?
当做,
琼斯
1条答案
按热度按时间tag5nh1u1#
首先,尝试设置可读的外部表。以下是操作指南:https://support.pivotal.io/hc/en-us/articles/202635496-how-to-access-hdfs-data-via-gpdb-external-table-with-gphdfs-protocol
此示例适用于phd发行版,但可以为任何其他发行版进行自定义。一般的想法是,在每个gpdb主机上,您应该安装hdfs客户机库,并执行hdfs客户机配置(例如,您可以在gpadmin usign“hdfs dfs-ls/”下从这台计算机访问hdfs)
一般来说,设置过程在“gpdb数据库管理员指南”中有描述,可以在以下位置找到:http://gpdb.docs.pivotal.io/4330/index.html#admin_guide/load.html