2011-04-15 171 views
0

我有一个这样的元组:猪:如何分割阵列

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

的最后一个数字是该项目的频率,所以具有item114频率。 1,第81项有freq。 2,现在我想将它拆分到格式的元组:(编号,频率),那么结果将是:

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

我该怎么办呢?谢谢。

回答

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) 
+1

@ phonix24:在你的例子中,什么是输入和什么是A? – ohana 2011-04-18 05:12:45