spark sql的agg函数,作用:在整体DataFrame不分组聚合
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                spark sql的agg函数,作用:在整体DataFrame不分组聚合
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                1、agg(expers:column*) 返回dataframe類型 ,同數學計算求值
df.agg(max("age"), avg("salary"))
df.groupBy().agg(max("age"), avg("salary"))
2、agg(exprs: Map[String, String]) 返回dataframe類型 ,同數學計算求值 map類型的
df.agg(Map("age" -> "max", "salary" -> "avg"))
df.groupBy().agg(Map("age" -> "max", "salary" -> "avg"))
3、agg(aggExpr: (String, String), aggExprs: (String, String)*) 返回dataframe類型 ,同數學計算求值
df.agg(Map("age" -> "max", "salary" -> "avg"))
df.groupBy().agg(Map("age" -> "max", "salary" -> "avg"))
例子1:
scala>spark.version
res2:String=2.0.2
scala>caseclassTest(bf:Int,df:Int,duration:Int,tel_date:Int)
definedclassTest
scala>valdf=Seq(Test(1,1,1,1),Test(1,1,2,2),Test(1,1,3,3),Test(2,2,3,3),Test(2,2,2,2),Test(2,2,1,1)).toDF
df:org.apache.spark.sql.DataFrame=[bf:int,df:int...2morefields]
scala>df.show
+---+---+--------+--------+
|bf|df|duration|tel_date|
+---+---+--------+--------+
|1|1|1|1|
|1|1|2|2|
|1|1|3|3|
|2|2|3|3|
|2|2|2|2|
|2|2|1|1|
+---+---+--------+--------+
scala>df.groupBy("bf","df").agg(("duration","sum"),("tel_date","min"),("tel_date","max")).show()
+---+---+-------------+-------------+-------------+
|bf|df|sum(duration)|min(tel_date)|max(tel_date)|
+---+---+-------------+-------------+-------------+
|2|2|6|1|3|
|1|1|6|1|3|
+---+---+-------------+-------------+-------------+
注意:此處df已經少了列duration和tel_date,只有groupby的key和agg中的字段
例子2:
import pyspark.sql.functions as func
agg(func.max("event_time").alias("max_event_tm"),func.min("event_time").alias("min_event_tm"))
                            總結
以上是生活随笔為你收集整理的spark sql的agg函数,作用:在整体DataFrame不分组聚合的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 【STM32学习笔记】STM32f407
- 下一篇: Linux终端(terminal)清屏命
