Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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'])