关闭

【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战002--DateSet实用API详解002

标签: apacheapistring批处理编程
6578人阅读 评论(0) 收藏 举报
分类:

DateSet的API详解二

min

def min(field: Int): AggregateDataSet[T]
def min(field: String): AggregateDataSet[T]

Syntactic sugar for aggregate with MIN

获取最小的元素

执行程序:

//1.创建DataSet[Student]
case class Student(age: Int, name: String,height:Double)
val input: DataSet[Student] = benv.fromElements(
Student(16,"zhangasn",194.5),
Student(17,"zhangasn",184.5),
Student(18,"zhangasn",174.5),
Student(16,"lisi",194.5),
Student(17,"lisi",184.5),
Student(18,"lisi",174.5))

//2.获取age最小的元素
val output0: DataSet[Student] = input.min(0)
output0.collect

//3.获取age最小的元素
val output1: DataSet[Student] = input.min("age")
output1.collect

执行结果:

Scala-Flink> output0.collect
res78: Seq[Student] = Buffer(Student(16,lisi,174.5))

Scala-Flink> output1.collect
res79: Seq[Student] = Buffer(Student(16,lisi,174.5))

max

def max(field: String): AggregateDataSet[T]
def max(field: Int): AggregateDataSet[T]

Syntactic sugar for aggregate with MAX

获取最大的元素

执行程序:

//1.创建DataSet[Student]
case class Student(age: Int, name: String,height:Double)
val input: DataSet[Student] = benv.fromElements(
Student(16,"zhangasn",194.5),
Student(17,"zhangasn",184.5),
Student(18,"zhangasn",174.5),
Student(16,"lisi",194.5),
Student(17,"lisi",184.5),
Student(18,"lisi",174.5))

//2.获取age最小的元素
val output0: DataSet[Student] = input.max(0)
output0.collect

//3.获取age最小的元素
val output1: DataSet[Student] = input.max("age")
output1.collect

执行结果:

Scala-Flink> output0.collect
res79: Seq[Student] = Buffer(Student(18,lisi,174.5))

Scala-Flink> output1.collect
res79: Seq[Student] = Buffer(Student(18,lisi,174.5))

sum

def sum(field: String): AggregateDataSet[T]
def sum(field: Int): AggregateDataSet[T]

Syntactic sugar for aggregate with SUM

获取元素的累加和,只能作用于数值类型

执行程序:

//1.创建 DataSet[Student]
case class Student(age: Int, name: String,height:Double)
val input: DataSet[Student] = benv.fromElements(
Student(16,"zhangasn",194.5),
Student(17,"zhangasn",184.5),
Student(18,"zhangasn",174.5),
Student(16,"lisi",194.5),
Student(17,"lisi",184.5),
Student(18,"lisi",174.5))

//2.fieldIndex=0的列进行sum
val s0=input.sum(0)
s0.collect

//3.fieldName="age"的列进行sum
val s1=input.sum("age")
s1.collect

//4.fieldName="height"的列进行sum
val s2=input.sum("height")
s2.collect

执行结果:

Scala-Flink> s0.collect
res111: Seq[Student] = Buffer(Student(102,lisi,174.5))

Scala-Flink> s1.collect
res112: Seq[Student] = Buffer(Student(102,lisi,174.5))

Scala-Flink> s2.collect
res113: Seq[Student] = Buffer(Student(18,lisi,1107.0))
0
0
查看评论

【云星数据---Apache Flink实战系列(精品版)】:Apache Flink实战基础004--flink特性:类库和API示例

三、类库和API1.流处理程序flink的 DataStream API在流处理的业务场景下,支持多种数据转换,支持用户自定义状态的操作,支持灵活的窗口操作!示例程序: //1.定义case class case class Word(word: String, freq: Long)//2.定...
  • liguohuaBigdata
  • liguohuaBigdata
  • 2017-11-12 14:06
  • 6993

Apache Flink:特性、概念、组件栈、架构及原理分析

Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时(Flink Runtime),提供支持流处理和批处理两种类型应用的功能。现有的开源计算方案,会把流处理和批处理作为两种不同的应用类型,因为他们它们所提供的SLA是完全不相同的:流处理一般...
  • libing13810124573
  • libing13810124573
  • 2016-05-11 22:07
  • 465

【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战003--DateSet实用API详解003

DateSet的API详解三getTypedef getType(): TypeInformation[T]Returns the TypeInformation for the elements of this DataSet.获取DataSet的元素的类型信息执行程序://1.创建一个 Data...
  • liguohuaBigdata
  • liguohuaBigdata
  • 2017-11-15 13:42
  • 6583

【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战007--DateSet实用API详解007

DateSet的API详解七sortGroupAdds a secondary sort key to this GroupedDataSet. This will only have an effect if you use one of the group-at-a-time, i.e. red...
  • liguohuaBigdata
  • liguohuaBigdata
  • 2017-11-16 09:37
  • 6540

【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战021--DateSet实用API详解021

Flink DateSet定制API详解(Scala版) -002flatMap以element为粒度,对element进行1:n的转化。执行程序:package code.book.batch.dataset.advance.apiimport org.apache.flink.api.commo...
  • liguohuaBigdata
  • liguohuaBigdata
  • 2017-11-17 10:17
  • 6470

【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战026--DateSet实用API详解026

一、Flink DateSet定制API详解(JAVA版) -003Reduce以element为粒度,对element进行合并操作。最后只能形成一个结果。执行程序:package code.book.batch.dataset.advance.api;import org.apache.flink...
  • liguohuaBigdata
  • liguohuaBigdata
  • 2017-11-18 16:29
  • 6445

【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战010--DateSet实用API详解010

DateSet的API详解十leftOuterJoindef leftOuterJoin[O](other: DataSet[O], strategy: JoinHint): UnfinishedOuterJoinOperation[T, O] def leftOuterJoin[O](other:...
  • liguohuaBigdata
  • liguohuaBigdata
  • 2017-11-16 09:57
  • 6621

【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战001--DateSet实用API详解001

DateSet的API详解一printdef print(): UnitPrints the elements in a DataSet to the standard output stream System.将信息输出到标准输出设备。执行程序://1.创建一个 DataSet其元素为String...
  • liguohuaBigdata
  • liguohuaBigdata
  • 2017-11-15 13:34
  • 6622

【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战022--DateSet实用API详解022

Flink DateSet定制API详解(Scala版) -003Reduce以element为粒度,对element进行合并操作。最后只能形成一个结果。执行程序:package code.book.batch.dataset.advance.apiimport org.apache.flink.a...
  • liguohuaBigdata
  • liguohuaBigdata
  • 2017-11-17 10:18
  • 6528

【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战018--DateSet实用API详解018

zipWithIndexdef zipWithUniqueId: DataSet[(Long, T)]Method that assigns a unique id to all the elements of the input data set.元素和随机唯一的ID进行zip操作。执行程序://...
  • liguohuaBigdata
  • liguohuaBigdata
  • 2017-11-17 10:08
  • 6473
    个人资料
    • 访问:1095820次
    • 积分:11486
    • 等级:
    • 排名:第1608名
    • 原创:193篇
    • 转载:1篇
    • 译文:0篇
    • 评论:5条
    博客专栏
    文章分类
    文章存档