【问题标题】:Pyspark unlist rddPyspark 未列出 rdd
【发布时间】:2018-04-21 10:38:42
【问题描述】:

我有一个具有以下结构的 rdd:[int,[list]]

In [109]: rdd_dummies2.take(2)
[[0, [False, False, False, False, False, False, False, False, False, False]],
 [1, [False, False, False, False, False, False, False, False, False, False]]]

我想在同一个列表中有另一个带有 int 和列表的 rdd。 我的意思是,像这样:

[[0,False, False, False, False, False, False, False, False, False, False],
[1,False, False, False, False, False, False, False, False, False, False]]

我试过了:

In [110]: rdd_dummies2 = rdd_dummies.flatMap(lambda x: x)
In [112]: rdd_dummies2.take(2)
Out[112]: [0, [False, False, False, False, False, False, False, False, False, False]]

但它没有返回我想要的。

有人知道如何正确使用 .map() 或 .flatMap() 吗?

谢谢!

【问题讨论】:

    标签: pyspark rdd


    【解决方案1】:

    您只需映射rdd 并将第一个元素添加到列表中:

    rdd = sc.parallelize([[0, [False, False, False, False, False, False, False, False, False, False]], [1, [False, False, False, False, False, False, False, False, False, False]]])
    
    rdd.map(lambda x: [x[0]] + x[1]).collect()
    # [[0, False, False, False, False, False, False, False, False, False, False], 
    #  [1, False, False, False, False, False, False, False, False, False, False]]
    

    【讨论】:

    • 我刚刚在我的程序中使用了它并且它有效。谢谢你:)
    猜你喜欢
    • 2019-12-27
    • 1970-01-01
    • 2019-04-24
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多