大数据“重磅炸弹”——实时计算框架 Flink

1,320 阅读9分钟

Flink 学习

项目地址:https://github.com/zhisheng17/flink-learning/

项目结构

 1├── README.md 2├── flink-learning-cep 3├── flink-learning-common 4├── flink-learning-connectors 5│   ├── flink-learning-connectors-activemq 6│   ├── flink-learning-connectors-cassandra 7│   ├── flink-learning-connectors-es6 8│   ├── flink-learning-connectors-flume 9│   ├── flink-learning-connectors-hbase10│   ├── flink-learning-connectors-hdfs11│   ├── flink-learning-connectors-influxdb12│   ├── flink-learning-connectors-kafka13│   ├── flink-learning-connectors-mysql14│   ├── flink-learning-connectors-rabbitmq15│   ├── flink-learning-connectors-redis16│   ├── flink-learning-connectors-rocketmq17├── flink-learning-data-sinks18├── flink-learning-data-sources19├── flink-learning-examples20├── flink-learning-monitor21│   ├── flink-learning-monitor-alert22│   ├── flink-learning-monitor-collector23│   ├── flink-learning-monitor-common24│   ├── flink-learning-monitor-storage25├── flink-learning-sql26├── flink-learning-template

博客

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

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

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

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

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

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

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

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

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

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

11、《从0到1学习Flink》—— Flink 读取 Kafka 数据写入到 ElasticSearch

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

13、《从0到1学习Flink》—— Flink 读取 Kafka 数据写入到 Kafka

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

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

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

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

18、《从0到1学习Flink》—— Flink 读取 Kafka 数据写入到 HBase

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

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

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

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

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

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

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

26、《从0到1学习Flink》—— 你的 Flink job 日志跑到哪里去了上面几篇未给出链接的会在 https://t.zsxq.com/zV7MnuJ 公布

学习资料

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

   

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

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

目前知识星球内已更新的系列文章:这些全在  https://t.zsxq.com/zV7MnuJ 公布

1、《从1到100深入学习Flink》—— 源码编译

2、《从1到100深入学习Flink》—— 项目结构一览

3、《从1到100深入学习Flink》—— local 模式启动流程

4、《从1到100深入学习Flink》—— standalonesession 模式启动流程

5、《从1到100深入学习Flink》—— Standalone Session Cluster 启动流程深度分析之 Job Manager 启动

6、《从1到100深入学习Flink》—— Standalone Session Cluster 启动流程深度分析之 Task Manager 启动

7、《从1到100深入学习Flink》——分析 Batch WordCount 程序的执行过程

8、《从1到100深入学习Flink》——分析 Streaming WordCount 程序的执行过程

9、《从1到100深入学习Flink》——如何获取 StreamGraph?

10、《从1到100深入学习Flink》——如何获取 JobGraph?

11、《从1到100深入学习Flink》—— Flink JobManager 有什么作用?

12、《从1到100深入学习Flink》—— Flink TaskManager 有什么作用?

13、《从1到100深入学习Flink》—— JobManager 处理 SubmitJob 的过程

14、《从1到100深入学习Flink》—— TaskManager 处理 SubmitJob 的过程

除了《从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怎么不经过手动重新提交执行?

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

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

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

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

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

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

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

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

4、kafka 系列文章

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

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

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

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

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

另外还有一篇 GitChat:感兴趣的可以扫描下面二维码购买查看。