F.monotonically_increasing_id() 返回长随机数

Posted

技术标签:

【中文标题】F.monotonically_increasing_id() 返回长随机数【英文标题】:F.monotonically_increasing_id() returns long random [duplicate] 【发布时间】:2019-10-30 10:47:11 【问题描述】:
x = df.withColumn("id_col", F.monotonically_increasing_id())

返回随机长整数而不是排序的整数enter image description here

【问题讨论】:

Using monotonically_increasing_id() for assigning row number to pyspark dataframe的可能重复 【参考方案1】:

您看到的是函数的预期行为。来自文档

生成的 ID 保证单调递增且 唯一的,但不是连续的。 当前实现将分区 ID 放在高 31 位,记录号 在每个分区的低 33 位中。假设数据框有 不到10亿个分区,每个分区不到80亿条记录

这就是您看到长随机整数的原因。它们可能不是连续的,但它们是递增的,并且出于所有实际目的,它们是独一无二的。

【讨论】:

以上是关于F.monotonically_increasing_id() 返回长随机数的主要内容,如果未能解决你的问题,请参考以下文章