我的问题是当我输入 p 的值时,什么也没发生,它不追求执行:请问有办法解决吗?
import sys
from pyspark import SparkContext
sc = SparkContext("local", "simple App")
p =input("Enter the word")
rdd1 = sc.textFile("monfichier")
rdd2= rdd1.map(lambda l : l.split("\t"))
rdd3=rdd2.map(lambda l: l[1])
print rdd3.take(6)
rdd5=rdd3.filter(lambda l : p in l)
sc.stop()
Run Code Online (Sandbox Code Playgroud) 我是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']]
Run Code Online (Sandbox Code Playgroud)
我试着:
[[(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)]]
Run Code Online (Sandbox Code Playgroud)
但是我已经尝试了,它得到了这个结果:
[[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]]
Run Code Online (Sandbox Code Playgroud)
或这些错误:
TypeError: 'PipelinedRDD' object is not iterableAttributeError: 'list' object has no attribute 'foreach'-或者split,take等我试过这个:
rdd1=rdd.map(lambda r : (r,1))
Run Code Online (Sandbox Code Playgroud)
我有第一个结果:
[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))
Run Code Online (Sandbox Code Playgroud)
它只是每行中的第一个单词,它不是我想要的
for row in rdd.collect() : row.foreach(lambda …Run Code Online (Sandbox Code Playgroud)