开发者社区 问答 正文

【精品问答】大数据常见问题之flink五十问第二期

Flink五十问 第二期分为基础篇与进阶篇
持续关注有惊喜~

基础篇
1.简单介绍一下Flink
2.Flink相比Spark Streaming有什么区别?
3.Flink的组件栈是怎么样的
4.Flink的基础编程模型了解吗?
5.说说Flink架构中的角色和作用?
6,说说Flink中常用的算子?用过哪些?
7.Flink中的分区策略有哪几种?
8.Flink的并行度有了解吗?Flink中设置并行度需要注意什么?
9.Flink支持哪几种重启策略?分别如何配置?
10.Flink的分布式缓存有什么作用?如何使用?
11.Flink中的广播变量,使用广播变量需要注意什么事项?
12.Flink中对窗口的支持包括哪几种?说说他们的使用场景
13.Flink 中的 State Backends是什么?有什么作用?分成哪几类?说说他们各自的优缺点?
14.Flink中的时间种类有哪些?各自介绍一下?
15.WaterMark是什么?是用来解决什么问题?如何生成水印?水印的原理是什么?
16,Flink的table和SQL熟悉吗?Table API和SQL中TableEnvironment这个类有什么作用?
17.Flink如何实现SQL解析的呢?
18.Flink 的 抽象层次有几种
19.Window 类型
20.Time 类型
21.Checkpoint的理解
22.Savepoint
23.Flink runtime architecture
24.什么是solts
25.什么是状态
26,RestartStrategies
27.statebacked有几种(3种)
28.运行模式
29.全量聚合和增量聚合 window

进阶篇
30.Flink是如何做到批处理与流处理统一的?
31.Flink中的数据传输模式是怎么样的?
32.Flink的容错机制
33.Flink中的分布式快照机制是怎么样的
34.Flink是如何实现Exactly-once的?
35.Flink的Kafka-connector是如何做到向下兼容的呢?
36.Flink中的内存管理是如何做的?
37.Flink中的序列化是如何做的?
38,Flink中的RPC框架选型是怎么样的?
39.Flink在使用Window时出现数据倾斜,你有什么解决办法?
40.Flink SQL在使用Groupby时出现热点数据,如何处理?
41.Flink任务,delay极高,请问你有什么调优策略?
42.Flink是如何处理反压的?和Spark有什么区别?Storm呢?
43.Operator Chains(算子链)这个概念你了解吗?Flink是如何优化的?什么情况下Oper
44.4种方法调优Flink
45.全量聚合和增量聚合 window
46.Flink 的trigger 有几种
47.Flink job 有多少种状态

技术交流钉群
群福利:群内每周进行群直播技术分享及问答

Screenshot_2019_1114_181424.png

展开
收起
茶什i 2019-11-21 14:54:07 2628 分享 版权
阿里云 AI 助理回答

很高兴您对Apache Flink感兴趣,以下是对您提出问题的简要回答,旨在提供一个概览。请注意,由于篇幅限制,每个问题的回答可能不会非常详尽,但足以帮助您入门或回顾Flink的关键概念。

基础篇

  1. 简单介绍一下Flink
    Apache Flink是一个开源流处理框架,支持高吞吐、低延迟的数据流处理,同时也能进行批处理,实现了流批一体处理。

  2. Flink相比Spark Streaming有什么区别?
    Flink提供了事件时间处理和精确一次的状态一致性保证,且在低延迟处理上表现更优。而Spark Streaming基于微批处理,更适合大规模数据集的处理,但在实时性方面不如Flink。

  3. Flink的组件栈是怎么样的?
    Flink架构包括数据源、数据流、转换操作(如map, filter)、窗口操作、sink等,以及JobManager负责作业调度,TaskManager负责执行任务。

  4. Flink的基础编程模型了解吗?
    Flink的核心编程模型是DataStream API(面向流处理)和DataSet API(面向批处理),现在推荐使用Table API和SQL来实现统一的处理逻辑。

  5. 说说Flink架构中的角色和作用?
    JobManager管理整个数据流图的执行,包括调度、资源分配;TaskManager执行实际的数据处理任务。

  6. Flink中常用的算子?用过哪些?
    常见算子有map, filter, reduce, join, window等。具体使用根据业务需求而定。

  7. Flink中的分区策略有哪几种?
    包括轮询、哈希、键值对重分区、全局广播等。

  8. Flink的并行度有了解吗?设置并行度需要注意什么?
    并行度指任务运行时的并发数。设置时需考虑硬件资源、数据量、运算复杂度,避免资源浪费或不足。

  9. Flink支持哪几种重启策略?配置方式?
    固定延迟重启、失败率重启、没有重启。配置通过env.setRestartStrategy()方法。

  10. Flink的分布式缓存有什么作用?如何使用?
    用于缓存静态数据到所有参与计算的节点,减少网络传输。通过ExecutionConfig.setCacheFile()设置。

  11. Flink中的广播变量,注意事项?
    广播变量允许将一个数据集发送给所有工作节点,每个节点都有一份副本。注意控制大小,避免内存溢出。

  12. Flink中对窗口的支持包括哪几种?场景?
    滑动窗口、滚动窗口、会话窗口等,适用于不同时间序列分析场景,如计数、聚合等。

  13. State Backends是什么?作用?分类及优缺点?
    State Backends用于存储状态数据,分为MemoryStateBackend、FsStateBackend、RocksDBStateBackend。内存快但有限,文件系统持久但慢,RocksDB结合了两者优点。

  14. Flink的时间种类有哪些?介绍?
    处理时间、事件时间、摄入时间。事件时间最准确,反映数据产生的时间,适合需要精确时间逻辑的应用。

  15. WaterMark是什么?解决什么问题?原理?
    水印用来处理乱序事件,确保事件时间的一致性。水印是一种机制,标记数据流中的进度,用于触发窗口计算。

进阶篇

...(进阶篇内容较多,为保持简洁,这里不一一展开,主要涉及容错机制、数据传输模式、Kafka集成、内存管理、序列化、反压处理、Operator Chains优化、Trigger类型、Job状态等深入话题)

对于详细的技术交流和疑问解答,建议直接加入提供的钉群,那里会有定期的技术分享和问答环节,能更直接地获得专家和社区的帮助。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答