gpt4 book ai didi

python - 我如何遍历 "pyspark"中的列表列表以获得特定结果

转载 作者:太空宇宙 更新时间:2023-11-03 14:08:20 31 4
gpt4 key购买 nike

我是 PySpark 的新手,我想了解如何做到这一点。任何帮助表示赞赏。

例如,我有这个 RDD:

[[u'merit', u'release', u'appearance'], [u'www.bonsai.wbff.org'], [u'whitepages.com'], [u'the', u'childs', u'wonderland', u'company'], [u'lottery']]

我尝试拥有:

[[(u'merit',1), (u'release',1), (u'appearance',1)], [(u'www.bonsai.wbff.org',1)], [(u'whitepages.com',1)], [(u'the',1), (u'childs',1), (u'wonderland',1), (u'company',1)], [(u'lottery',1)]] 

但我已经尝试过,它让我得到了这个结果:

[[u'merit', u'release', u'appearance',1], [u'www.bonsai.wbff.org',1], [u'whitepages.com',1], [u'the', u'childs', u'wonderland', u'company',1], [u'lottery',1]]

或这些错误:

  • TypeError: 'PipelinedRDD' 对象不可迭代
  • AttributeError: 'list' object has no attribute 'foreach' - 或 splittake

我试过这个:

rdd1=rdd.map(lambda r : (r,1))  

我有第一个结果:

[u'merit', u'release', u'appearance',1], [u'www.bonsai.wbff.org',1], [u'whitepages.com',1], [u'the', u'childs', u'wonderland', u'company',1], [u'lottery',1]]

rdd1=rdd.map(lambda r : (r[:][0],1))

它只得到每一行的第一个词,这不是我想要的

for row in rdd.collect() : row.foreach(lambda x : (x,1)) 
# AttributeError: 'list' object has no attribute 'foreach'
rdd3.take(100).foreach( lambda a : (a.foreach( lambda e : print(e,1)))) 
# AttributeError: 'list' object has no attribute 'foreach'

最佳答案

要打印 collect 并在本地迭代:

for xs in rdd3.take(100):
for x in xs:
print(x)

一般迭代:

rdd.flatMap(lambda xs: [(x, 1) for x in xs])

关于python - 我如何遍历 "pyspark"中的列表列表以获得特定结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41503830/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com