2014-02-11 53 views
0

在包匹配元組我在包的原始數據:提取豬

{(id,35821),(lang,en-US),(pf_1,us)} 
{(path,/ybe/wer),(id,23481),(lang,en-US),(intl,us),(pf_1,yahoo),(pf_3,test)} 
{(id,98234),(lang,ir-IL),(pf_1,il),(pf_2,werasdf|dfsas)} 

我怎麼能提取其列1個匹配ID和* PF_元組?

輸出我想:

{(id,35821),(pf_1,us)} 
{(id,23481),(pf_1,yahoo),(pf_3,test)} 
{(id,98234),(pf_1,il),(pf_2,werasdf|dfsas)} 

任何建議,將不勝感激。謝謝!

+3

那你試試? –

回答

1

爲了加工內袋(袋子的格式如OUTER_BAG: {INNER_BAG: {(e:int)}}),您將不得不使用nested FOREACH。這將允許您對內袋中的元組執行操作。

例如,你會想要做的事,如:

-- A: {inner_bag: {(val1: chararray, val2: chararray)}} 

B = FOREACH A { 
     filtered_bags = FILTER inner_bag BY val1 matches '^(id|pf_).*' ; 
    GENERATE filtered_bags ; 
}