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