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

Posted

技术标签:

【中文标题】如何使用greenplum外部表访问hadoop hdfs【英文标题】:how to access hadoop hdfs with greenplum external table 【发布时间】:2012-06-04 03:28:38 【问题描述】:

oue 数据仓库是基于 hive 的,现在我们需要将数据从 hive 转换为 greenplum,我们想使用带有 gphdfs 的外部表,但看起来有些问题。 表创建脚本是

CREATE EXTERNAL TABLE flow.http_flow_data(like flow.zb_d_gsdwal21001)
LOCATION ('gphdfs://mdw:8081/user/hive/warehouse/flow.db/d_gsdwal21001/prov_id=018/day_id=22/month_id=201202/data.txt')
FORMAT 'TEXT' (DELIMITER '      ');

当我们运行时

bitest=# select * from flow.http_flow_data limit 1;
ERROR:  external table http_flow_data command ended with error. sh: java: command not found  (seg12 slice1 sdw3:40000 pid=17778)
DETAIL:  Command: gphdfs://mdw:8081/user/hive/warehouse/flow.db/d_gsdwal21001/prov_id=018/day_id=22/month_id=201202/data.txt

我们的 hadoop 是 1.0,greenplum 是 4.1.2.1

我想知道我们是否需要配置一些东西来让 gp 访问 hadoop

【问题讨论】:

【参考方案1】:

你打开端口(8081)监听month_id=201202目录了吗?

【讨论】:

【参考方案2】:

我会仔细检查管理员指南,我认为您可以使用 gphdfs,但要等到 greenplum 4.2

【讨论】:

gpdhs 已添加到 4.1 但这是一个非常旧的版本。我认为问题在于网址显示“mdw:8081”。那应该是 Hadoop 集群的名称节点。 mdw 通常是 Greenplum 的主主机名。您还需要确保分段主机可以连接到 Hadoop 数据节点。【参考方案3】:

您是否检查过 Java 是否安装在您的 Greenplum 系统上?因为这是 gphdfs 工作所必需的。

【讨论】:

以上是关于如何使用greenplum外部表访问hadoop hdfs的主要内容,如果未能解决你的问题,请参考以下文章

如何在greenplum的报价字段中使用逗号从csv文件创建外部表?

Pivotal HDB - 如何将数据从 HAWQ 内部/外部可读表推送到 Greenplum

将csv文件导入greenplum外部表时如何转义换行符?

Greenplum:查找任何外部表的关联错误表

在greenplum pxf外部表中,从对象的json数组中获取元素时获取空字符串

Greenplum - 外部表