如何使用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的主要内容,如果未能解决你的问题,请参考以下文章

如何在集群外部通过ip直连Pod?

如何使用 WHERE 条件从 Excel 工作表中插入字段以访问数据库

如何在使用 WHERE 删除的行上将计数值显示为 0(微软访问)

Hadoop Hive SQL:从格式奇怪的文件创建外部表

带有分区的外部配置单元表 - 当我添加具有读取访问权限的数据的分区时出现权限错误

在 hadoop 中保存和访问类似表的数据结构