Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Generuje monotonicky rostoucí 64bitová celá čísla. Vygenerované ID je zaručeno monotonicky rostoucí a jedinečné, ale ne po sobě jdoucí. Aktuální implementace umístí ID oddílu do horních 31 bitů a číslo záznamu v každém oddílu v nižších 33 bitech. Předpokladem je, že datový rámec má méně než 1 miliardu oddílů a každý oddíl má méně než 8 miliard záznamů.
Syntaxe
from pyspark.sql import functions as sf
sf.monotonically_increasing_id()
Návraty
pyspark.sql.Column: poslední hodnota skupiny.
Poznámky
Funkce není deterministická, protože její výsledek závisí na ID oddílů.
Představte si například :class:DataFrame se dvěma oddíly, z nichž každý má 3 záznamy. Tento výraz by vrátil následující ID: 0, 1, 2, 8589934592 (1L << 33), 8589934593, 8589934594.
Examples
Příklad 1: Generování monotonicky rostoucích ID
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|
+---+--------------------+-----------------------------+