2013-02-05 40 views
1

我是HADOOP和PIG的新手。PIG從一個袋子中選擇另一個袋子的數據

我有2袋:

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

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

袋B列出了每個人。 。包包有我感興趣的是那些我敢肯定,有一個簡單的方法得到公正的人,我很感興趣:

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

能有人把我從我的痛苦?

預先感謝您。

回答

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; 

會允許你通過'列名'而不是列索引連接。