【发布时间】:2017-12-30 19:22:02
【问题描述】:
我有一个dataframe 列,其中array 的string 如下所示。 (键,值)对
ColA
[(1,2),(1,3),(1,4),(2,3)]
我必须按最小值删除重复键并获得结果。 不想爆炸就去做。密钥应该是唯一的,并且根据最小值选择密钥。在上列中,有三对 key 为 1。所以应该选择 (1,2),因为值 2 是 (1,2),(1,3),(1,4) 中的最小值
输出应该是: 可乐 [(1,2),(2,3)]
我创建了一个类似 udf 的
Val removeDup = udf((arr: Seq[String]) => {
Arr.map(x=>x.split(","))}))
不能将reduceby 键用作dataframe/dataset。
【问题讨论】:
-
你能清楚地说明输入数据框列吗?
-
数据框中只有一列
-
如果取最小值,如何得到 ColA (1,2),(2,3)?
-
编辑了更多解释
-
@Deek 您可以为您拥有的数据框提供示例输入数据吗?
标签: scala apache-spark apache-spark-sql user-defined-functions