dropDuplicates

Adjon vissza egy új DataFrame-et, amely ismétlődő sorokat távolít el, opcionálisan csak bizonyos oszlopokat figyelembe véve.

Szemantika

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

Paraméterek

Paraméter Típus Leírás
subset oszlopnevek listája, nem kötelező A duplikált összehasonlításhoz használandó oszlopok listája (alapértelmezés szerint minden oszlop).

Visszatérítések

DataFrame: DataFrame duplikációk nélkül.

Jegyzetek

Statikus köteg DataFrame esetén egyszerűen elveti az ismétlődő sorokat. Streamelt DataFrame esetén az összes adatot köztes állapotban tartja az eseményindítók között az ismétlődő sorok elvetéséhez. A duplikált adatok késésének korlátozására használható withWatermark , és a rendszer ennek megfelelően korlátozza az állapotot. Emellett a vízjelnél régebbi adatokat is elvetjük, hogy elkerüljük az ismétlődések lehetőségét.

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