Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Returnera en ny DataFrame med duplicerade rader borttagna, om du bara vill överväga vissa kolumner.
Syntax
dropDuplicates(subset: Optional[List[str]] = None)
Parameters
| Parameter | Type | Beskrivning |
|---|---|---|
subset |
lista över kolumnnamn, valfritt | Lista över kolumner som ska användas för dubblettjämförelse (standard alla kolumner). |
Retur
DataFrame: DataFrame utan dubbletter.
Notes
För en statisk batchdataram släpper den bara dubbletter av rader. För en strömmande DataFrame behåller den alla data över utlösare som mellanliggande tillstånd för att släppa dubbletter av rader. Du kan använda withWatermark för att begränsa hur sent duplicerade data kan vara och systemet begränsar därmed tillståndet. Dessutom tas data som är äldre än vattenstämpeln bort för att undvika eventuella dubbletter.
Exempel
from pyspark.sql import Row
df = spark.createDataFrame([
Row(name='Alice', age=5, height=80),
Row(name='Alice', age=5, height=80),
Row(name='Alice', age=10, height=80)
])
df.dropDuplicates().show()
# +-----+---+------+
# | name|age|height|
# +-----+---+------+
# |Alice| 5| 80|
# |Alice| 10| 80|
# +-----+---+------+
df.dropDuplicates(['name', 'height']).show()
# +-----+---+------+
# | name|age|height|
# +-----+---+------+
# |Alice| 5| 80|
# +-----+---+------+