2015-10-19 76 views
0

我有豬的元組的輸出如下:總結一下值

dump g: 
() 
(97) 
(245) 
(870) 
(480) 

describe g: 
g: {long} 

我期待在總排名第總結的上面,所以我嘗試這樣做:

h = foreach g generate SUM($0); 

我收到此錯誤:

Please use an explicit cast. 

我又試圖施放價值(int)和仍然沒有工作。

我要找的輸出是這樣的:

1692 

這是導致該代碼:

a = LOAD 'tellers' using TextLoader() AS line; 
# convert a to charrarry 
b = foreach a generate (chararray)line; 
# run through my UDF to create tuples 
c = foreach b generate myudfs.TellerParser5(line); # ({(20),(5),(5),(10)(1),(1),(1),(1),(1),(5),(10),(10),(10)}).... 
d = foreach c generate flatten(number); 
e = group d by number; #{group: chararray,d: {(number: chararray)}} 
f = foreach e generate group, COUNT(d); # f: {group: chararray,long} 
g = foreach f generate (long)$0 * $1; 
+0

用輸入和預期輸出發佈您的整個腳本。從轉儲結果出發很難。 –

+0

你的問題是什麼? – kenorb

+0

@kenorb我總結了這些數字 – jKraut

回答

1

你需要做這樣的事情:

H = GROUP G ALL; 
I = FOREACH H GENERATE SUM(G.$0);