1

我是 HADOOP 和 PIG 的新手。

我有 2 个袋子:

DUMP A:
(1)
(2)
(4)

DUMP B:
(1,John,USA)
(2,Richard,UK)
(3,Ian,Ireland)
(4,Simon,Canada)

包 B 列出了每个人。包 A 有我感兴趣的人。我确信有一种简单的方法可以让我感兴趣的人:

(1,John,USA)
(2,Richard,UK)
(4,Simon,Canada)

有人可以让我摆脱痛苦吗?

先感谢您。

4

1 回答 1

0

您应该能够通过类似于以下的命令加入并显示这两个集合:

JOINSET = join A by $0, B by $0;
DUMP JOINSET;

为了让这更容易理解,当您最初加载数据集时,我会将名称与您的“列”相关联。您还可以通过 foreach/generate 命令进行过滤。所以像

INTEREST = foreach A generate $0 as interestID;
RECORDS = foreach B generate $0 as recordID, $1 as name, $2 as location;
JOINSET = join INTEREST by interestID, RECORDS by recordID;

将允许您通过“列名”而不是列索引加入。

于 2013-02-05T20:44:27.753 回答