从pyspark数据框中删除具有相同值但在不同列中的重复行

时间:2019-09-26 07:09:23

标签: pyspark pyspark-dataframes

我想从两列中删除重复的行。包含两个值的行具有相同的记录,但顺序相反。

|--------------|-------------------|
|   name       |   alt_name        |
|----------------------------------|
|  a10.samsung | a20.samsung       |
|  x.iphone    |  xr.iphone        |
|  3.nokia     |  5.nokia          |
| a20.samsung  | a10.samsung       |
| 5.nokia      | 3.nokia           |
|  xr.iphone   |  x.iphone         |
------------------------------------

我要跟踪输出;

|--------------|-------------------|
|   name       |   alt_name        |
|----------------------------------|
|  3.nokia     |  5.nokia          |
|  a10.samsung | a20.samsung       |
|  x.iphone    |  xr.iphone        |
------------------------------------

1 个答案:

答案 0 :(得分:2)

您可以使用spark sql来做到这一点:

我假设您原来的数据框名称为手机,并使用代码删除重复项:

mobiles.createTempView('tablename')

newDF= spark.sql("select * from tablename where name<=alt_name")

newDF.show()