Pular para o conteúdo principal

remover duplicados

Retorna um novo DataFrame com as 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 colunas, opcional

Lista de colunas a serem usadas para comparação de duplicados (default Todas as colunas).

Devoluções

DataFrame: DataFrame sem duplicados.

Notas

Para um DataFrame de lotes estático, ele simplesmente remove as linhas duplicadas. Para um DataFrame de transmissão, ele manterá todos os dados entre os gatilhos como estado intermediário para descartar linhas duplicadas. Você pode usar withWatermark para limitar o quão tarde os dados duplicados podem ser e o sistema limitará o estado de acordo. Além disso, os dados mais antigos que a marca d'água serão descartados para evitar qualquer possibilidade de duplicatas.

Exemplos

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