PySpark中的过滤器特定字

PySpark中的过滤器特定字,pyspark,Pyspark,我是PySpark的新手,所以如果我的问题看起来太简单,我很抱歉,但我已经被它困扰了一段时间了 给定以下文本是并行的 爱丽丝最近为最近发生的事件而烦恼。爱丽丝注意到她的成绩在下降,这使爱丽丝很担心。如果爱丽丝的父母发现了这件事,他们会发疯的。爱丽丝该怎么办 我知道,要找到“Alice”这个词的频率,需要使用代码 rdd.filter(lambda x: "Alice" in x).count() 等于5。但是,如何排除“Alice's”的词,只获得“Alice”的单词计数,因此我所需的计数应该

我是PySpark的新手,所以如果我的问题看起来太简单,我很抱歉,但我已经被它困扰了一段时间了

给定以下文本是并行的

爱丽丝最近为最近发生的事件而烦恼。爱丽丝注意到她的成绩在下降,这使爱丽丝很担心。如果爱丽丝的父母发现了这件事,他们会发疯的。爱丽丝该怎么办

我知道,要找到“Alice”这个词的频率,需要使用代码

rdd.filter(lambda x: "Alice" in x).count()

等于5。但是,如何排除“Alice's”的词,只获得“Alice”的单词计数,因此我所需的计数应该是3而不是5。

您可以使用
.filter(lambda x:x[0]='Alice')只过滤Alice。


你好非常感谢你!工作得很有魅力!!我已经找到了我最初出错的原因!
from operator import add
rdd.collect()
#["Alice has recently been troubled by recent events. It has come to Alice's attention that her grades were dipping down which worried Alice a lot. If Alice's parents were to find out about this, they would flip out. What should Alice do?"]

#filter only Alice
rdd.flatMap(lambda x:x.split(" ")).map(lambda x:(x,1)).reduceByKey(add).filter(lambda x:x[0]=='Alice').collect()  
#[('Alice', 3)]