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

Joseph K. Bradley commented on SPARK-17833:
-------------------------------------------

I'll add: There definitely needs to be a deterministic version in order to 
compute row indices.  In my case, this is important for GraphFrames.  The last 
time I checked, you can get non-deterministic behavior by, e.g., shuffling a 
DataFrame, adding a monotonicallyIncreasingId column, and inspecting.


> 'monotonicallyIncreasingId()' should be deterministic
> -----------------------------------------------------
>
>                 Key: SPARK-17833
>                 URL: https://issues.apache.org/jira/browse/SPARK-17833
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>            Reporter: Kevin Ushey
>            Priority: Critical
>
> Right now, it's (IMHO) too easy to shoot yourself in the foot using 
> 'monotonicallyIncreasingId()', as it's easy to expect the generated numbers 
> to function as a 'stable' primary key, for example, and then go on to use 
> that key in e.g. 'joins' and so on.
> Is there any reason why this function can't be made deterministic? Or, could 
> a deterministic analogue of this function be added (e.g. 
> 'withPrimaryKey(columnName = ...)')?
> A solution is to immediately cache / persist the table after calling 
> 'monotonicallyIncreasingId()'; it's also possible that the documentation 
> should spell that out loud and clear.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to