Pyspark RDD不同地汇总不同的值字段

问题描述 投票:2回答:2

这是一个开放式的问题,但是我有这种格式的RDD。

[('2014-06', ('131313', 5.5, 6.5, 7.5, 10.5 )),
('2014-07', ('246655', 636636.53, .53252, 5252.112, 5242.23)),
('2014-06', ('131232', 1, 2, 4.5, 5.5)),
('2014-07', ('131322464', 536363.6363, 536336.6363, 3563.63636, 9.6464464646464646))]

我想按键分组并汇总每个值。例如,对于键'2014-06',我想获取键'131313'的第一个值字段(即5.5, 6.5, 7.5, 10.5)的计数和其他字段'2014-06'的平均值。

因此,上述简单示例的键'2014-06'的结果为('2014-06', (2, 3.25, 5.5, 8))

对于RDD,执行此操作的最佳方法是什么? 我不能使用任何Spark SQL表达式或仅函数RDD函数。

我正在考虑使用mapValues做一些事情,并使用其他一些功能,但是在制定此功能时遇到了一些麻烦。

我知道这个问题还没结束,所以如果您还有其他问题,请告诉我。

谢谢您的时间。

这是一个开放式的问题,但是我有这种格式的RDD。 [('2014-06',('131313',5.5,6.5,7.5,10.5)),('2014-07',('246655',636636.53,.53252,5252.112,5242.23)),('2014- 06',('...

python apache-spark pyspark aggregate rdd
2个回答
1
投票

一种方法是使用map()


1
投票

@ jxc解决方案可以满足您的需求,但这是另一种实现方式。

© www.soinside.com 2019 - 2024. All rights reserved.