0

我有一个这样的元组:

((item114,),1)
((item32,item31,),1)
((item81,item27,),2)

最后一个数字是item的频率,所以item114有freq。1,项目 81 有频率。2,现在我想将它拆分为格式的元组:(项目#,频率。),所以结果将是:

 (item114, 1)
 (item32, 1)
 (item31, 1)
 (item81, 2)
 (item27, 2)

我怎样才能做到这一点?谢谢。

4

1 回答 1

1

您基本上可以展平关系,这将为您提供所需的元组。例如,让 C 描述上述关系,如下所示,

C = GROUP input by A;

describe C;
C: {group: int, input: {i: int,j: int,k: int}}

dump C;
({(item114,)},1)

d = foreach c generate group, flatten(a.i);

describe d;
d: {group: int,i::i: int}

dump d;
(item114, 1)
(item32, 1)
于 2011-04-18T04:32:23.743 回答