我的袋子里有原始数据:
{(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)}任何建议都将不胜感激。谢谢!
发布于 2014-02-13 01:52:16
为了处理内包(格式类似于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 ;
}https://stackoverflow.com/questions/21711361
复制相似问题