Agradeceríamos tu apoyo para difundir nuestros artículos sobre las ciencias informáticas.
Solución:
No es un problema de importación. simplemente llamas .dropDuplicates()
en un objeto equivocado. mientras que la clase de sqlContext.createDataFrame(rdd1, ...)
es pyspark.sql.dataframe.DataFrame
después de aplicar .collect()
es un Python simple list
y las listas no proporcionan dropDuplicates
método. Lo que quieres es algo como esto:
(df1 = sqlContext
.createDataFrame(rdd1, ['column1', 'column2', 'column3', 'column4'])
.dropDuplicates())
df1.collect()
si tiene un marco de datos y desea eliminar todos los duplicados, con referencia a los duplicados en una columna específica (llamada ‘colName’):
contar antes de deduplicar:
df.count()
hacer la desduplicación (convertir la columna que está desduplicando a string escribe):
from pyspark.sql.functions import col
df = df.withColumn('colName',col('colName').cast('string'))
df.drop_duplicates(subset=['colName']).count()
puede usar un grupo ordenado para verificar que se hayan eliminado los duplicados:
df.groupBy('colName').count().toPandas().set_index("count").sort_index(ascending=False)
Aquí tienes las comentarios y calificaciones
Si sostienes algún disgusto o disposición de aclararse nuestro noticia te evocamos ejecutar una interpretación y con gusto lo interpretaremos.