【发布时间】:2015-07-28 15:12:17
【问题描述】:
我有一个元组中各种项目组合的列表
example = [(1,2), (2,1), (1,1), (1,1), (2,1), (2,3,1), (1,2,3)]
我希望按唯一组合进行分组和计数
产生结果
result = [((1,2), 3), ((1,1), 2), ((2,3,1), 2)]
保持顺序或保留组合的哪个排列不重要,但使用 lambda 函数完成操作非常重要 并且输出格式仍然是上面的元组列表,因为我将使用 spark RDD 对象
我的代码目前使用
计算从数据集中获取的模式RDD = sc.parallelize(example)
result = RDD.map(lambda(y):(y, 1))\
.reduceByKey(add)\
.collect()
print result
我需要另一个 .map 命令来为不同的排列添加帐户,如上所述
【问题讨论】:
-
结果顺序重要吗?
-
顺序无所谓
-
是什么让您认为任何使用 lambda 都比简单循环更快?至少在 Python 中情况正好相反。
-
我需要使用 lambda 函数来完成,因为我使用的是 spark RDD,我真的不明白这些东西是如何工作的,所以我需要非常小心数据类型我通过了,我会再次尝试更新问题
-
听起来像XY-problem。您似乎需要一种 map-reduce 之类的东西。
标签: python list lambda apache-spark tuples