[ https://issues.apache.org/jira/browse/SPARK-16589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Davies Liu updated SPARK-16589: ------------------------------- Assignee: Andrew Ray > 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.4.0, 1.5.0, 1.6.0, 2.0.0 > Reporter: Maciej Szymkiewicz > Assignee: Andrew Ray > Labels: correctness > > 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 > rdd.cartesian(rdd).cartesian(rdd).distinct().count() > ## 251 > {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() > ## 1000 > {code} > or insert identity map: > {code} > rdd.cartesian(rdd).map(lambda x: x).cartesian(rdd).count() > ## 1000 > {code} > it yields correct results. > -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org