簡體   English   中英

apache spark agg() 函數

[英]apache spark agg( ) function

對於示例數據scholor

scala> scholor.show

| id|  name|age|sal|base|

對於上面,下面都給出了相同的輸出。 那么 agg() 有什么用呢。 它只是為了名字。

scala> scholor.groupBy("age").sum("base").show      /*with out agg */

scala> scholor.groupBy("age").agg(sum("base")).show        /* with agg */
+---+---------+
|age|sum(base)|
+---+---------+

agg()是否需要任何可變參數作為參數? agg()需要什么?

提前致謝。

為了寫入.sum這個方法必須存在。 它在 API 上進行了硬編碼。 使用.agg您可以提供其他聚合函數, sum("column")只是其中之一。

agg源代碼來看,“ds.agg(...) 是 ds.groupBy().agg(...)”的簡寫。


聚合函數avgmaxminsumcount不是可以在 DataFrame 上調用的方法:

scala> my_df.min("column")
<console> error: value min is not a member of org.apache.spark.sql.DataFrame

agg是一個 DataFrame 方法,它接受這些聚合函數作為參數:

scala> my_df.agg(min("column"))
res0: org.apache.spark.sql.DataFrame = [min(column): double]

groupBy()上調用groupBy()會返回一個 RelationalGroupedDataset,它具有這些聚合函數作為方法( groupBy源代碼):

scala> my_df.groupBy().min("column")
res1: org.apache.spark.sql.DataFrame = [min(column): double]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM