Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala apachespark agg()函数_Scala_Apache Spark Sql - Fatal编程技术网

Scala apachespark agg()函数

Scala apachespark agg()函数,scala,apache-spark-sql,Scala,Apache Spark Sql,对于示例数据帧或 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 */

对于示例数据帧

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 */
+---+---------+
|年龄|总和(基数)|
+---+---------+
agg()
是否需要任何varargs作为参数?
agg()
需要什么


提前感谢。

为了编写
。sum
此方法必须存在。它是在API上硬编码的。使用
.agg
可以提供其他聚合函数,
sum(“column”)
只是其中之一。

在for
agg
中,“ds.agg(…)是ds.groupBy().agg(…)的缩写。”


聚合函数
avg
max
min
sum
count
不是可以在数据帧上调用的方法:

scala> my_df.min("column")
<console> error: value min is not a member of org.apache.spark.sql.DataFrame
在数据帧上调用
groupBy()
将返回一个RelationalGroupedDataset,该数据集将这些聚合函数作为方法(的源代码):


你需要做什么?结果是按年龄分组的基数总和。这已经是一个聚合了。@JoostdenBoer:是的。总和、最小值、最大值、平均值等。。。。已经存在聚合函数。那么为什么DataFrameAPI提供agg()方法呢。我想,这意味着。。。。寻找那个东西!!
scala> my_df.agg(min("column"))
res0: org.apache.spark.sql.DataFrame = [min(column): double]
scala> my_df.groupBy().min("column")
res1: org.apache.spark.sql.DataFrame = [min(column): double]