【问题标题】:Multiple columns values comparison in Spark dataframeSpark数据框中的多列值比较
【发布时间】:2017-01-20 23:55:17
【问题描述】:

我有多行的数据框,基于一列我想比较每一列的值并找到列名。

例如 DF - id,name,address,street,city,country,zipcode 根据ID,我想找出哪些字段有差异。

Seq(1,aaa,no55,melbourne,australia,00001)
Seq(1,aaa,no55,melbourne,australia,00002)
Seq(2,aaa,no55,melbourne,australia,00001)
Seq(2,aaa,no55,melbourne,australia,00001)

这里,邮政编码在 ID=1 中存在差异

如何以更有效的方式执行此操作,因为我想检查该数据框中的 50 列。感谢您的提前。

【问题讨论】:

  • 是否有任何一组行可以与您的输入数据进行比较?如果是的话那么有可能
  • 是 FaigB,即基于 ID 列。将比较多个相同的 ID 列。

标签: scala apache-spark spark-dataframe


【解决方案1】:

使用df.groupBy("all your columns here").count().filter("count = 1").show,它会给你所有不同的记录,至少有一列

【讨论】:

  • 嗨伙计,我已经在使用下面的查询并理解你上面的查询。它将给出整行但我的观点是需要获得确切的列和相应的值,如 Zipcode(00002) DF.where (col("status").isin("YY", "XX")).groupBy("ref_no") .agg(countDistinct("我的所有列在这里").as("RULE1")) .where(col ("RULE1").gt(1))
猜你喜欢
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
  • 1970-01-01
  • 2022-08-18
  • 2015-03-23
  • 2017-03-08
  • 1970-01-01
  • 2020-08-13
相关资源
最近更新 更多