spark中agg函数的使⽤
以前在学这个函数的时候,上课睡着了,哈哈哈,没注意听,讲⼀下agg函数的⽤法。
⾸先,你需要先知道他的使⽤场景,知道使⽤场景了你才能灵活的去运⽤它。
我们⼀般主要使⽤它做⼀下分组后的聚合操作与groupBy函数⼀起使⽤,也可以单独使⽤对整体进⾏聚合操作。下⾯给⼤家在⽹上了⼀段⾮常不错的代码:
1 upBy("gender").agg(max("age"),min("age"),avg("age"),count("classId")).show()
2//同样也可以这样写
3//upBy("gender").agg("age"->"max","age"->"min","age"->"avg","id"->"count").show()
4
5 stuDF.agg(max("age"),min("age"),avg("age"),count("classId")).show()
6
7 upBy("classId","gender").agg(max("age"),min("age"),avg("age"),count("classId")).orderBy("classId").show()
然后结果区别:
+------+--------+--------+------------------+--------------+
|gender|max(age)|min(age)|avg(age)|count(classId)|
+------+--------+--------+------------------+--------------+
groupby是什么函数| F|23|20|21.333333333333332|3|
| M|22|16|19.5|4|
+------+--------+--------+------------------+--------------+
+--------+--------+------------------+--------------+
|max(age)|min(age)|avg(age)|count(classId)|
+--------+--------+------------------+--------------+
|23|16|20.285714285714285|7|
+--------+--------+------------------+--------------+
+-------+------+--------+--------+--------+--------------+
|classId|gender|max(age)|min(age)|avg(age)|count(classId)|
+-------+------+--------+--------+--------+--------------+
|1001| F|20|20|20.0|1|
|1001| M|19|19|19.0|1|
|1002| M|16|16|16.0|1|
|1003| M|21|21|21.0|1|
|1003| F|23|23|23.0|1|
|1004| F|21|21|21.0|1|
|1004| M|22|22|22.0|1|
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论