我是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)
有人能让我摆脱痛苦吗?
提前谢谢。
答案 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;
允许您通过'列名'而不是列索引加入。