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.
Menentukan marka air waktu peristiwa untuk DataFrame ini. Marka air melacak titik waktu sebelumnya yang kami asumsikan tidak ada lagi data terlambat yang akan tiba.
Sintaksis
withWatermark(eventTime: str, delayThreshold: str)
Parameter-parameternya
| Parameter | Tipe | Deskripsi |
|---|---|---|
eventTime |
str | nama kolom yang berisi waktu peristiwa baris. |
delayThreshold |
str | penundaan minimum untuk menunggu data datang terlambat, relatif terhadap catatan terbaru yang telah diproses dalam bentuk interval (misalnya "1 menit" atau "5 jam"). |
Pengembalian Barang
DataFrame: DataFrame bertanda air.
Catatan
Ini adalah fitur hanya untuk Streaming Terstruktur.
Spark akan menggunakan marka air ini untuk beberapa tujuan:
- Untuk mengetahui kapan agregasi jendela waktu tertentu dapat diselesaikan dan dengan demikian dapat dipancarkan saat menggunakan mode output yang tidak mengizinkan pembaruan.
- Untuk meminimalkan jumlah status yang perlu kita simpan untuk agregasi yang sedang berlangsung.
Marka air saat ini dihitung dengan melihat yang terlihat di MAX(eventTime) semua partisi dalam kueri dikurangi pengguna yang ditentukan delayThreshold. Karena biaya koordinasi nilai ini di seluruh partisi, marka air aktual yang digunakan hanya dijamin setidaknya delayThreshold di belakang waktu peristiwa aktual.
Examples
from pyspark.sql import Row
from pyspark.sql.functions import timestamp_seconds
df = spark.readStream.format("rate").load().selectExpr(
"value % 5 AS value", "timestamp")
df.select("value", df.timestamp.alias("time")).withWatermark("time", '10 minutes')
# DataFrame[value: bigint, time: timestamp]