我试图用猪做一个总结操作。
例如,我有一个名为t3
:
product price country
A 5 Italy
B 4 USA
C 12 France
A 5 Italy
B 7 Russia
我需要使用 2 个键进行汇总操作:product
和country
.
- 我做连接操作,使用
product
和country
- 我必须计算价格,在
CONCAT
结果重复的地方总结价格值 - 如果
CONCAT
结果不重复,价格与t3
表中相同。
预期的输出可能是:
CONCAT Price_1
AItaly 10
BUSA 4
CFrance 12
BRussia 7
在猪中,我编写了以下脚本(代码错误,但只是为了说明一个想法):
t3 = LOAD '/home/Desktop/3_table/3_table.data' AS (product:chararray, price:int, country:chararray);
c1 = FOREACH t3 GENERATE CONCAT(product, country);
c2 = FOREACH t3 GENERATE *, c1;
product_1 = GROUP c2 BY c1;
price_1 = FOREACH product_1 GENERATE group, SUM(product_1.price);
STORE price_1 INTO 'summarise_by_2_ID' USING PigStorage('\t');
也许有人可以解释如何达到预期的结果?提前非常感谢!