Flink 灵魂两百问,这谁顶得住?

两百问一点都不夸张,这才光知识星球从建立到如今的问题总数,另外还有多个微信群的答疑解惑。有时候忍不住想给本身点个赞,咋能这么?呢?
php

麻烦路过的各位亲给这个项目点个 star,太不易了,写了这么多,算是对我坚持下来的一种鼓励吧!地址:https://github.com/zhisheng17/flink-learningjava

640?wx_fmt=jpeg

本项目结构

640?wx_fmt=jpeg

2019/06/08 新增 Flink 四本电子书籍的 PDF,在 books 目录下:mysql

  • Introduction_to_Apache_Flink_book.pdf 这本书比较薄,处于介绍阶段,国内有这本的翻译书籍linux

  • Learning Apache Flink.pdf 这本书比较基础,初学的话能够多看看git

  • Stream Processing with Apache Flink.pdf 这本书是 Flink PMC 写的github

  • Streaming System.pdf 这本书评价不是通常的高web

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

  • 流处理引擎相关的 Paperredis

博客

一、《从0到1学习Flink》—— Apache Flink 介绍
二、《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门
三、《从0到1学习Flink》—— Flink 配置文件详解
四、《从0到1学习Flink》—— Data Source 介绍
五、《从0到1学习Flink》—— 如何自定义 Data Source ?
六、《从0到1学习Flink》—— Data Sink 介绍
七、《从0到1学习Flink》—— 如何自定义 Data Sink ?
八、《从0到1学习Flink》—— Flink Data transformation(转换)
九、《从0到1学习Flink》—— 介绍 Flink 中的 Stream Windows
十、《从0到1学习Flink》—— Flink 中的几种 Time 详解
十一、《从0到1学习Flink》—— Flink 读取 Kafka 数据写入到 ElasticSearch
十二、《从0到1学习Flink》—— Flink 项目如何运行?
1三、《从0到1学习Flink》—— Flink 读取 Kafka 数据写入到 Kafka
1四、《从0到1学习Flink》—— Flink JobManager 高可用性配置
1五、《从0到1学习Flink》—— Flink parallelism 和 Slot 介绍
1六、《从0到1学习Flink》—— Flink 读取 Kafka 数据批量写入到 MySQL
1七、《从0到1学习Flink》—— Flink 读取 Kafka 数据写入到 RabbitMQ
1八、《从0到1学习Flink》—— 你上传的 jar 包藏到哪里去了
1九、大数据“重磅炸弹”——实时计算框架 Flink
20、《Flink 源码解析》—— 源码编译运行
2一、为何说流处理即将来?
2二、OPPO数据中台之基石:基于Flink SQL构建实数据仓库
2三、流计算框架 Flink 与 Storm 的性能对比
2四、Flink状态管理和容错机制介绍
2五、原理解析 | Apache Flink 结合 Kafka 构建端到端的 Exactly-Once 处理
2六、Apache Flink 是如何管理好内存的?
2七、从0到1学习Flink》——Flink 中这样管理配置,你知道?
2八、从0到1学习Flink》——Flink 不能够连续 Split(分流)?
2九、Flink 从0到1学习—— 分享四本 Flink 的书和二十多篇 Paper 论文
30、360深度实践:Flink与Storm协议级对比
3一、Apache Flink 1.9 重大特性提早解读
3二、如何基于Flink+TensorFlow打造实时智能异常检测平台?只看这一篇就够了
3三、美团点评基于 Flink 的实时数仓建设实践算法


Flink 源码项目结构

640?wx_fmt=jpeg

知识星球

640?wx_fmt=jpeg

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

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

640?wx_fmt=png


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

若是学习 Flink 的过程当中,遇到什么问题,能够在里面提问,我会优先解答,这里作个抱歉,本身平时工做也挺忙,微信的问题不能作所有作一些解答,
但确定会优先回复给知识星球的付费用户的,庆幸的是如今星球里的活跃氛围仍是能够的,有很多问题经过提问和解答的方式沉淀了下来。

一、为什么我使用 ValueState 保存状态 Job 恢复是状态没恢复?

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

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

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

五、Flink能经过oozie或者azkaban提交吗?

六、jobmanager挂掉后,提交的job怎么不通过手动从新提交执行?

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

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

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

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

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

十二、Flink sink to es 集群上报 slot 不够,单机跑是好的,为何?

1三、Fllink to elasticsearch如何建立索引文档期时间戳?

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

1五、flink的Python api怎样?bug多吗?

1六、Flink VS Spark Streaming VS Storm VS Kafka Stream

1七、大家作实时大屏的技术架构是什么样子的?flume→kafka→flink→redis,而后后端去redis里面捞数据,酱紫可行吗?

1八、作一个统计指标的时候,须要在Flink的计算过程当中屡次读写redis,感受好怪,星主有没有好的方案?

1九、Flink 使用场景大分析,列举了不少的经常使用场景,能够好好参考一下

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

2一、使用了ValueState来保存中间状态,在运行时中间状态保存正常,可是在手动中止后,再从新运行,发现中间状态值没有了,以前出现的键值是从0开始计数的,这是为何?是须要实现CheckpointedFunction吗?

2二、flink on yarn jobmanager的HA须要怎么配置。仍是说yarn给管理了

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

2四、Flink能经过oozie或者azkaban提交吗?

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

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

2七、flink sql任务在某个特定阶段会发生tm和jm丢失心跳,是否是因为gc时间过长呢,

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

2九、一个task slot 只能同时运行一个任务仍是多个任务呢?若是task slot运行的任务比较大,会出现OOM的状况吗?

30、大家怎么对线上flink作监控的,若是整个程序失败了怎么自动重启等等

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

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

3三、 CheckPoint与SavePoint的区别是什么?

3四、flink能够在算子中共享状态吗?或者大佬你有什么方法能够共享状态的呢?

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

3六、这种状况,咱们调并行度 仍是配置参数好

3七、你们都用jdbc写,各类数据库增删查改拼sql有没有以为很累,ps.set代码一大堆,还要计算每一个参数的位置

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

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

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

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

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

4三、Flink 源码的结构图

4四、我想根据不一样业务表(case when)进行不一样的redis sink(hash ,set),我要如何操做?

4五、这个须要清理什么数据呀,我把hdfs里面的已经清理了 启动仍是报这个

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

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

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

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

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

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

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

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

5四、有人 AggregatingState 的例子吗, 感受官方的例子和 官网的不太同样?

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

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

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

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

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

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

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

6二、在用中间状态的时候,若是中间一些信息保存在state中,有没有必要在redis中再保存一份,来作第三方的存储。

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

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

6五、窗口触发的条件问题

6六、flink 定时任务怎么作?有相关的demo么?

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

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

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

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

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

7二、请教你们: 实际 flink 开发中用 scala 多仍是 java多些?刚入手 flink 大数据 scala 须要深刻学习么?

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

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

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

7六、flink使用yarn-session方式部署,如何保证yarn-session的稳定性,若是yarn-session挂了,须要从新部署一个yarn-session,如何恢复以前yarn-session上的job呢,以前的checkpoint还能使用吗?

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

7八、flink如何在较大的数据量中作去重计算。

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

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

8一、check point 总是失败,是否是自定义的pojo问题?到本地能够,到hdfs就不行,网上也有不少相似的问题 都没有一个很好的解释和解决方案

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

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

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

8五、[Flink 提交任务的 jar包能够指定路径为 HDFS 上的吗]()

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

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

8八、批量写入MySQL,完成HBase批量写入

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

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

9一、sink到MySQL,若是直接用idea的话能够运行,而且成功,大大的代码上面用的FlinkKafkaConsumer010,而个人Flink版本为1.7,kafka版本为2.12,因此当我用FlinkKafkaConsumer010就有问题,因而改成 FlinkKafkaConsumer就能够直接在idea完成sink到MySQL,可是为什么当我把该程序打成Jar包,去运行的时候,就是报FlinkKafkaConsumer找不到呢

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

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

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

9五、不知道大大熟悉Hbase不,我想直接在Hbase中查询某一列数据,由于有重复数据,因此想使用distinct统计实际数据量,请问Hbase中有没有相似于sql的distinct关键字。若是没有,想实现这种能够不?

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

9七、 大佬知道flink的dataStream能够转换为dataSet吗?由于数据须要11分钟一个批次计算五六个指标,而且涉及好几步reduce,计算的指标之间有联系,用Stream卡住了。

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

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

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

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

10二、 有一个datastream(从文件读取的),而后我用flink sql进行计算,这个sql是一个加总的运算,而后经过retractStreamTableSink能够把文件作sql的结果输出到文件吗?这个输出到文件的接口是用什么呢?

10三、 为啥split这个流设置为过时的

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

10五、 Flink 对 SQL 的重视性

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

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

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

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

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

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

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

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

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

11四、在使用WaterMark的时候,默认是每200ms去设置一次watermark,那么每一个taskmanager之间,因为获得的数据不一样,因此每每产生的最大的watermark不一样。那么这个时候,是各个taskmanager广播这个watermark,获得全局的最大的watermark,仍是说各个taskmanager都各自用本身的watermark。主要没看到广播watermark的源码。不知道是本身观察不仔细仍是就是没有广播这个变量。

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

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

11七、请问impala这种mpp架构的sql引擎,为何稳定性比较差呢?

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

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

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

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

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

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

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

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

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

12七、一个互联网公司,或者一个业务系统,若是想作一个全面的监控要怎么作?有什么成熟的方案能够参考交流吗?有什么有什么度量指标吗?

12八、怎么深刻学习flink,或者其余大数据组件,能为将来秋招找一份大数据相关(计算方向)的工做增长本身的竞争力?

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

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

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

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

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

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

14四、本地idea能够跑的工程,放在standalone集群上,总报错,报错截图以下,大佬请问这是啥缘由

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

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

14七、基于事件时间,每五分钟一个窗口,五秒钟滑动一次,同时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的数据到达以后才会触发

14八、使用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就会跳过这条消息,然而依旧报这个异常

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

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

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

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

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

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

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

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

15七、关于 structured_streaming 的 paper

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

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

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

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

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

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

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

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

16六、spark改写为flink,会不会很复杂,还有这二者在SQL方面的支持差异大吗?

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

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

16九、需求是根据每条日志切分出须要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 就会报错,这是怎么回事呢

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

17二、刚接触flink,若有问的不合适的地方,请见谅。一、为何说flink是有状态的计算?二、这个状态是什么?三、状态存在哪里

17三、这边用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版本不兼容形成的这个问题

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

17五、请问老师是否能够提供一些Apachebeam的学习资料 谢谢

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

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

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

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

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

18一、有docker部署flink的资料吗

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

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

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

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

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

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

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

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

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

19一、有作flink cep的吗,有资料没?

19二、麻烦问一下 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不支持吗?

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

19四、一个flink做业常常发生oom,多是什么缘由致使的。处理流程只有15+字段的解析,redis数据读取等操做,TM配置10g。业务会在夜间刷数据,qps能打到2500左右~

19五、我看到flink 1.8的状态过时仅支持Processing Time,那么若是我使用的是Event time那么状态就不会过时吗

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

19七、flink任务里面反序列化一个类,报ClassNotFoundException,但是包里面是有这个类的,有遇到这种状况吗?

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

19九、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的性能呢?

20一、Flink Metric 源码分析

等等等,还有不少,复制粘贴的我手累啊 ?

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

关于本身对 Flink 学习的一些想法和建议

Flink 全网最全资料获取,持续更新,点击能够获取

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

一、如何查看本身的 Job 执行计划并获取执行计划图

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

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

四、kafka 系列文章

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

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

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

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

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

十、Flink On K8s

十一、Flink-metrics-core

十二、Flink-metrics-datadog

1三、Flink-metrics-dropwizard

1四、Flink-metrics-graphite

1五、Flink-metrics-influxdb

1六、Flink-metrics-jmx

1七、Flink-metrics-slf4j

1八、Flink-metrics-statsd

1九、Flink-metrics-prometheus

固然,除了更新 Flink 相关的东西外,我还会更新一些大数据相关的东西,由于我我的以前不是大数据开发,因此如今也要狂补些知识!总之,但愿进来的童鞋们一块儿共同进步!

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

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

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

四、从新定义 Flink 第二期 pdf

五、GitChat Flink 文章答疑记录

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

七、Lightweight Asynchronous Snapshots for Distributed Dataflows

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

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

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

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

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

1三、Stream Processing with Apache Flink pdf

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

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

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

1七、四本 Flink 书

1八、流处理系统 的相关 paper

1九、Apache Flink 1.9 特性解读

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

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

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

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

2四、Apache Flink-1.9与Hive的兼容性

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

2六、流处理系统 的相关 paper