Flink 从0到1学习—— Flink 不可以连续 Split(分流)? (2)

那么这个问题解决方法是不是意味着就可以利用 Side Outputs 来解决呢?当然可以啦,官方都推荐了,还不能都话,那么不是打脸啪啪啪的响吗?不过这里还是卖个关子将 Side Outputs 后面专门用一篇文章来讲,感兴趣的可以先看看官网介绍:https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/side_output.html

另外其实也可以通过 split + filter 组合来解决这个问题,反正关键就是不要连续的用 split 来分流。

用 split + filter 的方案代码大概如下:

DataStream<AlertEvent> docekr = split.select(DOCKER); //选出容器的数据流 //容器告警的数据流 docekr.filter(new FilterFunction<AlertEvent>() { @Override public boolean filter(AlertEvent value) throws Exception { return !value.isRecover(); } }) .print(); //容器恢复的数据流 docekr.filter(new FilterFunction<AlertEvent>() { @Override public boolean filter(AlertEvent value) throws Exception { return value.isRecover(); } }) .print();

上面这种就是多次 filter 也可以满足需求,但是就是代码有点啰嗦。

总结

Flink 中不支持连续的 Split/Select 分流操作,要实现连续分流也可以通过其他的方式(split + filter 或者 side output)来实现

本篇文章连接是:

关注我

微信公众号:zhisheng

另外我自己整理了些 Flink 的学习资料,目前已经全部放到微信公众号了。你可以加我的微信:zhisheng_tian,然后回复关键字:Flink 即可无条件获取到。

Flink 从0到1学习—— Flink 不可以连续 Split(分流)?

更多私密资料请加入知识星球!

Flink 从0到1学习—— Flink 不可以连续 Split(分流)?

Github 代码仓库

https://github.com/zhisheng17/flink-learning/

以后这个项目的所有代码都将放在这个仓库里,包含了自己学习 flink 的一些 demo 和博客。

Flink 实战

1、Flink 从0到1学习—— Apache Flink 介绍

2、Flink 从0到1学习—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门

3、Flink 从0到1学习—— Flink 配置文件详解

4、Flink 从0到1学习—— Data Source 介绍

5、Flink 从0到1学习—— 如何自定义 Data Source ?

6、Flink 从0到1学习—— Data Sink 介绍

7、Flink 从0到1学习—— 如何自定义 Data Sink ?

8、Flink 从0到1学习—— Flink Data transformation(转换)

9、Flink 从0到1学习—— 介绍Flink中的Stream Windows

10、Flink 从0到1学习—— Flink 中的几种 Time 详解

11、Flink 从0到1学习—— Flink 写入数据到 ElasticSearch

12、Flink 从0到1学习—— Flink 项目如何运行?

13、Flink 从0到1学习—— Flink 写入数据到 Kafka

14、Flink 从0到1学习—— Flink JobManager 高可用性配置

15、Flink 从0到1学习—— Flink parallelism 和 Slot 介绍

16、Flink 从0到1学习—— Flink 读取 Kafka 数据批量写入到 MySQL

17、Flink 从0到1学习—— Flink 读取 Kafka 数据写入到 RabbitMQ

18、Flink 从0到1学习》—— 你上传的 jar 包藏到哪里去了?

19、Flink 从0到1学习 —— Flink 中如何管理配置?

源码解析

1、Flink 源码解析 —— 源码编译运行

2、Flink 源码解析 —— 项目结构一览

3、Flink 源码解析—— local 模式启动流程

4、Flink 源码解析 —— standalonesession 模式启动流程

5、Flink 源码解析 —— Standalone Session Cluster 启动流程深度分析之 Job Manager 启动

6、Flink 源码解析 —— Standalone Session Cluster 启动流程深度分析之 Task Manager 启动

7、Flink 源码解析 —— 分析 Batch WordCount 程序的执行过程

8、Flink 源码解析 —— 分析 Streaming WordCount 程序的执行过程

9、Flink 源码解析 —— 如何获取 JobGraph?

10、Flink 源码解析 —— 如何获取 StreamGraph?

11、Flink 源码解析 —— Flink JobManager 有什么作用?

12、Flink 源码解析 —— Flink TaskManager 有什么作用?

13、Flink 源码解析 —— JobManager 处理 SubmitJob 的过程

14、Flink 源码解析 —— TaskManager 处理 SubmitJob 的过程

15、Flink 源码解析 —— 深度解析 Flink Checkpoint 机制

16、Flink 源码解析 —— 深度解析 Flink 序列化机制

17、Flink 源码解析 —— 深度解析 Flink 是如何管理好内存的?原文出处:zhisheng的博客,欢迎关注我的公众号:zhisheng

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjpzx.html