dropDuplicates

Devuelve un nuevo DataFrame con filas duplicadas quitadas, opcionalmente solo teniendo en cuenta ciertas columnas.

Sintaxis

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

Parámetros

Parámetro Tipo Descripción
subset lista de nombres de columna, opcional Lista de columnas que se van a usar para la comparación duplicada (todas las columnas predeterminadas).

Devoluciones

DataFrame: DataFrame sin duplicados.

Notas

En el caso de un dataframe de lote estático, solo quita filas duplicadas. En el caso de un DataFrame de streaming, mantendrá todos los datos entre desencadenadores como estado intermedio para quitar filas duplicadas. Puede usar withWatermark para limitar la latencia de los datos duplicados y el sistema limitará el estado en consecuencia. Además, los datos más antiguos que la marca de agua se quitarán para evitar cualquier posibilidad de duplicados.

Ejemplos

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