【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战006--DateSet实用API详解006
来源:互联网 发布:mysql 字符函数 编辑:程序博客网 时间:2024/06/08 11:38
DateSet的API详解六
ReduceGroup
def reduceGroup[R](fun:(Iterator[T])⇒R)(implicit arg0:TypeInformation[R],arg1:ClassTag[R]):DataSet[R]def reduceGroup[R](fun: (Iterator[T], Collector[R]) ⇒ Unit(implicit arg0: TypeInformation[R], arg1: ClassTag[R]): DataSet[R]def reduceGroup[R](reducer: GroupReduceFunction[T, R])(implicit arg0: TypeInformation[R], arg1: ClassTag[R]): DataSet[R]Creates a new DataSet by passing all elements in this DataSet to the group reduce function.此函数和reduce函数类似,不过它每次处理一个grop而非一个元素。
ReduceGroup示例一,操作tuple
执行程序:
//1.定义 DataSet[(Int, String)]val input: DataSet[(Int, String)] = benv.fromElements((20,"zhangsan"),(22,"zhangsan"),(22,"lisi"),(20,"zhangsan"))//2.先用string分组,然后对分组进行reduceGroupval output = input.groupBy(1).reduceGroup { //将相同的元素用set去重 (in, out: Collector[(Int, String)]) => in.toSet foreach (out.collect)}//3.显示结果output.collect
执行结果:
res14: Seq[(Int, String)] = Buffer((22,lisi), (20,zhangsan), (22,zhangsan))
web ui中的执行效果:
ReduceGroup示例二,操作case class
//1.定义case classcase class Student(age: Int, name: String)//2.创建DataSet[Student]val input: DataSet[Student] = benv.fromElements(Student(20,"zhangsan"),Student(22,"zhangsan"),Student(22,"lisi"),Student(20,"zhangsan"))//3.以age进行分组,然后对分组进行reduceGroupval output = input.groupBy(_.age).reduceGroup { //将相同的元素用set去重 (in, out: Collector[Student]) => in.toSet foreach (out.collect) }//4.显示结果output.collect
执行结果:
res16: Seq[Student] = Buffer(Student(20,zhangsan), Student(22,zhangsan), Student(22,lisi))
阅读全文
0 0
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战006--DateSet实用API详解006
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战001--DateSet实用API详解001
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战002--DateSet实用API详解002
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战003--DateSet实用API详解003
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战004--DateSet实用API详解004
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战005--DateSet实用API详解005
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战007--DateSet实用API详解007
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战008--DateSet实用API详解008
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战009--DateSet实用API详解009
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战010--DateSet实用API详解010
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战011--DateSet实用API详解011
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战012--DateSet实用API详解012
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战013--DateSet实用API详解013
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战014--DateSet实用API详解014
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战015--DateSet实用API详解015
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战016--DateSet实用API详解016
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战017--DateSet实用API详解017
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战018--DateSet实用API详解018
- MySQL相关日志介绍
- Eclipse快捷键
- 手把手图文教你eclipse下如何配置tomcat
- OD常用断点和一些常用破解思路
- 在老项目中使用java8的日期
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战006--DateSet实用API详解006
- final finally和finalize的区别
- Android 常用开发工具类之 AppManager
- 查看linux系统是32还是64
- 修改、读取xml属性
- Code POJ
- Linux离线/在线部署JDK两种方式
- 测试
- Linux下用户组、文件权限详解