如何在pyspark中获取RDD的键值输出

Posted

技术标签:

【中文标题】如何在pyspark中获取RDD的键值输出【英文标题】:How to get the key value output from RDD in pyspark 【发布时间】:2016-10-17 04:31:53 【问题描述】:

以下是RDD:

[(8, [u'darkness']), (2, [u'in', u'of', u'of', u'of']),
(4, [u'book', u'form', u'void', u'upon', u'face', u'deep', u'upon', u'face'])]

我如何打印上面的键和值长度。

上面的输出应该是: (键,列表中的单词数)

(8,1) (2,4) (4,8)

【问题讨论】:

【参考方案1】:

您可以使用map 函数来创建列表中的键和单词数的元组:

data = sc.parallelize([(8, [u'darkness']), (2, [u'in', u'of', u'of', u'of']), (4, [u'book', u'form', u'void', u'upon', u'face', u'deep', u'upon', u'face'])])

data.map(lambda x:tuple([x[0],len(x[1])])).collect()

【讨论】:

以上是关于如何在pyspark中获取RDD的键值输出的主要内容,如果未能解决你的问题,请参考以下文章

PySpark:如何从一个巨大的 RDD 中获取样本 RDD?

如何测试一个值是不是是 RDD 的键

如何在 Laravel 中获取嵌套的键值

基于 Pyspark 中的键加入 RDD

如何从 pyspark rdd 或分区中确定原始 s3 输入文件名

对于 Spark API,collectAsMap() 函数如何工作