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