首页 > 解决方案 > 使用 Pyspark 创建具有特定长度的 unique_id

问题描述

我想根据日期为我的数据框中的每一行创建一个 unique_id。

df1:

+---+-----+----+-------+-----+
|day|month|year| userid|units|
+---+-----+------------+-----+
| 01|   01|2016|87cb11 |    0|
| 01|   01|2016|87cb11 |    1|
| 01|   01|2016|87cb11 |    2|
| 02|   01|2016|87cb11 |    0|
| 02|   01|2016|87cb11 |    1|
| 02|   01|2016|87cb11 |    2|
+---+-----+----+-------+-----+

我曾尝试使用monotonically_increasing_id(),但我不确定如何创建一个越来越多的数字,它将具有一定的长度。

df2:

+---+-----+----+-------+-----+---------------+
|day|month|year| userid|units| unique_id     |
+---+-----+------------+-----+---------------+
| 01|   01|2016|87cb11 |    0|201601010000001|
| 01|   01|2016|87cb11 |    1|201601010000002|
| 01|   01|2016|87cb11 |    2|201601010000003|
| 02|   01|2016|87cb11 |    0|201601020000001|
| 02|   01|2016|87cb11 |    1|201601020000002|
| 02|   01|2016|87cb11 |    2|201601020000003|
+---+-----+----+-------+-----+---------------+

标签: apache-sparkdataframepyspark

解决方案


推荐阅读