pyspark 中去重操作

distinct

  • rdd、dataframe 均可使用

按照某一列进行去重

1 使用reduceByKey
  • rdd 使用

  • 例子:对x[0] 进行去重,将x[0]作为key,其余作为value,(x[0],v),使用 reduceByKey(lambda x,y:x) 即可

2 使用dropDuplicates(drop_duplicates)
  • dataframe 使用

  • df.dropDuplicates([col_name1, col_name2])

3 开窗函数 ROW_NUMBER()

F.row_number().over(Window.partitionBy(col_name1).orderBy(col_name2))

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐