PIG从一个Bag中选择另一个Bag的数据

时间:2013-02-05 20:37:06

标签: hadoop apache-pig

我是HADOOP和PIG的新手。

我有2个包:

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

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

Bag B列出了每个人。 Bag A有我感兴趣的东西。我相信有一个简单的方法可以让我感兴趣的人:

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

有人能让我摆脱痛苦吗?

提前谢谢。

1 个答案:

答案 0 :(得分: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;

允许您通过'列名'而不是列索引加入。