flink-learning

Introduction: flink learning blog. http://www.54tianzhisheng.cn
More: Author   ReportBugs   OfficialWebsite   
Tags:

麻烦路过的各位亲给这个项目点个 star,太不易了,写了这么多,算是对我坚持下来的一种鼓励吧!

本项目结构

How to build

Maybe your Maven conf file settings.xml mirrors can add aliyun central mirror :

<mirror>
  <id>alimaven</id>
  <mirrorOf>central</mirrorOf>
  <name>aliyun maven</name>
  <url>https://maven.aliyun.com/repository/central</url>
</mirror>

then you can run the following command :

mvn clean package -Dmaven.test.skip=true

you can see following result if build success.

基于 Flink 1.9 讲解的专栏,涉及入门、概念、原理、实战、性能调优、系统案例的讲解。扫码下面专栏二维码可以订阅该专栏

首发地址:http://www.54tianzhisheng.cn/2019/11/15/flink-in-action/

专栏地址:https://gitbook.cn/gitchat/column/5dad4a20669f843a1a37cb4f

Change

2019/09/06 将该项目的 Flink 版本升级到 1.9.0,有一些变动,Flink 1.8.0 版本的代码经群里讨论保存在分支 feature/flink-1.8.0 以便部分同学需要。

2019/06/08 四本 Flink 书籍:

2019/06/09 新增流处理引擎相关的 Paper,在 paper 目录下:

博客

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 读取 Kafka 数据写入到 ElasticSearch

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

13、Flink 从 0 到 1 学习 —— Flink 读取 Kafka 数据写入到 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 学习 —— Flink 读取 Kafka 数据写入到 HBase

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

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

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

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

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

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

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

26、Flink 从 0 到 1 学习 —— 你的 Flink job 日志跑到哪里去了

学习资料

另外我自己整理了些 Flink 的学习资料,目前已经全部放到微信公众号了。 你可以加我的微信:yuanblog_tzs,然后回复关键字:Flink 即可无条件获取到,转载请联系本人获取授权,违者必究。

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

有人要问知识星球里面更新什么内容?值得加入吗?

目前知识星球内已更新的系列文章:

大数据重磅炸弹

1、《大数据重磅炸弹——实时计算引擎 Flink》开篇词

2、、你公司到底需不需要引入实时计算引擎?

3、一文让你彻底了解大数据实时计算框架 Flink

4、别再傻傻的分不清大数据框架 Flink、Blink、Spark Streaming、Structured Streaming 和 Storm 之间的区别了

5、Flink 环境准备看这一篇就够了

6、一文讲解从 Flink 环境安装到源码编译运行

7、通过 WordCount 程序教你快速入门上手 Flink  ​

8、Flink 如何处理 Socket 数据及分析实现过程

9、Flink job 如何在 Standalone、YARN、Mesos、K8S 上部署运行?

10、Flink 数据转换必须熟悉的算子(Operator)

11、Flink 中 Processing Time、Event Time、Ingestion Time 对比及其使用场景分析

12、如何使用 Flink Window 及 Window 基本概念与实现原理

13、如何使用 DataStream API 来处理数据?

14、Flink WaterMark 详解及结合 WaterMark 处理延迟数据

源码系列

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 是如何管理好内存的?

18、Flink Metrics 源码解析 —— Flink-metrics-core

19、Flink Metrics 源码解析 —— Flink-metrics-datadog

20、Flink Metrics 源码解析 —— Flink-metrics-dropwizard

21、Flink Metrics 源码解析 —— Flink-metrics-graphite

22、Flink Metrics 源码解析 —— Flink-metrics-influxdb

23、Flink Metrics 源码解析 —— Flink-metrics-jmx

24、Flink Metrics 源码解析 —— Flink-metrics-slf4j

25、Flink Metrics 源码解析 —— Flink-metrics-statsd

26、Flink Metrics 源码解析 —— Flink-metrics-prometheus

26、Flink Annotations 源码解析

除了《从 1 到 100 深入学习 Flink》源码学习这个系列文章,《从 0 到 1 学习 Flink》的案例文章也会优先在知识星球更新,让大家先通过一些 demo 学习 Flink,再去深入源码学习!

如果学习 Flink 的过程中,遇到什么问题,可以在里面提问,我会优先解答,这里做个抱歉,自己平时工作也挺忙,微信的问题不能做全部做一些解答, 但肯定会优先回复给知识星球的付费用户的,庆幸的是现在星球里的活跃氛围还是可以的,有不少问题通过提问和解答的方式沉淀了下来。

1、为何我使用 ValueState 保存状态 Job 恢复是状态没恢复?

2、flink 中 watermark 究竟是如何生成的,生成的规则是什么,怎么用来处理乱序数据

3、消费 kafka 数据的时候,如果遇到了脏数据,或者是不符合规则的数据等等怎么处理呢?

4、在 Kafka 集群中怎么指定读取/写入数据到指定 broker 或从指定 broker 的 offset 开始消费?

5、Flink 能通过 oozie 或者 azkaban 提交吗?

6、jobmanager 挂掉后,提交的 job 怎么不经过手动重新提交执行?

7、使用 flink-web-ui 提交作业并执行 但是/opt/flink/log 目录下没有日志文件 请问关于 flink 的日志(包括 jobmanager、taskmanager、每个 job 自己的日志默认分别存在哪个目录 )需要怎么配置?

8、通过 flink 仪表盘提交的 jar 是存储在哪个目录下?

9、从 Kafka 消费数据进行 etl 清洗,把结果写入 hdfs 映射成 hive 表,压缩格式、hive 直接能够读取 flink 写出的文件、按照文件大小或者时间滚动生成文件

10、flink jar 包上传至集群上运行,挂掉后,挂掉期间 kafka 中未被消费的数据,在重新启动程序后,是自动从 checkpoint 获取挂掉之前的 kafka offset 位置,自动消费之前的数据进行处理,还是需要某些手动的操作呢?

11、flink 启动时不自动创建 上传 jar 的路径,能指定一个创建好的目录吗

12、Flink sink to es 集群上报 slot 不够,单机跑是好的,为什么?

13、Fllink to elasticsearch 如何创建索引文档期时间戳?

14、blink 有没有 api 文档或者 demo,是否建议 blink 用于生产环境。

15、flink 的 Python api 怎样?bug 多吗?

16、Flink VS Spark Streaming VS Storm VS Kafka Stream

17、你们做实时大屏的技术架构是什么样子的?flume→kafka→flink→redis,然后后端去 redis 里面捞数据,酱紫可行吗?

18、做一个统计指标的时候,需要在 Flink 的计算过程中多次读写 redis,感觉好怪,星主有没有好的方案?

19、Flink 使用场景大分析,列举了很多的常用场景,可以好好参考一下

20、将 kafka 中数据 sink 到 mysql 时,metadata 的数据为空,导入 mysql 数据不成功???

21、使用了 ValueState 来保存中间状态,在运行时中间状态保存正常,但是在手动停止后,再重新运行,发现中间状态值没有了,之前出现的键值是从 0 开始计数的,这是为什么?是需要实现 CheckpointedFunction 吗?

22、flink on yarn jobmanager 的 HA 需要怎么配置。还是说 yarn 给管理了

23、有两个数据流就行 connect,其中一个是实时数据流(kafka 读取),另一个是配置流。由于配置流是从关系型数据库中读取,速度较慢,导致实时数据流流入数据的时候,配置信息还未发送,这样会导致有些实时数据读取不到配置信息。目前采取的措施是在 connect 方法后的 flatmap 的实现的在 open 方法中,提前加载一次配置信息,感觉这种实现方式不友好,请问还有其他的实现方式吗?

24、Flink 能通过 oozie 或者 azkaban 提交吗?

25、不采用 yarm 部署 flink,还有其他的方案吗? 主要想解决服务器重启后,flink 服务怎么自动拉起? jobmanager 挂掉后,提交的 job 怎么不经过手动重新提交执行?

26、在一个 Job 里将同份数据昨晚清洗操作后,sink 到后端多个地方(看业务需求),如何保持一致性?(一个 sink 出错,另外的也保证不能插入)

27、flink sql 任务在某个特定阶段会发生 tm 和 jm 丢失心跳,是不是由于 gc 时间过长呢,

28、有这样一个需求,统计用户近两周进入产品详情页的来源(1 首页大搜索,2 产品频道搜索,3 其他),为 php 后端提供数据支持,该信息在端上报事件中,php 直接获取有点困难。 我现在的解决方案 通过 flink 滚动窗口(半小时),统计用户半小时内 3 个来源 pv,然后按照日期序列化,直接写 mysql。php 从数据库中解析出来,再去统计近两周占比。 问题 1,这个需求适合用 flink 去做吗? 问题 2,我的方案总感觉怪怪的,有没有好的方案?

29、一个 task slot 只能同时运行一个任务还是多个任务呢?如果 task slot 运行的任务比较大,会出现 OOM 的情况吗?

30、你们怎么对线上 flink 做监控的,如果整个程序失败了怎么自动重启等等

31、flink cep 规则动态解析有接触吗?有没有成型的框架?

32、每一个 Window 都有一个 watermark 吗?window 是怎么根据 watermark 进行触发或者销毁的?

33、 CheckPoint 与 SavePoint 的区别是什么?

34、flink 可以在算子中共享状态吗?或者大佬你有什么方法可以共享状态的呢?

35、运行几分钟就报了,看 taskmager 日志,报的是 failed elasticsearch bulk request null,可是我代码里面已经做过空值判断了呀 而且也过滤掉了,flink 版本 1.7.2 es 版本 6.3.1

36、这种情况,我们调并行度 还是配置参数好

37、大家都用 jdbc 写,各种数据库增删查改拼 sql 有没有觉得很累,ps.set 代码一大堆,还要计算每个参数的位置

38、关于 datasource 的配置,每个 taskmanager 对应一个 datasource?还是每个 slot? 实际运行下来,每个 slot 中 datasorce 线程池只要设置 1 就行了,多了也用不到?

39、kafka 现在每天出现数据丢失,现在小批量数据,一天 200W 左右, kafka 版本为 1.0.0,集群总共 7 个节点,TOPIC 有十六个分区,单条报文 1.5k 左右

40、根据 key.hash 的绝对值 对并发度求模,进行分组,假设 10 各并发度,实际只有 8 个分区有处理数据,有 2 个始终不处理,还有一个分区处理的数据是其他的三倍,如截图

41、flink 每 7 小时不知道在处理什么, CPU 负载 每 7 小时,有一次高峰,5 分钟内平均负载超过 0.8,如截图

42、有没有 Flink 写的项目推荐?我想看到用 Flink 写的整体项目是怎么组织的,不单单是一个单例子

43、Flink 源码的结构图

44、我想根据不同业务表(case when)进行不同的 redis sink(hash ,set),我要如何操作?

45、这个需要清理什么数据呀,我把 hdfs 里面的已经清理了 启动还是报这个

46、 在流处理系统,在机器发生故障恢复之后,什么情况消息最多会被处理一次?什么情况消息最少会被处理一次呢?

47、我检查点都调到 5 分钟了,这是什么问题

48、reduce 方法后 那个交易时间 怎么不是最新的,是第一次进入的那个时间,

49、Flink on Yarn 模式,用 yarn session 脚本启动的时候,我在后台没有看到到 Jobmanager,TaskManager,ApplicationMaster 这几个进程,想请问一下这是什么原因呢?因为之前看官网的时候,说 Jobmanager 就是一个 jvm 进程,Taskmanage 也是一个 JVM 进程

50、Flink on Yarn 的时候得指定 多少个 TaskManager 和每个 TaskManager slot 去运行任务,这样做感觉不太合理,因为用户也不知道需要多少个 TaskManager 适合,Flink 有动态启动 TaskManager 的机制吗。

51、参考这个例子,Flink 零基础实战教程:如何计算实时热门商品 | Jark's Blog, 窗口聚合的时候,用 keywindow,用的是 timeWindowAll,然后在 aggregate 的时候用 aggregate(new CustomAggregateFunction(), new CustomWindowFunction()),打印结果后,发现窗口中一直使用的重复的数据,统计的结果也不变,去掉 CustomWindowFunction()就正常了 ? 非常奇怪

52、用户进入产品预定页面(端埋点上报),并填写了一些信息(端埋点上报),但半小时内并没有产生任何订单,然后给该类用户发送一个 push。 1. 这种需求适合用 flink 去做吗?2. 如果适合,说下大概的思路

53、业务场景是实时获取数据存 redis,请问我要如何按天、按周、按月分别存入 redis 里?(比方说过了一天自动换一个位置存 redis)

54、有人 AggregatingState 的例子吗, 感觉官方的例子和 官网的不太一样?

55、flink-jdbc 这个 jar 有吗?怎么没找到啊?1.8.0 的没找到,1.6.2 的有

56、现有个关于 savepoint 的问题,操作流程为,取消任务时设置保存点,更新任务,从保存点启动任务;现在遇到个问题,假设我中间某个算子重写,原先通过 state 编写,有用定时器,现在更改后,采用窗口,反正就是实现方式完全不一样;从保存点启动就会一直报错,重启,原先的保存点不能还原,此时就会有很多数据重复等各种问题,如何才能保证数据不丢失,不重复等,恢复到停止的时候,现在想到的是记下 kafka 的偏移量,再做处理,貌似也不是很好弄,有什么解决办法吗

57、需要在 flink 计算 app 页面访问时长,消费 Kafka 计算后输出到 Kafka。第一条 log 需要等待第二条 log 的时间戳计算访问时长。我想问的是,flink 是分布式的,那么它能否保证执行的顺序性?后来的数据有没有可能先被执行?

58、我公司想做实时大屏,现有技术是将业务所需指标实时用 spark 拉到 redis 里存着,然后再用一条 spark streaming 流计算简单乘除运算,指标包含了各月份的比较。请问我该如何用 flink 简化上述流程?

59、flink on yarn 方式,这样理解不知道对不对,yarn-session 这个脚本其实就是准备 yarn 环境的,执行 run 任务的时候,根据 yarn-session 初始化的 yarnDescription 把 flink 任务的 jobGraph 提交到 yarn 上去执行

60、同样的代码逻辑写在单独的 main 函数中就可以成功的消费 kafka ,写在一个 spring boot 的程序中,接受外部请求,然后执行相同的逻辑就不能消费 kafka。你遇到过吗?能给一些查问题的建议,或者在哪里打个断点,能看到为什么消费不到 kafka 的消息呢?

61、请问下 flink 可以实现一个流中同时存在订单表和订单商品表的数据 两者是一对多的关系 能实现得到 以订单表为主 一个订单多个商品 这种需求嘛

62、在用中间状态的时候,如果中间一些信息保存在 state 中,有没有必要在 redis 中再保存一份,来做第三方的存储。

63、能否出一期 flink state 的文章。什么场景下用什么样的 state?如,最简单的,实时累加 update 到 state。

64、flink 的双流 join 博主有使用的经验吗?会有什么常见的问题吗

65、窗口触发的条件问题

66、flink 定时任务怎么做?有相关的 demo 么?

67、流式处理过程中数据的一致性如何保证或者如何检测

68、重启 flink 单机集群,还报 job not found 异常。

69、kafka 的数据是用 org.apache.kafka.common.serialization.ByteArraySerialize 序列化的,flink 这边消费的时候怎么通过 FlinkKafkaConsumer 创建 DataStream

70、现在公司有一个需求,一些用户的支付日志,通过 sls 收集,要把这些日志处理后,结果写入到 MySQL,关键这些日志可能连着来好几条才是一个用户的,因为发起请求,响应等每个环节都有相应的日志,这几条日志综合处理才能得到最终的结果,请问博主有什么好的方法没有?

71、flink 支持 hadoop 主备么? hadoop 主节点挂了 flink 会切换到 hadoop 备用节点?

72、请教大家: 实际 flink 开发中用 scala 多还是 java 多些? 刚入手 flink 大数据 scala 需要深入学习么?

73、我使用的是 flink 是 1.7.2 最近用了 split 的方式分流,但是底层的 SplitStream 上却标注为 Deprecated,请问是官方不推荐使用分流的方式吗?

74、KeyBy 的正确理解,和数据倾斜问题的解释

75、用 flink 时,遇到个问题 checkpoint 大概有 2G 左右, 有背压时,flink 会重启有遇到过这个问题吗

76、flink 使用 yarn-session 方式部署,如何保证 yarn-session 的稳定性,如果 yarn-session 挂了,需要重新部署一个 yarn-session,如何恢复之前 yarn-session 上的 job 呢,之前的 checkpoint 还能使用吗?

77、我想请教一下关于 sink 的问题。我现在的需求是从 Kafka 消费 Json 数据,这个 Json 数据字段可能会增加,然后将拿到的 json 数据以 parquet 的格式存入 hdfs。现在我可以拿到 json 数据的 schema,但是在保存 parquet 文件的时候不知道怎么处理。一是 flink 没有专门的 format parquet,二是对于可变字段的 Json 怎么处理成 parquet 比较合适?

78、flink 如何在较大的数据量中做去重计算。

79、flink 能在没有数据的时候也定时执行算子吗?

80、使用 rocksdb 状态后端,自定义 pojo 怎么实现序列化和反序列化的,有相关 demo 么?

81、check point 老是失败,是不是自定义的 pojo 问题?到本地可以,到 hdfs 就不行,网上也有很多类似的问题 都没有一个很好的解释和解决方案

82、cep 规则如图,当 start 事件进入时,时间 00:00:15,而后进入 end 事件,时间 00:00:40。我发现规则无法命中。请问 within 是从 start 事件开始计时?还是跟 window 一样根据系统时间划分的?如果是后者,请问怎么配置才能从 start 开始计时?

83、Flink 聚合结果直接写 Mysql 的幂等性设计问题

84、Flink job 打开了 checkpoint,用的 rocksdb,通过观察 hdfs 上 checkpoint 目录,为啥算副本总量会暴增爆减

85、Flink 提交任务的 jar 包可以指定路径为 HDFS 上的吗

86、在 flink web Ui 上提交的任务,设置的并行度为 2,flink 是 stand alone 部署的。两个任务都正常的运行了几天了,今天有个地方逻辑需要修改,于是将任务 cancel 掉(在命令行 cancel 也试了),结果 taskmanger 挂掉了一个节点。后来用其他任务试了,也同样会导致节点挂掉

87、一个配置动态更新的问题折腾好久(配置用个静态的 map 变量存着,有个线程定时去数据库捞数据然后存在这个 map 里面更新一把),本地 idea 调试没问题,集群部署就一直报 空指针异常。下游的算子使用这个静态变量 map 去 get key 在集群模式下会出现这个空指针异常,估计就是拿不到 map

88、批量写入 MySQL,完成 HBase 批量写入

89、用 flink 清洗数据,其中要访问 redis,根据 redis 的结果来决定是否把数据传递到下流,这有可能实现吗?

90、监控页面流处理的时候这个发送和接收字节为 0。

91、sink 到 MySQL,如果直接用 idea 的话可以运行,并且成功,大大的代码上面用的 FlinkKafkaConsumer010,而我的 Flink 版本为 1.7,kafka 版本为 2.12,所以当我用 FlinkKafkaConsumer010 就有问题,于是改为 FlinkKafkaConsumer 就可以直接在 idea 完成 sink 到 MySQL,但是为何当我把该程序打成 Jar 包,去运行的时候,就是报 FlinkKafkaConsumer 找不到呢

92、SocketTextStreamWordCount 中输入中文统计不出来,请问这个怎么解决,我猜测应该是需要修改一下代码,应该是这个例子默认统计英文

93、 Flink 应用程序本地 ide 里面运行的时候并行度是怎么算的?

94、 请问下 flink 中对于窗口的全量聚合有 apply 和 process 两种 他们有啥区别呢

95、不知道大大熟悉 Hbase 不,我想直接在 Hbase 中查询某一列数据,因为有重复数据,所以想使用 distinct 统计实际数据量,请问 Hbase 中有没有类似于 sql 的 distinct 关键字。如果没有,想实现这种可以不?

96、 来分析一下现在 Flink,Kafka 方面的就业形势,以及准备就业该如何准备的这方面内容呢?

97、 大佬知道 flink 的 dataStream 可以转换为 dataSet 吗?因为数据需要 11 分钟一个批次计算五六个指标,并且涉及好几步 reduce,计算的指标之间有联系,用 Stream 卡住了。

98、1.如何在同一窗口内实现多次的聚合,比如像 spark 中的这样 2.多个实时流的 jion 可以用 window 来处理一批次的数据吗?

99、写的批处理的功能,现在本机跑是没问题的,就是在 linux 集群上出现了问题,就是不知道如果通过本地调用远程 jar 包然后传参数和拿到结果参数返回本机

100、我用 standalone 开启一个 flink 集群,上传 flink 官方用例 Socket Window WordCount 做测试,开启两个 parallelism 能正常运行,但是开启 4 个 parallelism 后出现错误

101、 有使用 AssignerWithPunctuatedWatermarks 的案例 Demo 吗?网上找了都是 AssignerWithPeriodicWatermarks 的,不知道具体怎么使用?

102、 有一个 datastream(从文件读取的),然后我用 flink sql 进行计算,这个 sql 是一个加总的运算,然后通过 retractStreamTableSink 可以把文件做 sql 的结果输出到文件吗?这个输出到文件的接口是用什么呢?

103、 为啥 split 这个流设置为过期的

104、 需要使用 flink table 的水印机制控制时间的乱序问题,这种场景下我就使用水印+窗口了,我现在写的 demo 遇到了问题,就是在把触发计算的窗口 table(WindowedTable)转换成 table 进行 sql 操作时发现窗口中的数据还是乱序的,是不是 flink table 的 WindowedTable 不支持水印窗口转 table-sql 的功能

105、 Flink 对 SQL 的重视性

106、 flink job 打开了 checkpoint,任务跑了几个小时后就出现下面的错,截图是打出来的日志,有个 OOM,又遇到过的没?

107、 本地测试是有数据的,之前该任务放在集群也是有数据的,可能提交过多次,现在读不到数据了 group id 也换过了, 只能重启集群解决么?

108、使用 flink 清洗数据存到 es 中,直接在 flatmap 中对处理出来的数据用 es 自己的 ClientInterface 类直接将数据存入 es 当中,不走 sink,这样的处理逻辑是不是会有问题。

108、 flink 从 kafka 拿数据(即增量数据)与存量数据进行内存聚合的需求,现在有一个方案就是程序启动的时候先用 flink table 将存量数据加载到内存中创建 table 中,然后将 stream 的增量数据与 table 的数据进行关联聚合后输出结束,不知道这种方案可行么。目前个人认为有两个主要问题:1 是增量数据 stream 转化成 append table 后不知道能与存量的 table 关联聚合不,2 是聚合后输出的结果数据是否过于频繁造成网络传输压力过大

109、 设置时间时间特性有什么区别呢, 分别在什么场景下使用呢?两种设置时间延迟有什么区别呢 , 分别在什么场景下使用

110、 flink 从 rabbitmq 中读取数据,设置了 rabbitmq 的 CorrelationDataId 和 checkpoint 为 EXACTLY_ONCE;如果 flink 完成一次 checkpoint 后,在这次 checkpoint 之前消费的数据都会从 mq 中删除。如果某次 flink 停机更新,那就会出现 mq 中的一些数据消费但是处于 Unacked 状态。在 flink 又重新开启后这批数据又会重新消费。那这样是不是就不能保证 EXACTLY_ONCE 了

111、1. 在 Flink checkpoint 中, 像 operator 的状态信息 是在设置了 checkpoint 之后自动的进行快照吗 ?2. 上面这个和我们手动存储的 Keyed State 进行快照(这个应该是增量快照)

112、现在有个实时商品数,交易额这种统计需求,打算用 flink 从 kafka 读取 binglog 日志进行计算,但 binglog 涉及到 insert 和 update 这种操作时 怎么处理才能统计准确,避免那种重复计算的问题?

113、我这边用 flink 做实时监控,功能很简单,就是每条消息做 keyby 然后三分钟窗口,然后做些去重操作,触发阈值则报警,现在问题是同一个时间窗口同一个人的告警会触发两次,集群是三台机器,standalone cluster,初步结果是三个算子里有两个收到了同样的数据

114、在使用 WaterMark 的时候,默认是每 200ms 去设置一次 watermark,那么每个 taskmanager 之间,由于得到的数据不同,所以往往产生的最大的 watermark 不同。 那么这个时候,是各个 taskmanager 广播这个 watermark,得到全局的最大的 watermark,还是说各个 taskmanager 都各自用自己的 watermark。主要没看到广播 watermark 的源码。不知道是自己观察不仔细还是就是没有广播这个变量。

115、现在遇到一个需求,需要在 job 内部定时去读取 redis 的信息,想请教 flink 能实现像普通程序那样的定时任务吗?

116、有个触发事件开始聚合,等到数量足够,或者超时则 sink 推 mq 环境 flink 1.6 用了 mapState 记录触发事件 1 数据足够这个 OK 2 超时 state ttl 1.6 支持,但是问题来了,如何在超时时候增加自定义处理?

117、请问 impala 这种 mpp 架构的 sql 引擎,为什么稳定性比较差呢?

118、watermark 跟并行度相关不是,过于全局了,期望是 keyby 之后再针对每个 keyed stream 打 watermark,这个有什么好的实践呢?

119、请问如果把一个文件的内容读取成 datastream 和 dataset,有什么区别吗??他们都是一条数据一条数据的被读取吗?

120、有没有 kylin 相关的资料,或者调优的经验?

121、flink 先从 jdbc 读取配置表到流中,另外从 kafka 中新增或者修改这个配置,这个场景怎么把两个流一份配置流?我用的 connect,接着发不成广播变量,再和实体流合并,但在合并时报 Exception in thread "main" java.lang.IllegalArgumentException

122、Flink exactly-once,kafka 版本为 0.11.0 ,sink 基于 FlinkKafkaProducer011 每五分钟一次 checkpoint,但是 checkpoint 开始后系统直接卡死,at-lease-once 一分钟能完成的 checkpoint, 现在十分钟无法完成没进度还是 0, 不知道哪里卡住了

123、flink 的状态是默认存在于内存的(也可以设置为 rocksdb 或 hdfs),而 checkpoint 里面是定时存放某个时刻的状态信息,可以设置 hdfs 或 rocksdb 是这样理解的吗?

124、Flink 异步 IO 中,下图这两种有什么区别?为啥要加 CompletableFuture.supplyAsync,不太明白?

125、flink 的状态是默认存在于内存的(也可以设置为 rocksdb 或 hdfs),而 checkpoint 里面是定时存放某个时刻的状态信息,可以设置 hdfs 或 rocksdb 是这样理解的吗?

126、有个计算场景,从 kafka 消费两个数据源,两个数据结构都有时间段概念,计算需要做的是匹配两个时间段,匹配到了,就生成一条新的记录。请问使用哪个工具更合适,flink table 还是 cep?请大神指点一下 我这边之前的做法,将两个数据流转为 table.两个 table over window 后 join 成新的表。结果 job 跑一会就 oom.

127、一个互联网公司,或者一个业务系统,如果想做一个全面的监控要怎么做?有什么成熟的方案可以参考交流吗?有什么有什么度量指标吗?

128、怎么深入学习 flink,或者其他大数据组件,能为未来秋招找一份大数据相关(计算方向)的工作增加自己的竞争力?

129、oppo 的实时数仓,其中明细层和汇总层都在 kafka 中,他们的关系库的实时数据也抽取到 kafka 的 ods,那么在构建数仓的,需要 join 三四个大业务表,业务表会变化,那么是大的业务表是从 kafka 的 ods 读取吗?实时数仓,多个大表 join 可以吗

130、Tuple 类型有什么方法转换成 json 字符串吗?现在的场景是,结果在存储到 sink 中时希望存的是 json 字符串,这样应用程序获取数据比较好转换一点。如果 Tuple 不好转换 json 字符串,那么应该以什么数据格式存储到 sink 中

140、端到端的数据保证,是否意味着中间处理程序中断,也不会造成该批次处理失败的消息丢失,处理程序重新启动之后,会再次处理上次未处理的消息

141、关于 flink datastream window 相关的。比如我现在使用滚动窗口,统计一周内去重用户指标,按照正常 watermark 触发计算,需要等到当前周的 window 到达 window 的 endtime 时,才会触发,这样指标一周后才能产出结果。我能不能实现一小时触发一次计算,每次统计截止到当前时间,window 中所有到达元素的去重数量。

142、FLIP-16 Loop Fault Tolerance 是讲现在的 checkpoint 机制无法在 stream loop 的时候容错吗?现在这个问题解决了没有呀?

143、现在的需求是,统计各个 key 的今日累计值,一分钟输出一次。如,各个用户今日累计点击次数。这种需求用 datastream 还是 table API 方便点?

144、本地 idea 可以跑的工程,放在 standalone 集群上,总报错,报错截图如下,大佬请问这是啥原因

145、比如现在用 k8s 起了一个 flink 集群,这时候数据源 kafka 或者 hdfs 会在同一个集群上吗,还是会单独再起一个 hdfs/kafka 集群

146、flink kafka sink 的 FlinkFixedPartitioner 分配策略,在并行度小于 topic 的 partitions 时,一个并行实例固定的写消息到固定的一个 partition,那么就有一些 partition 没数据写进去?

147、基于事件时间,每五分钟一个窗口,五秒钟滑动一次,同时 watermark 的时间同样是基于事件事件时间的,延迟设为 1 分钟,假如数据流从 12:00 开始,如果 12:07-12:09 期间没有产生任何一条数据,即在 12:07-12:09 这段间的数据流情况为···· (12:07:00,xxx),(12:09:00,xxx)······,那么窗口[12:02:05-12:07:05],[12:02:10-12:07:10]等几个窗口的计算是否意味着只有等到,12:09:00 的数据到达之后才会触发

148、使用 flink1.7,当消费到某条消息(protobuf 格式),报 Caused by: org.apache.kafka.common.KafkaException: Record batch for partition Notify-18 at offset 1803009 is invalid, cause: Record is corrupt 这个异常。 如何设置跳过已损坏的消息继续消费下一条来保证业务不终断? 我看了官网 kafka connectors 那里,说在 DeserializationSchema.deserialize(...)方法中返回 null,flink 就会跳过这条消息,然而依旧报这个异常

149、是否可以抽空总结一篇 Flink 的 watermark 的原理案例?一直没搞明白基于事件时间处理时的数据乱序和数据迟到底咋回事

150、flink 中 rpc 通信的原理,与几个类的讲解,有没有系统详细的文章样,如有求分享,谢谢

151、Flink 中如何使用基于事件时间处理,但是又不使用 Watermarks? 我在会话窗口中使用遇到一些问题,图一是基于处理时间的,测试结果 session 是基于 keyby(用户)的,图二是基于事件时间的,不知道是我用法不对还是怎么的,测试结果发现并不是基于 keyby(用户的),而是全局的 session。不知道怎么修改?

152、flink 实时计算平台,yarn 模式日志收集怎么做,为什么会 checkpoint 失败,报警处理,后需要做什么吗?job 监控怎么做

153、有 flink 与 jstorm 的在不同应用场景下, 性能比较的数据吗? 从网络上能找大部分都是 flink 与 storm 的比较. 在 jstorm 官网上有一份比较的图表, 感觉参考意义不大, 应该是比较早的 flink 版本.

154、为什么使用 SessionWindows.withGap 窗口的话,State 存不了东西呀,每次加 1 ,拿出来都是 null, 我换成 TimeWindow 就没问题。

155、请问一下,flink datastream 流处理怎么统计去重指标? 官方文档中只看到批处理有 distinct 概念。

156、好全的一篇文章,对比分析 Flink,Spark Streaming,Storm 框架

157、关于 structured_streaming 的 paper

158、zookeeper 集群切换领导了,flink 集群项目重启了就没有数据的输入和输出了,这个该从哪方面入手解决?

159、我想请教下 datastream 怎么和静态数据 join 呢

160、时钟问题导致收到了明天的数据,这时候有什么比较好的处理方法?看到有人设置一个最大的跳跃阈值,如果当前数据时间 - 历史最大时间 超过阈值就不更新。如何合理的设计水印,有没有一些经验呢?

161、大佬们 flink 怎么定时查询数据库?

162、现在我们公司有个想法,就是提供一个页面,在页面上选择 source sink 填写上 sql 语句,然后后台生成一个 flink 的作业,然后提交到集群。功能有点类似于华为的数据中台,就是页面傻瓜式操作。后台能自动根据相应配置得到结果。请问拘你的了解,可以实现吗?如何实现?有什么好的思路。现在我无从下手

163、请教一下 flink on yarn 的 ha 机制

164、在一般的流处理以及 cep, 都可以对于 eventtime 设置 watermark, 有时可能需要设置相对大一点的值, 这内存压力就比较大, 有没有办法不应用 jvm 中的内存, 而用堆外内存, 或者其他缓存, 最好有 cache 机制, 这样可以应对大流量的峰值.

165、请教一个 flink sql 的问题。我有两个聚合后的流表 A 和 B,A 和 Bjoin 得到 C 表。在设置 state TTL 的时候是直接对 C 表设置还是,对 A 表和 B 表设置比较好?

166、spark 改写为 flink,会不会很复杂,还有这两者在 SQL 方面的支持差别大吗?

167、请问 flink allowedLateness 导致窗口被多次 fire,最终数据重复消费,这种问题怎么处理,数据是写到 es 中

168、设置 taskmanager.numberOfTaskSlots: 4 的时候没有问题,但是 cpu 没有压上去,只用了 30%左右,于是设置了 taskmanager.numberOfTaskSlots: 8,但是就报错误找不到其中一个自定义的类,然后 kafka 数据就不消费了。为什么?cpu 到多少合适?slot 是不是和 cpu 数量一致是最佳配置?kafka 分区数多少合适,是不是和 slot,parallesim 一致最佳?

169、需求是根据每条日志切分出需要 9 个字段,有五个指标再根据 9 个字段的不同组合去做计算。 第一个方法是:我目前做法是切分的 9 个字段开 5 分钟大小 1 分钟计算一次的滑动窗口窗口,进行一次 reduce 去重,然后再 map 取出需要的字段,然后过滤再开 5 分钟大小 1 分钟计算一次的滑动窗口窗口进行计算保存结果,这个思路遇到的问题是上一个滑动窗口会每一分钟会计算 5 分钟数据,到第二个窗口划定的 5 分钟范围的数据会有好多重复,这个思路会造成数据重复。 第二个方法是:切分的 9 个字段开 5 分钟大小 1 分钟计算一次的滑动窗口窗口,再 pross 方法里完成所有的过滤,聚合计算,但是再高峰期每分钟 400 万条数据,这个思路担心在高峰期 flink 计算不过来

170、a,b,c 三个表,a 和 c 有 eventtime,a 和 c 直接 join 可以,a 和 b join 后再和 c join 就会报错,这是怎么回事呢

171、自定义的 source 是这样的(图一所示) 使用的时候是这样的(图二所示),为什么无论 sum.print().setParallelism(2)(图 2 所示)的并行度设置成几最后结果都是这样的

172、刚接触 flink,如有问的不合适的地方,请见谅。 1、为什么说 flink 是有状态的计算? 2、这个状态是什么?3、状态存在哪里

173、这边用 flink 1.8.1 的版本,采用 flink on yarn,hadoop 版本 2.6.0。代码是一个简单的滚动窗口统计函数,但启动的时候报错,如下图片。 (2)然后我把 flink 版本换成 1.7.1,重新提交到 2.6.0 的 yarn 平台,就能正常运行了。 (3)我们测试集群 hadoop 版本是 3.0,我用 flink 1.8.1 版本将这个程序再次打包,提交到 3.0 版本的 yarn 平台,也能正常运行。 貌似是 flink 1.8.1 版本与 yarn 2.6.0 版本不兼容造成的这个问题

174、StateBackend 我使用的是 MemoryStateBackend, State 是怎么释放内存的,例如我在函数中用 ValueState 存储了历史状态信息。但是历史状态数据我没有手动释放,那么程序会自动释放么?还是一直驻留在内存中

175、请问老师是否可以提供一些 Apachebeam 的学习资料 谢谢

176、flink 的 DataSet 或者 DataStream 支持索引查询以及删除吗,像 spark rdd,如果不支持的话,该转换成什么

177、关于 flink 的状态,能否把它当做数据库使用,类似于内存数据库,在处理过程中存业务数据。如果是数据库可以算是分布式数据库吗?是不是使用 rocksdb 这种存储方式才算是?支持的单库大小是不是只是跟本地机器的磁盘大小相关?如果使用硬盘存储会不会效率性能有影响

178、我这边做了个 http sink,想要批量发送数据,不过现在只能用数量控制发送,但最后的几个记录没法触发发送动作,想问下有没有什么办法

179、请问下如何做定时去重计数,就是根据时间分窗口,窗口内根据 id 去重计数得出结果,多谢。试了不少办法,没有简单直接办法

180、我有个 job 使用了 elastic search sink. 设置了批量 5000 一写入,但是看 es 监控显示每秒只能插入 500 条。是不是 bulkprocessor 的 currentrequest 为 0 有关

181、有 docker 部署 flink 的资料吗

182、在说明 KeyBy 的 StreamGraph 执行过程时,keyBy 的 ID 为啥是 6? 根据前面说,ID 是一个静态变量,每取一次就递增 1,我觉得应该是 3 啊,是我理解错了吗

183、有没计划出 Execution Graph 的远码解析

184、可以分享下物理执行图怎样划分 task,以及 task 如何执行,还有他们之间数据如何传递这块代码嘛?

185、Flink 源码和这个学习项目的结构图

186、请问 flink1.8,如何做到动态加载外部 udf-jar 包呢?

187、同一个 Task Manager 中不同的 Slot 是怎么交互的,比如:source 处理完要传递给 map 的时候,如果在不同的 Slot 中,他们的内存是相互隔离,是怎么交互的呢? 我猜是通过序列化和反序列化对象,并且通过网络来进行交互的

188、你们有没有这种业务场景。flink 从 kafka 里面取数据,每一条数据里面有 mongdb 表 A 的 id,这时我会在 map 的时候采用 flink 的异步 IO 连接 A 表,然后查询出 A 表的字段 1,再根据该字段 1 又需要异步 IO 去 B 表查询字段 2,然后又根据字段 2 去 C 表查询字段 3.....像这样的业务场景,如果多来几种逻辑,我应该用什么方案最好呢

189、今天本地运行 flink 程序,消费 socket 中的数据,连续只能消费两条,第三条 flink 就消费不了了

190、源数据经过过滤后分成了两条流,然后再分别提取事件时间和水印,做时间窗口,我测试时一条流没有数据,另一条的数据看日志到了窗口操作那边就没走下去,貌似窗口一直没有等到触发

191、有做 flink cep 的吗,有资料没?

192、麻烦问一下 BucketingSink 跨集群写,如果任务运行在 hadoop A 集群,从 kafka 读取数据处理后写到 Hadoo B 集群,即使把 core-site.xml 和 hdfs-site.xml 拷贝到代码 resources 下,路径使用 hdfs://hadoopB/xxx,会提示 ava.lang.RuntimeException: Error while creating FileSystem when initializing the state of the BucketingSink.,跨集群写这个问题 flink 不支持吗?

193、想咨询下,如何对 flink 中的 datastream 和 dataset 进行数据采样

194、一个 flink 作业经常发生 oom,可能是什么原因导致的。 处理流程只有 15+字段的解析,redis 数据读取等操作,TM 配置 10g。 业务会在夜间刷数据,qps 能打到 2500 左右~

195、我看到 flink 1.8 的状态过期仅支持 Processing Time,那么如果我使用的是 Event time 那么状态就不会过期吗

196、请问我想每隔一小时统计一个属性从当天零点到当前时间的平均值,这样的时间窗该如何定义?

197、flink 任务里面反序列化一个类,报 ClassNotFoundException,可是包里面是有这个类的,有遇到这种情况吗?

198、在构造 StreamGraph,类似 PartitionTransformmation 这种类型的 transform,为什么要添加成一个虚拟节点,而不是一个实际的物理节点呢?

199、flink 消费 kafka 的数据写入到 hdfs 中,我采用了 BucketingSink 这个 sink 将 operator 出来的数据写入到 hdfs 文件上,并通过在 hive 中建外部表来查询这个。但现在有个问题,处于 in-progress 的文件,hive 是无法识别出来该文件中的数据,可我想能在 hive 中实时查询进来的数据,且不想产生很多的小文件,这个该如何处理呢

200、采用 Flink 单机集群模式一个 jobmanager 和两个 taskmanager,机器是单机是 24 核,现在做个简单的功能从 kafka 的一个 topic 转满足条件的消息到另一个 topic,topic 的分区是 30,我设置了程序默认并发为 30,现在每秒消费 2w 多数据,不够快,请问可以怎么提高 job 的性能呢?

201、Flink Metric 源码分析

202、请问怎么理解官网的这段话?按官网的例子,难道只 keyby 之后才有 keyed state,才能托管 Flink 存储状态么?source 和 map 如果没有自定义 operator state 的话,状态是不会被保存的?

203、想用 Flink 做业务监控告警,并要能够支持动态添加 CEP 规则,问下可以直接使用 Flink CEP 还是 siddhi CEP? 有没有相关的资料学习下?谢谢!

204、请问一下,有没有关于水印,触发器的 Java 方面的 demo 啊

205、老师,最近我们线上偶尔出现这种情况,就是 40 个并行度,其他有一个并行度 CheckPoint 一直失败,其他 39 个并行度都是毫秒级别就可以 CheckPoint 成功,这个怎么定位问题呢?还有个问题 CheckPoint 的时间分为三部分 Checkpoint Duration (Async)和 Checkpoint Duration (Sync),还有个 end to end 减去同步和异步的时间,这三部分 分别指代哪块?如果发现这三者中的任意一个步骤时间长,该怎么去优化

206、我这边有个场景很依赖消费出来的数据的顺序。在源头侧做了很多处理,将 kafka 修改成一个分区等等很多尝试,最后消费出来的还是乱序的。能不能在 flink 消费的时候做处理,来保证处理的数据的顺序。

207、有一个类似于实时计算今天的 pv,uv 需求,采用 source->keyby->window->trigger->process 后,在 process 里采用 ValueState 计算 uv ,问题是 这个 window 内一天的所有数据是都会缓存到 flink 嘛? 一天的数据量如果大点,这样实现就有问题了, 这个有其他的实现思路嘛?

208、Flink 注解源码解析

209、如何监控 Flink 的 TaskManager 和 JobManager

210、问下,在真实流计算过程中,并行度的设置,是与 kafka topic 的 partition 数一样的吗?

211、Flink 的日志 如果自己做平台封装在自己的界面中 请问 job Manger 和 taskManger 还有用户自己的程序日志 怎么获取呢 有 api 还是自己需要利用 flume 采集到 ELK?

212、我想问下一般用 Flink 统计 pv uv 是怎么做的?uv 存到 redis? 每个 uv 都存到 redis,会不会撑爆?

213、Flink 的 Checkpoint 机制,在有多个 source 的时候,barrier n 的流将被暂时搁置,从其他流接收的记录将不会被处理,但是会放进一个输入缓存 input buffer。如果被缓存的 record 大小超出了 input buffer 会怎么样?不可能一直缓存下去吧,如果其中某一条就一直没数据的话,整个过程岂不是卡死了?

214、公司想实时展示订单数据,汇总金额,并需要和前端交互,实时生成数据需要告诉前端,展示成折线图,这种场景的技术选型是如何呢?包括数据的存储,临时汇总数据的存储,何种形式告诉前端

215、请问下 checkpoint 中存储了哪些东西?

216、我这边有个需求是实时计算当前车辆与前车距离,用经纬度求距离。大概 6000 台车,10 秒一条经纬度数据。gps 流与自己 join 的地方在进行 checkpoint 的时候特别缓,每次要好几分钟。checkpoint 状态后端是 rocksDB。有什么比较好的方案吗?自己实现一个类似 last_value 的函数取车辆最新的经纬再 join,或者弄个 10 秒的滑动窗口输出车辆最新的经纬度再进行 join,这样可行吗?

217、flink 在启动的时候能不能指定一个时间点从 kafka 里面恢复数据呢

218、我们线上有个问题,很多业务都去读某个 hive 表,但是当这个 hive 表正在写数据的时候,偶尔出现过 读到表里数据为空的情况,这个问题怎么解决呢?

219、使用 InfluxDB 和 Grafana 搭建监控 Flink 的平台

220、flink 消费 kafka 两个不同的 topic,然后进行 join 操作,如果使用事件时间,两个 topic 都要设置 watermaker 吗,如果只设置了 topic A 的 watermaker,topic B 的不设置会有什么影响吗?

221、请教一个问题,我的 Flink 程序运行一段时间就会报这个错误,定位好多天都没有定位到。checkpoint 时间是 5 秒,20 秒都不行。Caused by: java.io.IOException: Could not flush and close the file system output stream to hdfs://HDFSaaaa/flink/PointWideTable_OffTest_Test2/1eb66edcfccce6124c3b2d6ae402ec39/chk-355/1005127c-cee3-4099-8b61-aef819d72404 in order to obtain the stream state handle

222、Flink 的反压机制相比于 Storm 的反压机制有什么优势呢?问题 2: Flink 的某一个节点发生故障,是否会影响其他节点的正常工作?还是会通过 Checkpoint 容错机制吗把任务转移到其他节点去运行呢?

223、我在验证 checkpoint 的时候遇到给问题,不管是 key state 还是 operator state,默认和指定 uid 是可以的恢复 state 数据的,当指定 uidHash 时候无法恢复 state 数据,麻烦大家给解答一样。我操作 state 是实现了 CheckpointedFunction 接口,覆写 snapshotState 和 initializeState,再这两个方法里操作的,然后让程序定时抛出异常,观察发现指定 uidHash 后 snapshotState()方法里 context.isRestored()为 false,不太明白具体是什么原因

224、kafka 中的每条数据需要和 es 中的所有数据(动态增加)关联,关联之后会做一些额外的操作,这个有什么比较可行的方案?

225、flink 消费 kafka 数据,设置 1 分钟 checkpoint 一次,假如第一次 checkpoint 完成以后,还没等到下一次 checkpoint,程序就挂了,kafka offset 还是第一次 checkpoint 记录的 offset,那么下次重新启动程序,岂不是多消费数据了?那 flink 的 exactly one 消费语义是怎么样的?

226、程序频繁发生 Heartbeat of TaskManager with id container_e36_1564049750010_5829_01_000024 timed out. 心跳超时,一天大概 10 次左右。是内存没给够吗?还是网络波动引起的

227、有没有性能优化方面的指导文章?

228、flink 消费 kafka 是如何监控消费是否正常的,有啥好办法?

229、我按照官方的 wordcount 案例写了一个例子,然后在 main 函数中起了一个线程,原本是准备定时去更新某些配置,准备测试一下是否可行,所以直接在线程函数中打印一条语句测试是否可行。现在测试的结果是不可行,貌似这个线程根本就没有执行,请问这是什么原因呢? 按照理解,JobClient 中不是反射类执行 main 函数吗, 执行 main 函数的时候为什么没有执行这个线程的打印函数呢?

230、请问我想保留最近多个完成的 checkpoint 数据,是通过设置 state.checkpoints.num-retained 吗?要怎么使用?

231、有没有 etl 实时数仓相关案例么?比如二十张事实表流 join

232、为什么我扔到 flink 的 stream job,立刻就 finished

233、有没有在 flink 上机器学习算法的一些例子啊,除了官网提供的 flink exampke 里的和 flink ml 里已有的

234、如果我想扩展 sql 的关键词,比如添加一些数据支持,有什么思路,现在想的感觉都要改 calcite(刚碰 flink 感觉难度太大了)

235、我想实现统计每 5 秒中每个类型的次数,这个现在不输出,问题出在哪儿啊

236、我用 flink 往 hbase 里写数据,有那种直接批量写 hfile 的方式的 demo 没

237、请问怎么监控 Kafka 消费是否延迟,是否出现消息积压?你有 demo 吗?这种是用 Springboot 自己写一个监控,还是咋整啊?

238、请问有计算 pv uv 的例子吗

239、通过控制流动态修改 window 算子窗口类型和长度要怎么写

240、flink 的远程调试能出一版么?网上资料坑的多

241、企业里,Flink 开发,java 用得多,还是 scala 用得多?

242、flink 的任务运行在 yarn 的环境上,在 yarn 的 resourcemanager 在进行主备切换时,所有的 flink 任务都失败了,而 MR 的任务可以正常运行。报错信息如下:AM is not registered for known application attempt: appattempt_1565306391442_89321_000001 or RM had restarted after AM registered . AM should re-register 请问这是什么原因,该如何处理呢?

243、请教一个分布式问题,比如在 Flink 的多个 TaskManager 上统计指标 count,TM1 有两条数据,TM2 有一条数据,程序是怎么计算出来是 3 呢?原理是怎么样的

244、现在公司部分 sql 查询 oracle 数据特别的慢,因为查询条件很多想问一下有什么方法,例如基于大数据组件可以加快查询速度的吗?

245、想咨询下有没有做过 flink 同步配置做自定义计算的系统?或者有没有什么好的建议?业务诉求是希望业务用户可以自助配置计算规则做流式计算

246、我这边有个实时同步数据的任务,白天运行的时候一直是正常的,一到凌晨 2 点多之后就没有数据 sink 进 mysql。晚上会有一些离线任务和一些 dataX 任务同步数据到 mysql。但是任务一切都是正常的,ck 也很快 20ms,数据也是正常消费。看了 yarn 上的日志,没有任何 error。自定义的 sink 里面也设置了日志打印,但是 log 里没有。这种如何快速定位问题。

247、有没有 flink 处理异常数据的案例资料

248、flink 中如何传递一个全局变量

249、台 4 核 16G 的 Flink taskmanager 配一个单独的 Yarn 需要一台啥样的服务器?其他功能都不需要就一个调度的东西?

250、side-output 的分享

251、使用 InfluxDB + Grafana 监控 flink 能否配置告警。是不是 prometheus 更强大点?

252、我们线上遇到一个问题,带状态的算子没有指定 uid,现在代码必须改,那个带状态的算子 不能正常恢复了,有解吗?通过某种方式能获取到系统之前自动生成的 uid 吗?

253、tableEnv.registerDataStream("Orders", ds, "user, product, amount, proctime.proctime, rowtime.rowtime");请问像这样把流注册成表的时候,这两个 rowtime 分别是什么意思

254、我想问一下 flink on yarn session 模式下提交任务官网给的例子是 flink run -c xxx.MainClass job.jar 这里是怎么知道 yarn 上的哪个是 flink 的 appid 呢?

255、Flink Netty Connector 这个有详细的使用例子? 通过 Netty 建立的 source 能直接回复消息吗?还是只能被动接受消息?

256、请问 flink sqlclient 提交的作业可以用于生产环境吗?

257、flink 批处理写回 mysql 是否没法用 tableEnv.sqlUpdate("insert into t2 select * from t1")?作为 sink 表的 t2 要如何注册?查跟 jdbc 相关的就两个 TableSink,JDBCAppendTableSink 用于 BatchTableSink,JDBCUpertTablSink 用于 StreamTableSink。前者只接受 insert into values 语法。所以我是先通过 select from 查询获取到 DataSet 再 JDBCAppendTableSink.emitDataSet(ds)实现的,但这样达不到 sql rule any 目标

258、请问在 stream 模式下,flink 的计算结果在不落库的情况下,可以通过什么 restful api 获取计算结果吗

259、现在我有场景,需要把一定的消息发送给 kafka topic 指定的 partition,该怎么搞?

260、请问我的 job 作业在 idea 上运行正常 提交到生产集群里提示 Caused by: java.lang.NoSuchMethodError: org.apache.flink.api.java.ClosureCleaner.clean(Ljava/lang/Object;Z)V 请问如何解决

261、遇到一个很奇怪的问题,在使用 streamingSQL 时,发现 timestamp 在 datastream 的时候还是正常的,在注册成表 print 出来的时候就少了八小时,大佬知道是什么原因么?

262、请问将 flink 的产生的一些记录日志异步到 kafka 中,需要如何配置,配置后必须要重启集群才会生效吗

263、星主你好,问下 flink1.9 对维表 join 的支持怎么样了?有文档吗

264、请问下 flink slq: SELECT city_name as city_name, count(1) as total, max(create_time) as create_time FROM * 。代码里面设置窗口为: retractStream.timeWindowAll(Time.minutes(5))一个 global 窗口,数据写入 hdfs 结果数据重复 ,存在两条完全重复的数据如下 常州、2283、 1566230703):请问这是为什么

265、我用 rocksdb 存储 checkpoint,线上运行一段时间发展 checkpoint 占用空间越来越大,我是直接存本地磁盘上的,怎么样能让它自动清理呢?

266、flink 应该在哪个用户下启动呢,是 root 的还是在其他的用户呢

267、link 可以读取 lzo 的文件吗

268、怎么快速从 es 里面便利数据?我们公司现在所有的数据都存在 Es 里面的;我发现每次从里面 scan 数据的时候特别慢;你那有没有什么好的办法?

269、如果想让数据按照其中一个假如 f0 进行分区,然后每一个分区做处理的时候并行度都是 1 怎么设置呢

270、近在写算子的过程中,使用 scala 语言写 flink 比较快,而且在 process 算子中实现 ontime 方式时,可以使用 scala 中的 listbuff 来输出一个 top3 的记录;那么到了 java 中,只能用 ArrayList 将 flink 中的 ListState 使用 get()方法取出之后放在 ArrayList 吗?

271、请问老师能否出一些 1.9 版本维表 join 的例子 包括 async 和维表缓存?

272、flink kaka source 设置为从组内消费,有个问题是第一次启动任务,我发现 kafka 中的历史数据不会被消费,而是从当前的数据开始消费,而第二次启动的时候才会从组的 offset 开始消费,有什么办法可以让第一次启动任务的时候可以消费 kafka 中的历史数据吗

273、1.使用 flink 定时处理离线数据,有时间戳字段,如何求出每分钟的最大值,类似于流处理窗口那样,2 如果想自己实现批流统一,有什么好的合并方向吗?比如想让流处理使用批处理的一个算子。

274、flink 怎么实现流式数据批量对待?流的数据是自定义的 source,读取的 redis 多个 Hash 表,需要控制批次的概念

275、有人说不推荐在一个 task 中开多个线程,这个你怎么看?

276、想做一个运行在 hbase+es 架构上的 sql 查询方案,flink sql 能做吗,或者有没有其他的解决方案或者思路?

277、正在紧急做第一个用到 Flink 的项目,咨询一下,Flink 1.8.1 写入 ES7 就是用自带的 Sink 吗?有没有例子分享一下,我搜到的都是写 ES6 的。这种要求我知道不适合提,主要是急,自己试几下没成功。T T

278、手动停止任务后,已经保存了最近一次保存点,任务重新启动后,如何使用上一次检查点?

279、批处理使用流环境(为了使用窗口),那如何确定批处理结束,就是我的任务可以知道批文件读取完事,并且处理完数据后关闭任务,如果不能,那批处理如何实现窗口功能

280、如果限制只能在 window 内进行去重,数据量还比较大,有什么好的方法吗?

281、端到端 exactly once 有没有出文章

282、流怎么动态加?,流怎么动态删除?,参数怎么动态修改 (广播

283、自定义的 source 数据源实现了有批次的概念,然后 Flink 将这个一个批次流注册为多个表 join 操作,有办法知道这个 sql 什么时候计算完成了?

284、编译 Flink 报错,群主遇到过没,什么原因

285、[我现在是 flink on yarn 用 zookeeper 做 HA 现在在 zk 里查看检查点信息,为什么里面的文件是 ip,而不是路径呢?我该如何拿到那个路径。

 - 排除 rest api 方式获取,因为任务关了 restapi 就没了
 -排除 history server,有点不好用](https://t.zsxq.com/nufIaey)

286、在使用 streamfilesink 消费 kafka 之后进行 hdfs 写入的时候,当直接关闭 flink 程序的时候,下次再启动程序消费写入 hdfs 的时候,文件又是从 part-0-0 开始,这样就跟原来写入的冲突了,该文件就一直处于 ingress 状态。

287、现在有一个实时数据分析的需求,数据量不大,但要求 sink 到 mysql,因为是实时更新的,我现在能想到的处理方法就是每次插入一条数据的时候,先从 mysql 读数据,如果有这条,就执行 update,没有的话就 insert,但是这样的话每写一条数据就有两次交互了。想问一下老师有没有更好的办法,或者 flink 有没有内置的 api 可以执行这种不确定是更新还是插入的操作

288、Flink 设置了 checkpoint,job manage 会定期删除 check point 数据,但是 task manage 不删除,这个是什么原因

289、请教一下使用 rocksdb 作为 statebackend ,在哪里可以监控 rocksdb io 内存指标呢

290、状态的使用场景,以及用法能出个文章不,这块不太了解

291、请问一下 Flink 1.9 SQL API 中 distinct count 是如何实现高效的流式去重的?

292、在算子内如何获取当前算子并行度以及当前是第几个 task

293、有没有 flink1.9 结合 hive 的 demo。kafka 到 hive

294、能给讲讲 apache calcite 吗

295、请问一下像这种窗口操作,怎么保证程序异常重启后保持数据的状态呢?

296、请问一下,我在使用 kafkasource 的时候,把接过来的 Jsonstr 转化成自定义的一个类型,用的是 gson. fromJson(jsonstr,classOf[Entity])报图片上的错误了,不知道怎么解决,在不转直接打印的情况下是没问题的

297、DataStream 读数据库的表,做多表 join,能设置时间窗口么,一天去刷一次。流程序会一直拉数据,数据库扛不住了

298、请问一下 flink 支持多路径通配读取吗?例如路径:s3n://pekdc2-deeplink-01/Kinesis/firehose/2019/07/03// ,通配读取找不到路径。是否需要特殊设置

299、flink yarn 环境部署 但是把容器的 url 地址删除。就会跳转到的 hadoop 的首页。怎么屏蔽 hadoop 的 yarn 首页地址呢?要不暴露这个地址用户能看到所有任务很危险

300、flink sql 怎么写一个流,每秒输出当前时间呢

301、因为想通过 sql 弄一个数据流。哈哈 另外想问一个问题,我把全局设置为根据处理时间的时间窗口,那么我在 processAllWindowFunction 里面要怎么知道进来的每个元素的处理时间是多少呢?这个元素进入这个时间窗口的依据是什么

302、如何实现一个设备上报的数据存储到同一个 hdfs 文件中?

303、我自己写的 kafka 生产者测试,数据格式十分简单(key,i)key 是一个固定的不变的字符串,i 是自增的,flink consumer 这边我开了 checkpoint. 并且是 exactly once,然后程序很简单,就是 flink 读取 kafka 的数据然后直接打印出来,我发现比如我看到打印到 key,10 的时候我直接关掉程序,然后重新启动程序,按理来说应当是从上次的 offset 继续消费,也就是 key,11,但实际上我看到的可能是从 key,9 开始,然后依次递增,这是是不是说明是重复消费了,那 exactly one 需要怎么样去保障?

304、假设有一个数据源在源源不断的产生数据,到 Flink 的反压来到 source 端的时候,由于 Flink 处理数据的速度跟不上数据源产生数据的速度, 问题 1: 这个时候在 Flink 的 source 端会怎么处理呢?是将处理不完的数据丢弃还是进行缓存呢? 问题 2: 如果是缓存,怎么进行缓存呢?

305、一个 stream 在 sink 多个时,这多个 sink 是串行 还是并行的。

306、我想在流上做一个窗口,触发窗口的条件是固定的时间间隔或者数据量达到预切值,两个条件只要有一个满足就触发,除了重写 trigger 在,还有什么别的方法吗?

307、使用 rocksdb 作为状态后端,对于使用 sql 方式对时间字段进行 group by,以达到去窗口化,但是这样没办法对之前的数据清理,导致磁盘空间很大,对于这种非编码方式,有什么办法设置 ttl,清理以前的数据吗

308、请问什么时间窗为什么会有 TimeWindow{start=362160000, end=362220000} 和 TimeWindow{start=1568025300000, end=1568025360000}这两种形式,我都用的是一分钟的 TumblingEventTimeWindows,为什么会出现不同的情况?

309、比如我统计一天的订单量。但是某个数据延迟一天才到达。比如 2019.08.01 这一天订单量应该是 1000,但是有个 100 的单据迟到了,在 2019.08.02 才到达,那么导致 2019.08.01 这一天统计的是 900.后面怎么纠正这个错误的结果呢

310、flink streaming 模式下只使用堆内内存么

311、如果考虑到集群的迁移,状态能迁移吗

312、我们现在有一个业务场景,数据上报的值是这样的格式(时间,累加值),我们需要这样的格式数据(时间,当前值)。当前值=累加值-前一个数据的累加值。flink 如何做到呢,有考虑过 state 机制,但是服务宕机后,state 就被清空了

313、Flink On k8s 与 Flink on Yarn 相比的优缺点是什么?那个更适合在生产环境中使用呢

314、有没有 datahub 链接 flink 的 连接器呀

315、单点 resourcemanager 挂了,对任务会产生什么影响呢

316、flink 监控 binlog,跟另一张维表做 join 后,sink 到 MySQL 的最终表。对于最终表的增删改操作,需要定义不同的 sink 么?

317、请问窗口是在什么时候合并的呢?例如:数据进入 windowoperator 的 processElement,如果不是 sessionwindow,是否会进行窗口合并呢?

318、Flink 中一条流能参与多路计算,并多处输出吗?他们之前会不会相互影响?

319、keyBy 算子定义是将一个流拆分成不相交的分区,每个分区包含具有相同的 key 的元素。我不明白的地方是: keyBy 怎么设置分区数,是给这个算子设置并行度吗? 分区数和 slot 数量是什么关系?

320、动态 cep-pattern,能否详细说下?滴滴方案未公布,您贴出来的几张图片是基于 1.7 的。或者有什么想法也可以讲解下,谢谢了

321、问题 1:使用常驻型 session ./bin/yarn-session.sh -n 10 -s 3 -d 启动,这个时候分配的资源是 yarn 队列里面的, flink 提交任务 flink run xx.jar, 其余机器是怎样获取到 flink 需要运行时的环境的,因为我只在集群的一台机器上有 flink 安装包。

322、flink task manager 中 slot 间的内存隔离,cpu 隔离是怎么实现的?flink 设计 slot 的概念有什么意义,为什么不像 spark executor 那样,内部没有做隔离?

323、spark 和 kafka 集成,direct 模式,spark 的一个分区对应 kafka 的一个主题的一个分区。那 flink 和 kafka 集成的时候,怎么消费 kafka 的数据,假设 kafka 某个主题 5 个 partition

324、./bin/flink run -m yarn-cluster 执行的 flink job ,作业自己打印的日志通过 yarn application 的 log 查看不了,只有集群自身的日志,程序中 logger.info 打印日志存放在哪,还是我打包的方式问题,打日志用的是 slf4j。

325、在物联网平台中,需要对每个 key 下的数据做越限判断,由于每个 key 的越限值是不同的,越限值配置在实时数据库中。 若将越限值加载到 state 中,由于 key 的量很大(大概 3 亿左右),会导致 state 太大,可能造成内存溢出。若在处理数据时从实时数据库中读取越限值,由于网络 IO 开销,可能造成实时性下降。请问该如何处理?谢谢

326、如果我一个 flink 程序有多个 window 操作,时间戳和 watermark 是不是每个 window 都需要分配,还有就是事件时间是不是一定要在数据源中就存在某个字段

327、有没有 flink1.9 刚支持的用 ddl 链接 kafka 并写入 hbase 的资料,我们公司想把离线的数仓逐渐转成实时的,写 sql 对于我们来说上手更快一些,就想找一些这方面的资料学习一下。

328、flink1.9 进行了数据类型的转化时发生了不匹配的问题, 目前使用的 Type 被弃用,推荐使用是 datatypes 类型,但是之前使用的 Type 类型的方法 对应的 schema typeinformation 目前跟 datatypes 的返回值不对应,请问下 该怎么去调整适配?

329、link 中处理数据其中一条出了异常都会导致整个 job 挂掉?有没有方法(除了异常捕获)让这条数据记录错误日志就行 下面的数据接着处理呢? 粗略看过一些容错处理,是关于程度挂了重启后从检查点拉取数据,但是如果这条数据本身就问提(特别生产上,这样就导致 job 直接挂了,影响有点大),那应该怎么过滤掉这条问题数据呢(异常捕获是最后的方法

330、我在一个做日报的统计中使用 rabbitmq 做数据源,为什么 rabbitmq 中的数据一直处于 unacked 状态,每分钟触发一次窗口计算,并驱逐计算过的元素,我在测试环境数据都能 ack,但是一到生产环境就不行了,也没有报错,有可能是哪里出了问题啊

331、我们目前数据流向是这样的,kafka source ,etl,redis sink 。这样 chk 是否可以保证端到端语义呢?

332、1.在通过 yarn-session 提交 flink job 的时候。flink-core, flink-clients, flink-scala, flink-streaming-scala, scala-library, flink-connector-kafka-0.10 那些应该写 provided scope,那些应该写 compile scope,才是正确、避免依赖冲突的姿势? 2.flink-dist_2.11-1.8.0.jar 究竟包含了哪些依赖?(这个文件打包方式不同于 springboot,无法清楚看到有哪些 jar 依赖)

333、Flink 中使用 count window 会有这样的问题就是,最后有部分数据一直没有达到 count 的值,然后窗口就一直不触发,这里看到个思路,可以将 time window + count window 组合起来

334、flink 流处理时,注册一个流数据为 Table 后,该流的历史数据也会一直在 Table 里面么?为什么每次来新数据,历史处理过得数据会重新被执行?

335、available 是变化数据,除了最新的数据被插入数据库,之前处理过数据又重新执行了几次

336、这里两天在研究 flink 的广播变量,发现一个问题,DataSet 数据集中获取广播变量,获取的内存地址是一样的(一台机器维护一个广播数据集)。在 DataStream 中获取广播变量就成了一个 task 维护一个数据集。(可能是我使用方式有问题) 所以想请教下星主,DataStream 中获取一个画面变量可以如 DataSet 中一台机器维护一个数据吗?

337、Flink 程序开启 checkpoint 机制后,用 yarn 命令多次 killed 以后,ckeckpoint 目录下有多个 job id,再次开辟资源重新启动程序,程序如何找到上一次 jobid 目录下,而不是找到其他的 jobid 目录下?默认是最后一个还是需要制定特定的 jobid?

338、发展昨天的数据重复插入问题,是把 kafka 里进来的数据流 registerDataStream 注册为 Table 做 join 时,打印表的长度发现,数据会一直往表里追加,怎样才能来一条处理一条,不往上追加呀

339、flink1.9 sql 有没有类似分区表那样的处理方式呢?我们现在有一个业务是 1 个 source,但是要分别计算 5 分钟,10 分钟,15 分钟的数据。

340、我刚弄了个服务器,在启动基础的命令时候发现 task 没有启动起来,导致 web 页是三个 0,我看了 log 也没有报错信息,请问您知道可能是什么问题吗?

241、我自定义了个 Sink extends RichSinkFunction,有了 field: private transient Object lock; 这个 lock 我直接初始化 private transient Object lock = new Object(); 就不行,在 invoke 里 使用 lock 时空指针,如果 lock 在 自定义 Sink 的 构造器初始化也不行。但是在 open 方法里初始化就可以,为什么?能解释一下 执行原理吗?如果一个 slot 运行着 5 个 sink 实例,那么 这个 sink 对象会 new 5 个还是 1 个?

342、请问 Kafka 的 broker 个数怎么估算?

343、flink on yarn 如何远程调试

344、目前有个需求:就是源数据是 dataA、dataB、DataC 通过 kafka 三个 topic 获取,然后进行合并。 但是有有几个问题,目前不知道怎么解决: dataA="id:10001,info:,date:2019-08-01 12:23:33,entry1:1,entryInfo1:" dataB="id:10001,org:,entry:1" dataC="id:10001,location:"
(1) 如何将三个流合并? (1) 数据中 dataA 是有时间的,但是 dataB 和 dataC 中都没有时间戳,那么如何解决 eventTime 及迟到乱序的问题?帮忙看下,谢谢

345、我 flink 从 kafka 读 json 数据,在反序列化后中文部分变成了一串问号,请问如何做才能使中文正常

346、我有好几个 Flink 程序(独立 jar),在线业务数据分析时都会用到同样的一批 MySQL 中的配置数据(5 千多条),现在的实现方法是每一个程序都是独立把这些配置数据装到内存中,便于快速使用,但现在感觉有些浪费资源和结构不够美观,请问这类情况有什么其他的解决方案吗?谢谢

347、Flink checkpoint 选 RocksDBStateBackend 还是 FsStatebackEnd ,我们目前是任务执行一段时间之后 任务就会被卡死。

348、flink on k8s 的高可用、扩缩容这块目前还有哪些问题?

349、有个问题问一下,是这样的现在 Kafka4 个分区每秒钟生产 4000 多到 5000 条日志数据,但是在消费者 FLINK 这边接收我只开了 4 个 solt 接收,这边只是接收后做切分存储,现在出现了延迟现象,我不清楚是我这边处切分慢了还是 Flink 接收 kafka 的数据慢了?Flink UI 界面显示这两个背压高

等等等,还有很多,复制粘贴的我手累啊 😂

另外里面还会及时分享 Flink 的一些最新的资料(包括数据、视频、PPT、优秀博客,持续更新,保证全网最全,因为我知道 Flink 目前的资料还不多)

关于自己对 Flink 学习的一些想法和建议

Flink 全网最全资料获取,持续更新,点击可以获取

再就是星球用户给我提的一点要求:不定期分享一些自己遇到的 Flink 项目的实战,生产项目遇到的问题,是如何解决的等经验之谈!

1、如何查看自己的 Job 执行计划并获取执行计划图

2、当实时告警遇到 Kafka 千万数据量堆积该咋办?

3、如何在流数据中比两个数据的大小?多种解决方法

4、kafka 系列文章

5、Flink 环境部署、应用配置及运行应用程序

6、监控平台该有架构是长这样子的

7、《大数据“重磅炸弹”——实时计算框架 Flink》专栏系列文章目录大纲

8、《大数据“重磅炸弹”——实时计算框架 Flink》Chat 付费文章

9、Apache Flink 是如何管理好内存的?

10、Flink On K8s

11、Flink-metrics-core

12、Flink-metrics-datadog

13、Flink-metrics-dropwizard

14、Flink-metrics-graphite

15、Flink-metrics-influxdb

16、Flink-metrics-jmx

17、Flink-metrics-slf4j

18、Flink-metrics-statsd

19、Flink-metrics-prometheus

20、Flink 注解源码解析

21、使用 InfluxDB 和 Grafana 搭建监控 Flink 的平台

22、一文搞懂 Flink 内部的 Exactly Once 和 At Least Once

23、一文让你彻底了解大数据实时计算框架 Flink

当然,除了更新 Flink 相关的东西外,我还会更新一些大数据相关的东西,因为我个人之前不是大数据开发,所以现在也要狂补些知识!总之,希望进来的童鞋们一起共同进步!

1、Java 核心知识点整理.pdf

2、假如我是面试官,我会问你这些问题

3、Kafka 系列文章和学习视频

4、重新定义 Flink 第二期 pdf

5、GitChat Flink 文章答疑记录

6、Java 并发课程要掌握的知识点

7、Lightweight Asynchronous Snapshots for Distributed Dataflows

8、Apache Flink™- Stream and Batch Processing in a Single Engine

9、Flink 状态管理与容错机制

10、Flink 流批一体的技术架构以及在阿里的实践

11、Flink Checkpoint-轻量级分布式快照

12、Flink 流批一体的技术架构以及在阿里的实践

13、Stream Processing with Apache Flink pdf

14、Flink 结合机器学习算法的监控平台实践

15、《大数据重磅炸弹-实时计算 Flink》预备篇——大数据实时计算介绍及其常用使用场景 pdf 和视频

16、《大数据重磅炸弹-实时计算 Flink》开篇词 pdf 和视频

17、四本 Flink 书

18、流处理系统 的相关 paper

19、Apache Flink 1.9 特性解读

20、打造基于 Flink Table API 的机器学习生态

21、基于 Flink on Kubernetes 的大数据平台

22、基于 Apache Flink 的高性能机器学习算法库

23、Apache Flink 在快手的应用与实践

24、Apache Flink-1.9 与 Hive 的兼容性

25、打造基于 Flink Table API 的机器学习生态

26、流处理系统的相关 paper

Apps
About Me
Google+: Trinea trinea
GitHub: Trinea