什么是手机归属?
294
2022-11-17
Flink常用API之转换算子->Map、reduce、Filter、KeyBy、Aggregations
DataStream 转换算子: 即通过从一个或多个 DataStream 生成新的 DataStream 的过程被称为 Transformation 操作。在转换过程中,每种操作类型被定义为不同的 Operator,Flink 程序能够将多个 Transformation 组成一个 DataFlow 的拓扑。
package transformationimport org.apache.flink.streaming.api.scala.StreamExecutionEnvironmentimport source.{MyCustomerSource, StationLog}/** * @Author yqq * @Date 2021/12/26 15:01 * @Version 1.0 */object TestTransformation{ def main(args: Array[String]): Unit = { //从自定义的数据源中读取基站通话日志,统计每个基站通话成功的总时长是多少秒 val en = StreamExecutionEnvironment.getExecutionEnvironment en.setParallelism(1) import org.apache.flink.streaming.api.scala._ //读取数据源 val stream: DataStream[StationLog] = en.addSource(new MyCustomerSource) //计算 stream.filter(_.callType.equals("success"))//过滤通话成功的日志 .map(log=>{(log.sid,log.duration)})//转换成二元组 .keyBy(0) .reduce((t1,t2)=>{ var duration = t1._2+t2._2 (t1._1,duration) }).print() en.execute() }}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~