Compartilhar via


dropDuplicates

Retorne um novo DataFrame com linhas duplicadas removidas, opcionalmente considerando apenas determinadas colunas.

Sintaxe

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

Parâmetros

Parâmetro Tipo Descrição
subset lista de nomes de coluna, opcional Lista de colunas a serem usadas para comparação duplicada (todas as colunas padrão).

Devoluções

DataFrame: DataFrame sem duplicatas.

Observações

Para um DataFrame de lote estático, ele apenas descarta linhas duplicadas. Para um DataFrame de streaming, ele manterá todos os dados entre gatilhos como estado intermediário para remover linhas duplicadas. Você pode usar withWatermark para limitar a latência dos dados duplicados e o sistema limitará adequadamente o estado. Além disso, os dados mais antigos que a marca d'água serão descartados para evitar qualquer possibilidade de duplicatas.

Exemplos

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