【发布时间】:2020-03-31 23:26:19
【问题描述】:
这是一个非常开放的问题,但我有一个这种格式的 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',以及键 '2014-06' 的其他字段 5.5, 6.5, 7.5, 10.5 的平均值。
因此,上述简单示例的键 '2014-06' 的结果将是 ('2014-06', (2, 3.25, 5.5, 8))。
对 RDD 执行此操作的最佳方法是什么? 我不能使用任何 Spark SQL 表达式或函数,只能使用 RDD 函数。
我正在考虑用 mapValues 做一些事情并使用其他函数,但我在制定这个函数时遇到了一些问题。
我知道这个问题是开放式的,所以如果您还有其他问题,请告诉我。
感谢您的宝贵时间。
【问题讨论】:
标签: python apache-spark pyspark aggregate rdd