Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menghasilkan bilangan bulat 64-bit yang meningkat secara monoton. ID yang dihasilkan dijamin akan meningkat secara monoton dan unik, tetapi tidak berurutan. Implementasi saat ini menempatkan ID partisi di 31 bit atas, dan nomor rekaman dalam setiap partisi di 33 bit yang lebih rendah. Asumsinya adalah bahwa bingkai data memiliki kurang dari 1 miliar partisi, dan setiap partisi memiliki kurang dari 8 miliar rekaman.
Syntax
from pyspark.sql import functions as sf
sf.monotonically_increasing_id()
Pengembalian Barang
pyspark.sql.Column: nilai terakhir grup.
Catatan
Fungsi ini tidak deterministik karena hasilnya tergantung pada ID partisi.
Sebagai contoh, pertimbangkan :class:DataFrame dengan dua partisi, masing-masing dengan 3 rekaman. Ekspresi ini akan mengembalikan ID berikut: 0, 1, 2, 8589934592 (1L << 33), 8589934593, 8589934594.
Examples
Contoh 1: Hasilkan ID yang meningkat secara monoton
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|
+---+--------------------+-----------------------------+