spark agg算子使用
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算子使用相关推荐
- Spark学习之Spark RDD算子
个人主页zicesun.com 这里,从源码的角度总结一下Spark RDD算子的用法. 单值型Transformation算子 map /*** Return a new RDD by applyi ...
- Spark action算子案例
在上篇文章中,我们对Spark中几种常用的transformation算子通过Java和Scala两种代码分别进行了案例演示,Spark transformation算子案例 而在本文中,我们将继续 ...
- spark算子大全glom_(七)Spark Streaming 算子梳理 — repartition算子
目录 天小天:(一)Spark Streaming 算子梳理 - 简单介绍streaming运行逻辑 天小天:(二)Spark Streaming 算子梳理 - flatMap和mapPartitio ...
- Spark RDD算子(八)mapPartitions, mapPartitionsWithIndex
Spark RDD算子(八) mapPartitions scala版本 java版本 mapPartitionsWithIndex scala版本 java版本 mapPartitions mapP ...
- Spark部分算子及使用
Spark部分算子及使用 案例一:flatmap算子 def main(args: Array[String]): Unit = {val conf = new SparkConf().setAppN ...
- Spark _30_SparkStreaming算子操作Driver HA
SparkStreaming算子操作 foreachRDD output operation算子,必须对抽取出来的RDD执行action类算子,代码才能执行. import org.apache.sp ...
- Spark transformation算子案例
Spark支持两种RDD操作:transformation和action 在本文中,将对几个常用的transformation算子进行案例演示,采用Java和Scala两种语言对代码进行编写 其中 ...
- Spark RDD算子介绍
Spark学习笔记总结 01. Spark基础 1. 介绍 Spark可以用于批处理.交互式查询(Spark SQL).实时流处理(Spark Streaming).机器学习(Spark MLlib) ...
- Spark常用算子讲解一
map map是对RDD中的每个元素都执行一个指定的函数来产生一个新的RDD,RDD之间的元素是一对一关系. >>> x = sc.parallelize([1,2,3,4]) &g ...
最新文章
- Mysql Oracle 工具推荐
- JAVA基础实例(一)
- android double转string_Java数组转List的三种方式及对比
- (06)Verilog HDL组合逻辑:always
- freeswitch 用户配置详解_FreeSwitch安装配置记录-阿里云开发者社区
- Oauth2.0如何理解?
- Javascript的一种代码结构方式——插件式
- 如何将大华设备通过大华SDK接入Demo工具测试视频接入?
- Linux中JAVA服务器内存占用高(分析解决方法)
- Win10问题篇:解决电脑插入耳机没声音。
- 定时器+echarts运行时间太长导致内存溢出页面崩溃
- 使用WinRT OCR API的WPF中的OCR
- 货拉拉NLP算法实习生面经
- 在ArcGIS中快速搭建三维场景教程(从数据获取到软件制作)
- 使用echarts生成漂亮的3D地图
- 概要设计说明书(实例)
- 【PAT甲级 - C++题解】1147 Heaps
- 国足0-2日本 出线仅存理论可能
- JavaMail发送邮件手机客户端图片无法显示
- java-net-php-python-jsp房屋出租网站-视频演示计算机毕业设计程序
热门文章
- AJAX之父 Jesse James Garrett的用户体验要素
- IntelliJ Idea --- 翻译插件Translation
- 关于《基于eclipse的android项目实战—博学谷》的问题,为了这个差点疯了
- 保弘实业|关于人生理财必知的六个等式
- 1rem等于多少px (rem和px怎样转换)
- 你的人生你定义!享你所想,无惧冒险
- 三屏合一技术 html5,HTML5的跨屏台技术解决了HTML5游戏那些问题!
- 贵州支教之第三天(11月9日)
- 减慢游戏运行速度_使用网络交换机会减慢我的Internet速度吗?
- Python:好租网商务楼数据爬取