Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Retourneer een nieuw DataFrame met dubbele rijen die zijn verwijderd, eventueel alleen rekening houdend met bepaalde kolommen binnen het watermerk.
Syntaxis
dropDuplicatesWithinWatermark(subset: Optional[List[str]] = None)
Parameterwaarden
| Kenmerk | Typ | Beschrijving |
|---|---|---|
subset |
Lijst met kolomnamen, optioneel | Lijst met kolommen die moeten worden gebruikt voor dubbele vergelijking (standaard alle kolommen). |
Retouren
DataFrame: DataFrame zonder duplicaten.
Aantekeningen
Dit werkt alleen met streaming DataFrame en watermerk voor het invoerdataframe moet worden ingesteld via withWatermark.
Voor een streaming DataFrame worden alle gegevens over triggers bewaard als tussenliggende status om dubbele rijen te verwijderen. De status blijft behouden om de semantische status 'Gebeurtenissen worden ontdubbeld zolang de tijdsafstand van vroegste en meest recente gebeurtenissen kleiner is dan de vertragingsdrempel van het watermerk'. Gebruikers worden aangemoedigd om de vertragingsdrempel van watermerk langer in te stellen dan de maximale tijdstempelverschillen tussen dubbele gebeurtenissen.
Opmerking: te late gegevens die ouder zijn dan watermerk, worden verwijderd.
Ondersteunt Spark Connect.
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]
df.dropDuplicatesWithinWatermark()
df.dropDuplicatesWithinWatermark(['value'])