【发布时间】:2015-07-02 05:40:45
【问题描述】:
我有以下数据,我想做的是
[(13, 'D'), (14, 'T'), (32, '6'), (45, 'T'), (47, '2'), (48, '0'), (49, '2'), (50, '0'), (51, 'T'), (53, '2'), (54, '0'), (13, 'A'), (14, 'T'), (32, '6'), (45, 'A'), (47, '2'), (48, '0'), (49, '2'), (50, '0'), (51, 'X')]
是为每个键计数值的实例(1 个字符串字符)。所以我先做了一张地图:
.map(lambda x: (x[0], [x[1], 1]))
现在使它成为一个键/元组:
[(13, ['D', 1]), (14, ['T', 1]), (32, ['6', 1]), (45, ['T', 1]), (47, ['2', 1]), (48, ['0', 1]), (49, ['2', 1]), (50, ['0', 1]), (51, ['T', 1]), (53, ['2', 1]), (54, ['0', 1]), (13, ['A', 1]), (14, ['T', 1]), (32, ['6', 1]), (45, ['A', 1]), (47, ['2', 1]), (48, ['0', 1]), (49, ['2', 1]), (50, ['0', 1]), (51, ['X', 1])]
我只是无法在最后一部分弄清楚如何为每个键计算该字母的实例。例如,密钥 13 将有 1 个 D 和 1 个 A。而 14 将有 2 个 T,等等。
【问题讨论】:
-
您要先
groupByKey,然后对已分组的字符进行计数。
标签: python apache-spark pyspark