[
https://issues.apache.org/jira/browse/SPARK-17833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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