我在包里有原始数据:
{(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)}
任何建议都将不胜感激。谢谢!
答案 0 :(得分: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 ;
}