[ 
https://issues.apache.org/jira/browse/SPARK-2494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14065317#comment-14065317
 ] 

Davies Liu commented on SPARK-2494:
-----------------------------------

The tip version already handle hash of None, but it can not handle hash of 
tuple with None in it.

Here is the updated test cases, sorry for that:

>>> rdd = sc.parallelize([((None, 1), 1),] *100 , 100)
>>> assert rdd.groupByKey(10).collect() == 1

> Hash of None is different cross machines in CPython
> ---------------------------------------------------
>
>                 Key: SPARK-2494
>                 URL: https://issues.apache.org/jira/browse/SPARK-2494
>             Project: Spark
>          Issue Type: Bug
>          Components: PySpark
>    Affects Versions: 1.0.0, 1.0.1
>         Environment: CPython 2.x 
>            Reporter: Davies Liu
>            Priority: Blocker
>              Labels: pyspark, shuffle
>             Fix For: 1.0.0, 1.0.1
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The hash of None, also tuple with None in it, is different cross machines, so 
> the result will be wrong if None appear in the key of partitionBy().
> It should use an portable hash function as the default partition function, 
> which generate same hash for all the builtin immutable types, especially 
> tuple.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to