Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Apache Spark union方法给出了无法解释的结果_Python 3.x_Apache Spark_Pyspark - Fatal编程技术网

Python 3.x Apache Spark union方法给出了无法解释的结果

Python 3.x Apache Spark union方法给出了无法解释的结果,python-3.x,apache-spark,pyspark,Python 3.x,Apache Spark,Pyspark,我在用ApacheSpark玩Moby单词列表,下面是。 我首先使用这个文本文件创建了一个RDD lines = sc.textFile("words.txt") 然后创建了两个RDD,其中包含有“p”和“s”的单词 然后建立了这两个的联盟 union_list = slines.union(plines) 然后,我用“计数”方法计算了每个列表中的单词数,对于slines、plines和union_列表,分别为64803、22969和87772。还有64803+22969=8

我在用ApacheSpark玩Moby单词列表,下面是。 我首先使用这个文本文件创建了一个RDD

    lines = sc.textFile("words.txt")
然后创建了两个RDD,其中包含有“p”和“s”的单词

然后建立了这两个的联盟

    union_list = slines.union(plines)
然后,我用“计数”方法计算了每个列表中的单词数,对于slines、plines和union_列表,分别为64803、22969和87772。还有64803+22969=87772,这意味着没有同时带有“p”和“s”的单词。我使用

并计算得出13616的元素,然后创建一个新的RDD,其中包含带有“p”或“s”的单词

计算出74156的元素,这是有道理的,因为64803+22969-13616=74156。我对union方法做了什么错误?我在Windows 10和Python 3.5.1上使用Spark 1.6。

方法不是集合联合操作。它只是连接了两个RDD,因此交叉点将被计数两次。如果要使用真正的集合并集,则需要在生成的RDD上运行:

union\u list=slines.union(plines).distinct()

方法不是集合并集操作。它只是连接了两个RDD,因此交叉点将被计数两次。如果要使用真正的集合并集,则需要在生成的RDD上运行:

union\u list=slines.union(plines).distinct()

    union_list = slines.union(plines)
    pslines = lines.filter(lambda x: ("p" in x) and ("s" in x))
    newlist = lines.filter(lambda x: ("p" in x) or ("s" in x))