假设我有一个类似于DataFrame的数据结构:
我希望根据列“b”的值来删除列“a”的重复行。例如,如果有列“a”的重复行,则保留具有较大“b”值的行。在上面的示例中,处理后,我只需要以下内容:
{"a":3, "b":9, "c":22, "d":12} 和 {"a":1, "b":4, "c":23, "d":12}
Spark DataFrame 的 dropDuplicates API 似乎不支持此操作。使用 RDD 方法,可以执行 map().reduceByKey() 操作,但是是否有DataFrame特定的操作可以实现此功能呢?
感谢您的帮助,谢谢。
val json = sc.parallelize(Seq("""{"a":1, "b":2, "c":22, "d":34}""","""{"a":3, "b":9, "c":22, "d":12}""","""{"a":1, "b":4, "c":23, "d":12}"""))
val df = sqlContext.read.json(json)
我希望根据列“b”的值来删除列“a”的重复行。例如,如果有列“a”的重复行,则保留具有较大“b”值的行。在上面的示例中,处理后,我只需要以下内容:
{"a":3, "b":9, "c":22, "d":12} 和 {"a":1, "b":4, "c":23, "d":12}
Spark DataFrame 的 dropDuplicates API 似乎不支持此操作。使用 RDD 方法,可以执行 map().reduceByKey() 操作,但是是否有DataFrame特定的操作可以实现此功能呢?
感谢您的帮助,谢谢。