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> case class Test(bf: Int, df: Int, duration: Int, tel_date: Int)
defined class Test
 
scala> val df = 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 ... 2 more fields]
 
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 agg算子使用相关推荐

  1. Spark学习之Spark RDD算子

    个人主页zicesun.com 这里,从源码的角度总结一下Spark RDD算子的用法. 单值型Transformation算子 map /*** Return a new RDD by applyi ...

  2. Spark action算子案例

    在上篇文章中,我们对Spark中几种常用的transformation算子通过Java和Scala两种代码分别进行了案例演示,Spark transformation算子案例  而在本文中,我们将继续 ...

  3. spark算子大全glom_(七)Spark Streaming 算子梳理 — repartition算子

    目录 天小天:(一)Spark Streaming 算子梳理 - 简单介绍streaming运行逻辑 天小天:(二)Spark Streaming 算子梳理 - flatMap和mapPartitio ...

  4. Spark RDD算子(八)mapPartitions, mapPartitionsWithIndex

    Spark RDD算子(八) mapPartitions scala版本 java版本 mapPartitionsWithIndex scala版本 java版本 mapPartitions mapP ...

  5. Spark部分算子及使用

    Spark部分算子及使用 案例一:flatmap算子 def main(args: Array[String]): Unit = {val conf = new SparkConf().setAppN ...

  6. Spark _30_SparkStreaming算子操作Driver HA

    SparkStreaming算子操作 foreachRDD output operation算子,必须对抽取出来的RDD执行action类算子,代码才能执行. import org.apache.sp ...

  7. Spark transformation算子案例

    Spark支持两种RDD操作:transformation和action  在本文中,将对几个常用的transformation算子进行案例演示,采用Java和Scala两种语言对代码进行编写  其中 ...

  8. Spark RDD算子介绍

    Spark学习笔记总结 01. Spark基础 1. 介绍 Spark可以用于批处理.交互式查询(Spark SQL).实时流处理(Spark Streaming).机器学习(Spark MLlib) ...

  9. Spark常用算子讲解一

    map map是对RDD中的每个元素都执行一个指定的函数来产生一个新的RDD,RDD之间的元素是一对一关系. >>> x = sc.parallelize([1,2,3,4]) &g ...

最新文章

  1. Mysql Oracle 工具推荐
  2. JAVA基础实例(一)
  3. android double转string_Java数组转List的三种方式及对比
  4. (06)Verilog HDL组合逻辑:always
  5. freeswitch 用户配置详解_FreeSwitch安装配置记录-阿里云开发者社区
  6. Oauth2.0如何理解?
  7. Javascript的一种代码结构方式——插件式
  8. 如何将大华设备通过大华SDK接入Demo工具测试视频接入?
  9. Linux中JAVA服务器内存占用高(分析解决方法)
  10. Win10问题篇:解决电脑插入耳机没声音。
  11. 定时器+echarts运行时间太长导致内存溢出页面崩溃
  12. 使用WinRT OCR API的WPF中的OCR
  13. 货拉拉NLP算法实习生面经
  14. 在ArcGIS中快速搭建三维场景教程(从数据获取到软件制作)
  15. 使用echarts生成漂亮的3D地图
  16. 概要设计说明书(实例)
  17. 【PAT甲级 - C++题解】1147 Heaps
  18. 国足0-2日本 出线仅存理论可能
  19. JavaMail发送邮件手机客户端图片无法显示
  20. java-net-php-python-jsp房屋出租网站-视频演示计算机毕业设计程序

热门文章

  1. AJAX之父 Jesse James Garrett的用户体验要素
  2. IntelliJ Idea --- 翻译插件Translation
  3. 关于《基于eclipse的android项目实战—博学谷》的问题,为了这个差点疯了
  4. 保弘实业|关于人生理财必知的六个等式
  5. 1rem等于多少px (rem和px怎样转换)
  6. 你的人生你定义!享你所想,无惧冒险
  7. 三屏合一技术 html5,HTML5的跨屏台技术解决了HTML5游戏那些问题!
  8. 贵州支教之第三天(11月9日)
  9. 减慢游戏运行速度_使用网络交换机会减慢我的Internet速度吗?
  10. Python:好租网商务楼数据爬取