我有数据,将运行在Pig使用aws电子病历看起来像。这些列称为型号、年份、销售单位、客户总数。
chevy 1900 1000 49
chevy 1901 73 92
chevy 1902 45 65
chevy 1903 300 75
ford 1900 35 12
ford 1901 777 32
ford 1902 932 484
ford 1903 33 15
我要做的是计算每种车型的平均值。平均值的计算方法是将售出的单位总数除以总客户总数。所以期望的结果是
chevy (1000+73+45+300) / (49+92+65+75) = 5.04
ford (35+777+932+33) / (12+32+484+15) = 3.27
在我的剧本里
A = *Step to load data*;
B = GROUP A by year;
C = results = FOREACH B GENERATE SUM(units_sold)/SUM(total_customers);
dump C;
这将返回一个不正确的结果。如何获得类似于
chevy 5.04
ford 3.27
1条答案
按热度按时间fdbelqdn1#
看来你需要按车型分组,而不是按年份。另外,如果需要,您可能需要强制转换为浮动
units_sold
以及total_customers
如果不希望得到舍入结果,则为整数。尝试: