Apache Spark-根据列值添加增量ID

我想基于列值创建一个增量ID。

例如,如果我有下表

-----------------------
| id |   value    |
-----------------------
| 3  |    a       |
| 2  |    a       | 
| 1  |    b       |
| 4  |    b       |
| 5  |    c       |
-----------------------

我想创建一个新列,其随机或增量标识符对于列值是唯一的,如下所示:

-----------------------------------------------
| id |   value    |    new_id    |
-----------------------------------------------
| 3  |    a       |     1        | 
| 2  |    a       |     1        |
| 1  |    b       |     2        |
| 4  |    b       |     2        |
| 5  |    c       |     3        |
-----------------------------------------------

除了使用唯一性和稍后加入之外,还有其他选择吗?

谢谢!