Freigeben über


dropDuplicates

Zurückgeben eines neuen DataFrames mit entfernten doppelten Zeilen, optional nur unter Berücksichtigung bestimmter Spalten.

Syntax

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

Parameter

Parameter Typ Beschreibung
subset Liste der Spaltennamen, optional Liste der Spalten, die für den doppelten Vergleich verwendet werden sollen (Standard "Alle Spalten").

Rückkehr

DataFrame: DataFrame ohne Duplikate.

Hinweise

Bei einem statischen Batch dataFrame werden nur doppelte Zeilen abgelegt. Bei einem Streaming-DataFrame werden alle Daten über Trigger hinweg als Zwischenzustand beibehalten, um Duplikate von Zeilen abzulegen. Sie können withWatermark verwenden, um zu begrenzen, wie spät die duplizierten Daten sein können, und das System schränkt den Zustand entsprechend ein. Darüber hinaus werden Daten, die älter als Wasserzeichen sind, gelöscht, um mögliche Duplikate zu vermeiden.

Beispiele

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|
# +-----+---+------+