我想要一个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解决问题的答案。