Maciej Szymkiewicz created SPARK-16589:
------------------------------------------

             Summary: Chained cartesian produces incorrect number of records
                 Key: SPARK-16589
                 URL: https://issues.apache.org/jira/browse/SPARK-16589
             Project: Spark
          Issue Type: Bug
          Components: PySpark
    Affects Versions: 1.6.0, 2.0.0
            Reporter: Maciej Szymkiewicz


Chaining cartesian calls in PySpark results in the number of records lower than 
expected. It can be reproduced as follows:

{code}
rdd = sc.parallelize(range(10), 1)
rdd.cartesian(rdd).cartesian(rdd).count()
## 355
{code}

It looks like it is related to serialization. If we reserialize after initial 
cartesian:

{code}
rdd.cartesian(rdd)._reserialize(BatchedSerializer(PickleSerializer(), 
1)).cartesian(rdd).count()
{code}

or insert identity map:

{code}
rdd.cartesian(rdd).map(lambda x: x).cartesian(rdd).count()
{code}

it yields correct results.
 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to