Flink BaseTransform

  1. Map
  2. FlatMap
  3. Filter

Map

特点:一对一,可以改变数据类型
一对一:一个数据只返回一个数据 eg:a->b 虽然数据不同了但是还是一个
可以改变数据类型:通过map操作可以返回任意一个已经存在的类型
eg:string=>UDF自定义类型

 public static void main(String[] args) throws Exception {StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(1);//测试可以直接使用绝对路径String path = "hello.txt";DataStream<String> inputDataStream = env.readTextFile(path);//map算子需要传递一个MapFunction,可以使用匿名类,自定义类,或者lambda表达式,这里使用匿名类的方法,相比之下比较适中。DataStream<Integer> outputDataStream = inputDataStream.map(new MapFunction<String, Integer>() {@Overridepublic Integer map(String s) throws Exception {return s.length();}});outputDataStream.print("Map");env.execute();}

FlatMap

特点:一对多,可以改变数据类型
一对多:向下兼容一对一
改变数据类型:略

 public static void main(String[] args) throws Exception {StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(1);//测试可以直接使用绝对路径String path = "hello.txt";DataStream<String> inputDataStream = env.readTextFile(path);DataStream<String> outputDataStream = inputDataStream.flatMap(new FlatMapFunction<String, String>() {@Overridepublic void flatMap(String value, Collector<String> out) throws Exception {String[] split = value.split(",");//将一个String拆分为多个String返回for (String s : split) {out.collect(s);}}});outputDataStream.print("FlatMap");env.execute();}

Filter

特点:不能改变数据类型即来什么数据类型返回就是什么数据类型

public static void main(String[] args) throws Exception {StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(1);//测试可以直接使用绝对路径String path = "hello.txt";DataStream<String> inputDataStream = env.readTextFile(path);DataStream<String> outputDataStream = inputDataStream.filter(new FilterFunction<String>() {@Overridepublic boolean filter(String value) throws Exception {return value.startsWith("'sensor_1'");}});outputDataStream.print("Fliter");env.execute("");}

Flink专题-BaseTransform相关推荐

  1. Flink专题-Source

    Flink Source 进入flink的数据源大致分为以下几类: 集合 Collection 文件 File Kafka UDF 一般都是使用前三个source源即可,如果想要使用其他数据源就可以自 ...

  2. Flink专题四:Flink DataStream 窗口介绍及使用

    由于工作需要最近学习flink 现记录下Flink介绍和实际使用过程 这是flink系列的第四篇文章 Flink DataStream 窗口介绍及使用 窗口介绍 时间窗口 翻滚窗口(数据以一个时间断为 ...

  3. 一文弄懂Flink基础理论

    文章目录 Flink概述 Flink生态 为什么选择Flink? 系统架构 JobManager 运行架构 常用的类型和操作 程序结构介绍 并行数据流 Task and Operator Chains ...

  4. 2019 Flink Forward 大会最全视频来了!(附PPT下载) | 5大专题不容错过

    简介: Flink Forward 2019 于今年11月28日在北京举行,规模2000人.本文收录了5大专场,35个大咖精彩演讲合辑,精彩内容一次性打包给你! 点击pdf下载,收获全套资料 算力制胜 ...

  5. 赠票 | 重磅揭晓Flink Forward Asia 2019完整议程!

     文末有数据派独家赠票福利呦! 60 年前, 人工智能的诞生刷新了人类对技术的期待: 过去 10 年, 大数据.云计算等核心技术的发展, 推动了整个社会的重构与革新: 5 年时间, 移动互联网从诞生到 ...

  6. 杠上Spark、Flink?Kafka为何转型流数据平台

    AI前线导读: 消息中间件系统(比如RabbitMQ.Kafka.Pulsar等)是现代实时数据或者流数据基础架构的关键环节.它通常作为一个数据管道,链接了各种业务前台和数据后台(比如数仓等).但是随 ...

  7. Flink Forward Asia Hackathon 最新参赛指南请查收

    简介:奖金翻倍,赛程延长!愿各位开发者都能够取得好成绩. 首届 Flink Forward Asia Hackathon 已经正式启动.本次新颖的开放式命题得到了广大开发者的关注,目前在 GitHub ...

  8. @所有人 Flink Forward Asia 2020 向您发出议题征集邀请!

    简介:2020年,加快应用数字技术,推动企业的数字化转型.科学高效发展几乎已成为业界共识.人工智能.大数据.云计算.移动互联网...每一场技术革新都曾被寄予厚望.在此背景下,企业与个人如何不被时代浪潮 ...

  9. 基于Flink的高可靠实时ETL系统

    GIAC(GLOBAL INTERNET ARCHITECTURE CONFERENCE)是长期关注互联网技术与架构的高可用架构技术社区和msup推出的,面向架构师.技术负责人及高端技术从业人员的年度 ...

最新文章

  1. 【大数据分析常用算法】1.二次排序
  2. first dairy----the birth of my blog···
  3. ubuntu较快台湾源
  4. all resources based on handshake
  5. python技术介绍_Python编程语言基础技术框架()之函数介绍
  6. SAP CRM webclient ui help link超链接的生成逻辑
  7. 网络(8)-HTTP、Socket、TCP、UDP的区别和联系
  8. disable jboss JMXInvokerServlet .
  9. 时点数列序时平均数_时点数列序时平均数计算方法研究
  10. mysql lru scan depth_如何解决mysql警告:“ InnoDB:page_cleaner:1000毫秒的预期循环用了XXX毫秒。设置可能不是最佳的”?...
  11. IPv4和IPv6比特转发率和包转发率的关系
  12. 卫星地图破坏男女恋人之间的关系
  13. Java中serialVersionUID作用
  14. 微信小程序echarts问题整理与解决
  15. 进击的速溶咖啡:当中国AI开始玩工业化
  16. cannot be cast to com.xxx.xxx.model.User] with root cause
  17. python使用pyecharts绘制地图
  18. 政务OA办公系统搭建现状
  19. java写入文件几种方法
  20. VUE鼠标移入移出改变元素样式

热门文章

  1. 高性能服务器 - window篇
  2. list Control实现单元格编辑与插入Combo Box
  3. 漫游Kafka实现篇之消息和日志
  4. CreatePipe匿名管道通信
  5. cocos2d-x游戏开发(二)开始菜单续
  6. 吐血整理 | 肝翻 Linux 进程调度所有知识点|中奖揭晓
  7. Java多线程知识小抄集(二)
  8. 面试官:String的最大长度是多少?
  9. 曹大带我学 Go(9)—— 开始积累自己的工具库
  10. 【线上分享】海外超低延时链路设计的挑战与优化实践