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

时间:2016-10-17 04:31:53

标签: python pyspark rdd

以下是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 个答案:

答案 0 :(得分:0)

您可以使用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()