【问题标题】:How to convert Pair RDD Tuple key to String key in Pyspark? [closed]如何在 Pyspark 中将 Pair RDD Tuple 键转换为字符串键? [关闭]
【发布时间】:2018-12-06 20:58:33
【问题描述】:

我已经创建了如下所示的rdd

rdd=sc.parallelize([('AA', 44),('BB', 53),(('AA', 'Bb'), 23), (('AD', 'AC'), 23),(('AA', 'BB', 'CC'), 2)])

我想将元组键转换为字符串。

我的预期输出如下new_rdd.collect() 应该给出:

[('AA', 44),('BB', 53),('AA,Bb', 23),('AD,AC', 23),('AA,BB,CC',2)]

【问题讨论】:

    标签: python apache-spark pyspark rdd


    【解决方案1】:

    maprdd之上,并检查每个元组中的key类型,如果key是string,则保留key,否则通过','加入key:

    rdd.map(lambda t: (t[0] if isinstance(t[0], str) else ','.join(t[0]), t[1])).collect()
    # [('AA', 44), ('BB', 53), ('AA,Bb', 23), ('AD,AC', 23), ('AA,BB,CC', 2)]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-16
      • 2018-02-02
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 1970-01-01
      相关资源
      最近更新 更多