Flink入门指引

今天看到了有关flink的内容,来学习了解一下:

一、简介

    Apache Flink是一个框架和分布式处理引擎,用于对无限制和有限制的数据流进行有状态的计算。Flink被设计为可在所有常见集群环境中运行,以内存速度和任意规模执行计算。


二、处理无界和有界数据

    任何类型的数据都是作为事件流产生的。信用卡交易,传感器测量,机器日志或网站或移动应用程序上的用户交互,所有这些数据均可以作为流生成。

    数据可以作为无界流或有界流处理:

    1)无限制的流有一个起点,但没有定义的终点。它们不会终止并在生成数据时提供数据。无限制的流必须连续处理,即,事件在被摄取后必须立即处理。无法等待所有输入数据到达,因为输入是无界的,并且在任何时间点都不会完成。处理无边界数据通常需要以特定顺序(例如事件发生的顺序)来摄取事件,以便能够推断出结果的完整性。

    2)有界流具有定义的开始和结束。可以通过在执行任何计算之前提取所有数据来处理有界流。由于有界数据集始终可以排序,因此不需要有序摄取即可处理有界流。绑定流的处理也称为批处理。

 Apache Flink擅长处理无边界和有边界的数据集。精确的时间和状态控制使Flink的运行时能够在无限制的流上运行任何类型的应用程序。有界流由专门为固定大小的数据集设计的算法和数据结构在内部进行处理,从而产生出色的性能。


三、随时随地部署应用程序

    Apache Flink是一个分布式系统,需要计算资源才能执行应用程序。Flink与所有常见的群集资源管理器(如Hadoop YARN,Apache Mesos和Kubernetes)集成,但也可以设置为作为独立群集运行。

    Flink旨在与前面列出的每个资源管理器配合使用。这是通过特定于资源管理器的部署模式实现的,该模式允许Flink以其惯用方式与每个资源管理器进行交互。

    部署Flink应用程序时,Flink会根据应用程序配置的并行性自动识别所需的资源,并向资源管理器请求。如果发生故障,Flink会通过请求新资源来替换发生故障的容器。提交或控制应用程序的所有通信均通过REST调用进行。这简化了Flink在许多环境中的集成。


四、任意规模运行应用程序

    Flink旨在运行任何规模的有状态流应用程序。应用程序被并行化为可能成千上万的任务,这些任务在集群中分布并同时执行。因此,应用程序几乎可以利用无限数量的CPU,主内存,磁盘和网络IO。而且,Flink易于维护非常大的应用程序状态。它的异步和增量检查点算法可确保对处理延迟的影响降至最低,同时保证状态一致性。


五、利用内存性能

    有状态Flink应用程序针对本地状态访问进行了优化。任务状态始终保持在内存中,或者,如果状态大小超出可用内存,则始终保持在访问有效的磁盘数据结构中。因此,任务通过访问通常处于内存中的状态来执行所有计算,从而产生非常低的处理延迟。Flink通过定期将本地状态异步指向持久性存储来确保出现故障时一次准确的状态一致性。

#学习路径#
全部评论
多学一点总是好的
点赞 回复
分享
发布于 2022-10-22 20:43 陕西

相关推荐

 适合小白或者其他领域转Flink或者轻度使用者查看,大佬轻轻喷基础篇1. 什么是Apache Flink?​Apache Flink是一个开源的流处理和批处理框架,可以实现快速、可靠、可扩展的大数据处理。​2. Flink与Hadoop的区别是什么?​Flink是一个全面的流处理和批处理框架,提供了低延迟和高吞吐量的实时数据处理能力,而Hadoop更侧重于离线批处理。​3. Flink中的事件时间(Event Time)和处理时间(Processing Time)有什么区别?​事件时间是数据实际生成的时间,而处理时间是数据到达Flink系统的时间。事件时间可以通过时间戳标记数据,而处理时间是Flink根据数据到达的顺序生成的。​4. Flink的容错机制是如何实现的?​Flink使用检查点(Checkpoint)机制实现容错。它会定期保存应用程序的状态,并在发生故障时恢复到最近的一个检查点状态。​5. 什么是Flink的窗口(Window)?窗口是Flink中用于对无限数据流进行有界处理的机制。它将无限流切分为有限的、不重叠的块,并对每个窗口进行计算。6. Flink支持哪些类型的窗口?​Flink支持滚动窗口(Tumbling Window)、滑动窗口(Sliding Window)和会话窗口(Session Window)。7. Flink中的状态后端(State Backend)是什么?​状态后端是Flink用于保存和管理应用程序状态的机制。它可以存储状态到内存、文件系统或分布式存储系统(如HDFS)中。8. Flink的水印(Watermark)是什么?​水印是用于表示事件时间进度的标记。它通常与数据流中的时间戳一起使用,用于处理乱序事件和延迟数据。9. Flink的时间窗口触发器(Trigger)是什么?​时间窗口触发器用于控制何时触发计算窗口的输出。它可以基于元素数量、处理时间、水印等条件进行触发。​... 完整版见:原文链接:https://blog.csdn.net/qq_30757161/article/details/137459710#数据开发##金三银四,你有感觉到吗##大数据#
点赞 评论 收藏
转发
2 3 评论
分享
牛客网
牛客企业服务