dropDuplicates

Retourne un nouveau DataFrame avec des lignes dupliquées supprimées, éventuellement compte tenu de certaines colonnes.

Syntaxe

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

Paramètres

Paramètre Type Description
subset liste des noms de colonnes, facultatif Liste des colonnes à utiliser pour la comparaison en double (toutes les colonnes par défaut).

Retours

DataFrame: DataFrame sans doublons.

Remarques

Pour un DataFrame de lot statique, il supprime simplement les lignes dupliquées. Pour un DataFrame de streaming, il conserve toutes les données entre les déclencheurs en tant qu’état intermédiaire pour supprimer les lignes dupliquées. Vous pouvez utiliser withWatermark pour limiter la latence des données dupliquées et le système limite en conséquence l’état. En outre, les données antérieures au filigrane seront supprimées pour éviter toute possibilité de doublons.

Exemples

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