dropDuplicatesWithinWatermark

Filigran içinde isteğe bağlı olarak yalnızca belirli sütunları dikkate alarak yinelenen satırların kaldırıldığı yeni bir DataFrame döndürür.

Sözdizimi

dropDuplicatesWithinWatermark(subset: Optional[List[str]] = None)

Parametreler

Parametre Türü Açıklama
subset sütun adları listesi, isteğe bağlı Yinelenen karşılaştırma için kullanılacak sütunların listesi (varsayılan Tüm sütunlar).

İadeler

DataFrame: Yinelenenler olmadan DataFrame.

Notlar

Bu yalnızca akış DataFrame ile çalışır ve giriş DataFrame filigranı aracılığıyla withWatermarkayarlanmalıdır.

Bir akış DataFrame için bu, tetikleyiciler arasındaki tüm verileri yinelenen satırları bırakmak için ara durum olarak tutar. Durum, "En erken ve en son olayların zaman uzaklığı filigranın gecikme eşiğinden daha küçük olduğu sürece olaylar yinelenenleri kaldırır" semantiğini garanti edecek şekilde tutulur. Kullanıcıların yinelenen olaylar arasındaki maksimum zaman damgası farklarından daha uzun filigran gecikme eşiğini ayarlamaları tavsiye edilir.

Not: Filigrandan daha eski olan çok geç veriler bırakılır.

Spark Connect'i destekler.

Örnekler

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]

df.dropDuplicatesWithinWatermark()

df.dropDuplicatesWithinWatermark(['value'])