如何使用Spark DataFrame groupBy不是agg?

时间:2019-11-05 03:42:32

标签: dataframe apache-spark

我想要一个Spark DataFrame组。但是我不知道该怎么做?

仅使用spark对列进行分组。我用谷歌搜索,发现groupBy始终与“ agg”功能一起使用。但我不需要agg,只想获取组即可。

如果我使用Java,例如:

package spark.dataframe;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

public class Java {
    public static void main(String[] args) {
        List<A> list = new ArrayList<>();
        Map<Integer, List<A>> group = list.stream().collect(Collectors.groupingBy(e -> e.getAge()));
        // group type is what i want to get in spark.
    }
}

class A {
    private String name;
    private Integer age;

    public A(String name, Integer age) {
        this.name = name;
        this.age = age;
    }
    //geter
    //seter
}

有火花,怎么办?

    //groupBy
    df1.groupBy(df1("Embarked")).count().show()
    df1.groupBy(df1("Embarked")).sum("Fare").show()
    df1.groupBy(df1("Embarked")).agg("Parch" -> "sum").show()

    //groupBy not agg
    ??? todo ???

我想得到使用Spark解决问题的答案。

0 个答案:

没有答案