sales_reducer.py
Dosyayı İndir
#!/usr/bin/env python
import sys
value_count=0
sales_quantity_sum=0
sales_price_sum=0
line_amount_sum=0
last_key=None
for line in sys.stdin:
line=line.strip();
if(line==''):
break
key,value = line.split("\t")
if(last_key==None):
last_key=key
values=value.split(",")
sales_quantity=int(values[0])
sales_price=float(values[1])
line_amount=float(values[2])
if key == last_key:
sales_quantity_sum+=sales_quantity
sales_price_sum+=sales_price
line_amount_sum+=line_amount
value_count+=1;
else:
sales_price_average=sales_price_sum/value_count
value=str(sales_quantity_sum)+","+str(sales_price_average)+","+str(line_amount_sum)
print(last_key+"\t"+value)
value_count=1
sales_quantity_sum=sales_quantity
sales_price_sum=sales_price
line_amount_sum=line_amount
last_key = key
if value_count>0:
sales_price_average=sales_price_sum/value_count
value=str(sales_quantity_sum)+","+str(sales_price_average)+","+str(line_amount_sum)
print(last_key+"\t"+value)
Dosyayı İndir