Aller au contenu principal

dropDuplicates

Renvoie un nouveau DataFrame avec les lignes en double supprimées, en ne considérant que certaines colonnes, le cas échéant.

Syntaxe​

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

parameter​

parameter

Type

Description

subset

liste des noms de colonne, facultatif

Liste des colonnes à utiliser pour la comparaison des doublons (default toutes les colonnes).

parameter

Type

Description

subset

liste des noms de colonne, facultatif

Liste des colonnes à utiliser pour la comparaison des doublons (default toutes les colonnes).

Renvoie​

DataFrame: DataFrame sans doublons.

Notes​

Pour un DataFrame batch statique, il supprime simplement les lignes en double. Pour un DataFrame de streaming, il conservera toutes les données de tous les Trigger comme état intermédiaire pour supprimer les lignes en double. Vous pouvez utiliser withWatermark pour limiter le retard des données en double, et le système limitera l'état en conséquence. De plus, les données plus anciennes que le watermark seront supprimées afin d'éviter toute possibilité de doublons.

Exemples​

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