如何在 Pyspark 中将 Pair RDD Tuple 键转换为字符串键? [关闭]
Posted
技术标签:
【中文标题】如何在 Pyspark 中将 Pair RDD Tuple 键转换为字符串键? [关闭]【英文标题】:How to convert Pair RDD Tuple key to String key in Pyspark? [closed] 【发布时间】: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)]
【问题讨论】:
【参考方案1】:map
在rdd
之上,并检查每个元组中的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)]
【讨论】:
以上是关于如何在 Pyspark 中将 Pair RDD Tuple 键转换为字符串键? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在pyspark中将rdd行转换为带有json结构的数据框?
在 Pyspark 中将流水线 RDD 转换为 Dataframe [重复]
如何使用 pyspark.resultiterable.ResultIterable 对象