【发布时间】:2015-07-06 22:36:32
【问题描述】:
我有一个存储为 RDD 列表的表,我想在其上执行类似于 SQL 或 pandas 中的 groupby 的操作,获取每个变量的总和或平均值。
我目前的做法是这样的(未经测试的代码):
l=[(3, "add"),(4, "add")]
dict={}
i=0
for aggregation in l:
RDD= RDD.map(lambda x: (x[6], float(x[aggregation[0]])))
agg=RDD.reduceByKey(aggregation[1])
dict[i]=agg
i+=1
然后我需要加入dict中的所有RDD。
虽然这不是很有效。有没有更好的办法?
【问题讨论】:
标签: python apache-spark pyspark