我正在使用Apache Spark處理Moby Word的列表,這裏是file。 予先使用該文本文件Apache Spark聯合方法給出莫名其妙的結果
lines = sc.textFile("words.txt")
創建的RDD然後創建包含詞語2個RDDS具有「p」和「S」在他們
plines = lines.filter(lambda x: "p" in x)
slines = lines.filter(lambda x: "s" in x)
,然後創建這兩個
的聯合union_list = slines.union(plines)
然後,我用「count」方法計算每個列表中的單詞數,並分別用slines,plines和union_list分別爲64803,22969和87772。 也64803 + 22969 = 87772,這意味着沒有「p」和「s」兩個詞。我創建包含以「P」 和「S」字的新RDD使用
pslines = lines.filter(lambda x: ("p" in x) and ("s" in x))
並計數這給了13616的元素,然後創建包含詞語用「P」 或新RDD「的」
newlist = lines.filter(lambda x: ("p" in x) or ("s" in x))
並計數這給了74156,這是有意義的原因64803 + 22969-13616 = 74156的元素。我在聯合方法上做了什麼錯誤?我在Windows 10和Python 3.5.1上使用Spark 1.6。