python - PySpark 按值分解键并保留 LDA 模型的重复项

标签 python python-2.7 apache-spark pyspark lda

我有一个元组 RDD。我想分解键值对并保留重复项。本质上是键 x 值。我想将这个 RDD 数组输入到 LDA 模型中。我将在下面说明一些代码,提前谢谢您:

当前状态

>>> rdd4.take(2)
[ [(u'11394071', 1), (u'11052103', 1), (u'11052101', 1)],
[(u'11847272', 2), (u'999999', 1), (u'11847272', 3)] ]

首选状态

>>> rdd4.take(2)
[ ['11394071','11052103','11052101'],
['11847272', '11847272','999999','11847272','11847272','11847272'] ]

最佳答案

不使用列表理解的解决方案,可能更清楚:

import itertools

orig_list = rdd4.take(2)

result = []
for orig_list_item in orig_list:
    inner_result = []
    for item, count in orig_list_item:
        inner_result.append([item] * count)
    inner_result = itertools.chain.from_iterable(inner_result)
    inner_result = list(inner_result)
    result.append(inner_result)

这个解释实际上与我的其他答案中的解释相同。

关于python - PySpark 按值分解键并保留 LDA 模型的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45467447/

相关文章:

python - 寻找网络中每一对的最短路径

python - 在 Pygame 中两个正在进行的音乐轨道之间淡入淡出

python - 什么被认为是当前用于 Python Web 开发的 CGI 行业标准替代品?

python - 我如何转换 .在PyQt5的QLineEdit中输入0.?

python - 按首选顺序对列表进行排序

python - 无效的 block 标记 : 'bootstrap_icon' , 预期 'endblock'

Python 文本冒险 - 如何在每个提示中创建 HINT 和 SAVE

python - pyspark:Spark 2.3 中的 arrays_zip 等效项

java - Spark : Unsupported class version error

scala - 对于基本数据框创建示例,我应该如何在 Spark 中编写单元测试?