Flink的使用和介绍

本周我们很高兴邀请到了Xin Zhao给我们带来《Flink的使用和介绍》,相关的内容总结如下:

Slides

Xin Zhao使用的Slides见这里

Q&A

感谢Becky和张程给我们做的详细笔记,相关的提问总结如下:

Flink对比spark如何进行选择?

  1. 得益于Flink底层的架构设计,Flink的速度要比Spark快。
  2. Flink对streaming的处理(native)使其对比spark(micro batch)有一定的优势。
  3. Spark会在executor和in-memory state store之间share memory,很容易会有Out-Of-Memory的问题出现。
  4. Spark目前来说使用更加广泛一点,所以社区支持相对比较好。
  5. 【扩展】很详细的对比文章:Spark Vs. Flink
  6. 【扩展】我们之前关于Spark介绍的总结:Apache Spark基本架构和工作原理介绍
  7. 【扩展】另外一篇还不错的对比文章:Apache Flink vs Spark – Will one overtake the other?
  8. 【扩展】Streaming和batch的对比介绍:The Big Data Debate: Batch Versus Stream Processing
  9. 【扩展】micro batch和real time streaming的介绍:Micro Batch Processing

Flink是如何实现HA的?

  1. 相关的思想还是让JobManager能够做到HA,这样就先可以继续资源管理和schedule。具体可以参考官网关于HA的介绍,主要有基于ZooKeeper和Kubernetes的两种实现。
  2. 【扩展】从源码级别对Flink HA分析的文章:如何实现生产环境中的Flink高可用
  3. 【扩展】Flink使用ZooKeeper/Kubernetes实现HA的介绍文章:Flink JM HA 在 Kubernetes 上的实现

Flink中WaterMark是如何生成和使用的?

  1. WaterMark主要就是用来告知当前event time的进程的,主要作用是用来防止数据乱序或者指定时间没有获取到全部数据。
  2. 它本质上还是一个时间戳,反应的是事情发生的时间。
  3. 是应该翻译成“水印”还是“水位线”其实不重要,主要还是看大家的理解。
  4. 官网对WaterMark的解释。
  5. 【扩展】很详细的从产生到实现详细介绍WaterMark并包含源码分析的文章:[白话解析] Flink的Watermark机制
  6. 【扩展】更直白,但是有不同示例的介绍WaterMark的文章:这一次带你彻底搞懂 Flink Watermark

Flink中如何做到Exactly Once/at most once?

  1. 实现的Exactly once还是at most once和你选择Source以及Sink是息息相关的,官网有相关source和sink对应Guarantee可以参考。
  2. 【扩展】很经典的一篇关于如何使用Flink+Kafak实现Exactly once的介绍文章:An Overview of End-to-End Exactly-Once Processing in Apache Flink® (with Apache Kafka, too!)中文翻译

Flink是如何做到容错的?

  1. 官网有详细介绍容错的机制。
  2. 【扩展】非常好介绍Flink容错机制的文章,包含了作业执行容错以及守护进程容错两个方面,个人觉得容错看这一篇应该足够了:深入理解 Flink 容错机制

Flink是如何实现去重的?

  1. 可以使用redis/幂等等方式来进行去重。
  2. 【扩展】这篇文章主要介绍了MapState,SQL,HyperLogLog以及Bitmap几种去重方式:基于Flink 的实时 精准去重方法总结
  3. 【扩展】这篇文章主要介绍了布隆过滤器,RocksDB以及Redis三种去重的方法:Flink海量数据去重方案

Flink是如何实现Join的?

  1. 官网有详细的关于stream joinSQL join方法的介绍。
  2. 【扩展】详细介绍了Flink中双流join的机制,并且与传统数据库join进行了一些对比,比较形象:Apache Flink 漫谈系列(09) – JOIN 算子
  3. 【扩展】从实战的角度来看如何在Flink中进行流Join:Flink SQL 实战:双流 join 场景应用

再次感谢大家的参与,也希望大家有好的资源能联系我更新这篇文章。谢谢大家。

下周话题安排和往期话题回顾敬请参见《系统设计开荒小分队话题讨论简介

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *