Condividi tramite


dropDuplicates

Restituisce un nuovo dataframe con righe duplicate rimosse, facoltativamente considerando solo determinate colonne.

Sintassi

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

Parametri

Parametro Tipo Descrizione
subset elenco di nomi di colonna, facoltativo Elenco di colonne da usare per il confronto duplicato (tutte le colonne predefinite).

Restituzioni

DataFrame: dataframe senza duplicati.

Note

Per un dataframe batch statico, elimina solo le righe duplicate. Per un dataframe di streaming, manterrà tutti i dati tra i trigger come stato intermedio per eliminare le righe duplicate. È possibile usare withWatermark per limitare il ritardo dei dati duplicati e il sistema limiterà di conseguenza lo stato. Inoltre, i dati più vecchi della filigrana verranno eliminati per evitare qualsiasi possibilità di duplicati.

Examples

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