Apache Flink

news2025/2/3 11:24:51

目录

处理无边界和有边界数据

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

随时随地部署应用程序

以任何规模运行应用程序

利用内存性能


        Apache Flink 起源于一个叫作 Stratosphere 的项目,它是由 3 所地处柏林的大学和欧洲其他一些大学共同进行的研究项目,由柏林工业大学的教授沃克尔·马尔科(Volker Markl)领衔开发。2014年 4 月,Stratosphere 的代码被复制并捐赠给了 Apache 软件基金会,Flink 就是在此基础上被重新设计出来的。

        

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

Apache Flink: Stateful Computations over Data Streams

​​​​​​​​​​​​​​

⚫  2014 年 8 月,Flink 第一个版本 0.6 正式发布(至于 0.5 之前的版本,那就是在Stratosphere 名下的了)。与此同时 Fink 的几位核心开发者创办了 Data Artisans 公司,主要做 Fink 的商业应用,帮助企业部署大规模数据处理解决方案;

⚫ 2014 年 12 月,Flink 项目完成了孵化,一跃成为 Apache 软件基金会的顶级项目;

⚫ 2015 年 4 月,Flink 发布了里程碑式的重要版本 0.9.0,很多国内外大公司也正是从这时开始关注、并参与到 Flink 社区建设的;

⚫ 2019 年 1 月,长期对 Flink 投入研发的阿里巴巴,以 9000 万欧元的价格收购了 Data Artisans 公司;之后又将自己的内部版本 Blink 开源,继而与 8 月份发布的 Flink 1.9.0 版本进行了合并。自此之后,Flink 被越来越多的人所熟知,成为当前最火的新一代大数据处理框架。

处理无边界和有边界数据

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

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

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

2、有边界的流具有定义的开始和结束。在执行任何计算之前,可以通过摄取所有数据来处理有边界的流。处理有界流不需要有序摄取,因为有界数据集总是可以排序的。有界流的处理也称为批处理。

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

随时随地部署应用程序

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

        Flink旨在使前面列出的每个资源管理器都能正常工作。这是通过特定于资源管理器的部署模式实现的,这些模式允许Flink以惯用的方式与每个资源管理器交互。

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

以任何规模运行应用程序

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

        用户报告了在其生产环境中运行的Flink应用程序的可观的可扩展性数字,例如应用程序每天处理数万亿的事件保持数TB状态的应用程序,以及在数千个内核上运行的应用程序。

利用内存性能

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/103487.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计Node.js湖南旅游景点网站(程序+LW)

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

Java码客过去的一周年

入坑伊始 2021年12月20日 我本身就是一名计算机科学与技术的大学生,应该也算是行内的科班出身,但是在2021年12月20日之前,也就是离19届大学生考研差不多一年的时间,那时候有一周的SSM网站编程实训课程,惊讶的是虽然学…

别再用 JWT 作为 Session 系统了,问题重重,后果很危险!

SON Web Tokens,又称 JWT。本文将详解:为何 JWT 不适合存储 Session,以及 JWT 引发的安全隐患。望各位对JWT有更深的理解! 十分不幸,我发现越来越多的人开始推荐使用 JWT 管理网站的用户会话(Session&…

从头到尾Spring概念,家族,核心技术使用,事务这一篇就够了!!!

目录 1.了解Spring家族 家族成员 Spring常用项目介绍 2.Spring Framework体系结构 概述 体系图 3.Spring框架提供的核心技术 IOC控制反转 1.IOC与Spring的关系 2.什么是Bean DI 依赖注入 IoC/DI技术实现 1.基于XML的实现 2.基于注解的实现 3.基于java的实现 AO…

【案例实践】InVEST实践与进阶及在生态系统服务供需、固碳、城市热岛、论文写作中的应用

【查看原文】InVEST实践与进阶及在生态系统服务供需、固碳、城市热岛、论文写作等实际项目中的具体应用 【专家】: 白老师(研究员):长期从事生态系统结构-格局-过程-功能-服务的变化与响应关系等研究工作;重点围绕生…

使用 .NET MAUI 开发 ChatGPT 客户端

最近 chatgpt 很火,由于网页版本限制了 ip,还得必须开代理,用起来比较麻烦,所以我尝试用 maui 开发一个聊天小应用,结合 chatgpt 的开放 api 来实现(很多客户端使用网页版本接口用 cookie 的方式&#xff0…

含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入)

所谓文无第一,武无第二,云原生人工智能技术目前呈现三足鼎立的态势,微软,谷歌以及亚马逊三大巨头各擅胜场,不分伯仲,但目前微软Azure平台不仅仅只是一个PaaS平台,相比AWS,以及GAE&am…

【云原生】k8s的pod基础

内容预知 1.pod的相关知识 1.1 pod的基础概念 1.2 k8s中pod的两种使用方式 1.3 pod 容器的常规使用流程 1.4 k8s中pod结构设计的巧妙用意 通常把Pod分为两类 2. 容器的分类 2.1 pause基础容器(infrastructure container) (1&#xf…

安装ZIMG 图片服务器

简介:zimg是图像存储和处理服务器。您可以使用URL参数从zimg获取压缩和缩放的图像。 zimg的并发I / O,分布式存储和时间处理能力非常出色。 您不再需要在图像服务器中使用nginx。在基准测试中,zimg可以在高并发级别上处理每秒3000图像下载任务…

【性能篇】29 # 怎么给Canvas绘制加速?

说明 【跟月影学可视化】学习笔记。 方法一&#xff1a;优化 Canvas 指令 例子&#xff1a;实现一些位置随机的多边形&#xff0c;并且不断刷新这些图形的形状和位置 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"…

openGauss的WDR报告解读

文章目录1.执行以下SQL命令,查询已经生成的快照信息。2.生成WDR报告。3.手工创建快照信息4.WDR涉及的数据表5.WDR报告解读在Oralce数据库中&#xff0c;遇到性能问题&#xff0c;我们通常会查看有无对应时间段的快照&#xff0c;生成awr报告并进一步分析&#xff08;AWR是Autom…

海量数据小内存!只出现两次的数以及中位数怎么找

文章目录题目一题目二实际上类似的题目类似的解法在之前已经有介绍过海量数据小内存&#xff01;如何找到高频数 海量数据小内存&#xff01;从未出现过的数在哪里 题目一 如何在 40 亿个无符号整数中找到出现次数只有两次的那些数&#xff0c;在只提供 1 G 内存的条件下 解…

Map集合概述、API 遍历方式(键值对集合)

注意&#xff1a; Map集合和Collection集合是两个不同类型的集合 Map集合体系特点&#xff1a; 常用API&#xff1a; 根据键找出值&#xff1a; map.get(key); 取所有键的集合和取所有值得集合&#xff1a; 因为key是无序不重复无索引&#xff0c;所以放入set集合&#xff…

锂电池电压和电量的关系

锂电池电压和电量之间,有一定的对应关系,通过对开路电压的测量,可以大致得出电池的剩余电量。不过用电压测量电量的方式有一定的不稳定性,例如放电电流、环境温度、循环、放电平台、电极材料等,都会给最后结果的准确与否带来影响。 电压和电量的对应关系是: 100%----4.…

【算法】常用查找算法(顺序查找、二分查找、插值查找、斐波那契查找)

目录查找算法1.线性(顺序)查找(1)思路(2)代码实现(java)2.二分(折半)查找(1)思路(2)代码实现(java)3.插值查找(1)思路(2)代码实现(java)4.斐波那契(黄金分割法)查找(1)思路(2)代码实现(java)查找算法 1.线性(顺序)查找 (1)思路 判断序列中是否包含某个元素&#xff0c;找到提…

Vue3引入Lottie动画以及遇到的坑

之所以写这个问题是因为原本我认为非常小的一件事却困扰了我一整天&#xff0c;所以我打算写一个博客记录一番。 国外动画网址&#xff1a;Lottie 将来用到的lottie组件库网址&#xff1a; Vue3-lottie 我目前用的第二个&#xff1a; Vue3-lottiejs 1. 我在引入Lottie的时…

【Python机器学习】决策树与随机森林的讲解及决策树在决策决策问题中实战(图文解释 附源码)

需要源码请点赞关注收藏后评论区留言私信~~~ 在生活中人们经常应用决策树的思想来做决定 分类的建模过程与上面做决定的过程相反&#xff0c;事先不知道人们的决策思路&#xff0c;需要通过人们已经做出的大量决定来“揣摩”出其决策思路&#xff0c;也就是通过大量数据来归纳道…

嵌入式分享合集124

一、19个常用的5V转3.3V技巧 01 使用LDO稳压器 标准三端线性稳压器的压差通常是 2.0-3.0V。要把 5V 可靠地转换为 3.3V&#xff0c;就不能使用它们。压差为几百个毫伏的低压降 &#xff08;Low Dropout&#xff0c; LDO&#xff09;稳压器&#xff0c;是此类应用的理想选择。图…

常见的CSS布局方法

常见的CSS布局方法 「1. 单栏布局」 常见的单列布局有两种: header,content 和 footer 等宽的单列布局header 与 footer 等宽,content 略窄的单列布局header,content 和 footer 等宽的单列布局 ​ 先通过对 header,content,footer 统一设置 width:1000px;或者 max-width:1…

DHCP报文

一. 介绍 DHCP&#xff08;Dynamic Host Configuration Protocol&#xff0c;动态主机配置协议&#xff09;是一个局域网的网络协议&#xff0c;使用UDP协议工作&#xff0c;统一使用两个IANA分配的端口&#xff1a;67&#xff08;服务器端&#xff09;&#xff0c;68&#xff…