Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Genera enteros de 64 bits aumentando de forma monotónica. Se garantiza que el Id. generado aumenta de forma monótona y es único, pero no consecutivo. La implementación actual coloca el identificador de partición en los 31 bits superiores y el número de registro dentro de cada partición en los 33 bits inferiores. La suposición es que la trama de datos tiene menos de 1000 millones de particiones y cada partición tiene menos de 8 mil millones de registros.
Syntax
from pyspark.sql import functions as sf
sf.monotonically_increasing_id()
Devoluciones
pyspark.sql.Column: último valor del grupo.
Notas
La función no es determinista porque su resultado depende de identificadores de partición.
Por ejemplo, considere una clase ::DataFrame con dos particiones, cada una con 3 registros. Esta expresión devolvería los siguientes identificadores: 0, 1, 2, 8589934592 (1L << 33), 8589934593, 8589934594.
Examples
Ejemplo 1: Generación de identificadores de aumento monotonicoico
from pyspark.sql import functions as sf
spark.range(0, 10, 1, 2).select(
"*",
sf.spark_partition_id(),
sf.monotonically_increasing_id()).show()
+---+--------------------+-----------------------------+
| id|SPARK_PARTITION_ID()|monotonically_increasing_id()|
+---+--------------------+-----------------------------+
| 0| 0| 0|
| 1| 0| 1|
| 2| 0| 2|
| 3| 0| 3|
| 4| 0| 4|
| 5| 1| 8589934592|
| 6| 1| 8589934593|
| 7| 1| 8589934594|
| 8| 1| 8589934595|
| 9| 1| 8589934596|
+---+--------------------+-----------------------------+