Flink基础篇|001_Flink是什么

在这里插入图片描述

📫 作者简介:「六月暴雪飞梨花」,专注于研究Java,就职于科技型公司后端工程师
🏆 近期荣誉:华为云云享专家、阿里云专家博主、腾讯云优秀创作者
🔥 三连支持:欢迎 ❤️关注、👍点赞、👉收藏三连,支持一下博主~

文章目录

  • 前言
  • 关于Flink
  • Flink中的事件流
  • Flink拥有的能力
  • 总结

前言

我们通常说的Flink是来Apache Flink,他是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算法的执行。现在越来越多的企业公司和个人都在使用Flink,来使用他的特性解决一些实时问题。

关于Flink

官方地址:https://flink.apache.org/
在这里插入图片描述

在官网上开头有一段话就讲到Apache Flink,翻译过来就是:Apache Flink是一个框架和分布式处理引擎,用于在无界和有界数据流上进行有状态计算。Flink旨在在所有常见的集群环境中运行,以内存速度和任何规模执行计算。从上面的介绍中,我们可以提取到Apache Flink是一个流式计算框架,也是流处理引擎。
流式计算框架:作为流式计算框架,用于处理无限量的数据,并在真正的实时上下文中运行。
流处理引擎:Flink是一个分布式的、高性能的、可伸缩的、容错的流处理引擎,它支持批处理和流处理,并提供了丰富的API和库,是实时数据处理的理想选择。

Flink中的事件流

在Flink中,任何类型的数据都可以形成一种事件流,数据可以被作为 无界 或者 有界 流来处理。
无界流
有定义流的开始,但没有定义流的结束。它们会无休止地产生数据。无界流的数据必须持续处理,即数据被摄取后需要立刻处理。我们不能等到所有数据都到达再处理,因为输入是无限的,在任何时候输入都不会完成。处理无界数据通常要求以特定顺序摄取事件,例如事件发生的顺序,以便能够推断结果的完整性。例如监听数据,消费数据(信用卡消费时给出消费判断和消费告警)。
有界流
有定义流的开始,也有定义流的结束。有界流可以在摄取所有数据后再进行计算。有界流所有数据可以被排序,所以并不需要有序摄取。有界流处理通常被称为批处理。例如在读取文件数据,文件在被读取时是已经确定大小,确定了数据。
在这里插入图片描述

Flink作为一个引擎可以存储有状态的数据流。一般情况下,我们在其他框架中,都是计算一个结果后存储在数据库,例如存储在redis、mysql,然后再读取出来做一些其他业务逻辑计算。而在Flink中有状态的数据流是指在进行数据处理时,数据流中包含的状态信息可以被存储和访问,以便在处理过程中进行状态的计算和更新。与无状态的数据流相比,有状态的数据流需要更多的存储和计算资源,因为需要维护状态的一致性和容错性。

Flink拥有的能力

Flink可以在一个单独的机器上运行,也可以在一个集群上运行,并具有高效的数据处理能力,特别是对于大规模数据集。从官网来看,Flink有以下5种能力:
● 正确性保证:Flink提供了精确一次的状态一致性保障,这使得它能够保证数据的准确性和可靠性。Flink还支持实践时间驱动处理和延迟时间处理。
● 分层API:Flink提供了多种编程模型和API,包括DataStream API、DataSet API、Table API、BatchData API、ProcessFunction(时间和状态)和SQL API等,以及一系列的算子库,用于执行常见的流处理任务。
● 聚焦运维:灵活部署,支持单节点和集群部署;支持高可用;支持savekpoint。
● 支撑大规模计算:支持水平扩展,增量checkpoint,从官网可以看到:处理每天处理数万亿的事件,应用维护几TB大小的状态和应用在数千个内核上运行。
● 低延迟和高吞吐:Flink卓越的性能是在内存计算,有状态的 Flink 程序针对本地状态访问进行了优化。任务的状态始终保留在内存中,如果状态大小超过可用内存,则会保存在能高效访问的磁盘数据结构中。任务通过访问本地(通常在内存中)状态来进行所有的计算,从而产生非常低的处理延迟。
另外,Flink支持多种资源管理框架,Flink可以在包括YARN、Mesos、Kubernetes在内的多种资源管理框架上运行,并支持在裸机集群上独立部署。

总结

本文通过Flink官网来了解Flink是什么,Flink是一个事件驱动框架引擎,得力于Flink的能力,我们可以解决工作中的很多事情,Flink主要应用场景包括实时数据计算、实时数据仓库和ETL、事件驱动型场景(如告警、监控)等。


欢迎关注博主 「六月暴雪飞梨花」 或加入【六月暴雪飞梨花社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

监控概述、安装zabbix、配置zabbixagent、添加被控端主机、常用监控指标、自定义监控项

监控概述 对服务的管理,不能仅限于可用性。 还需要服务可以安全、稳定、高效地运行。 监控的目的:早发现、早治疗。 被监控的资源类型: 公开数据:对外开放的,不需要认证即可获取的数据私有数据:对外不开…

分享关闭Windows自动更新的六种方法。

方法一:禁用Windows Update服务 同时按下键盘的“WinR”键,打开“运行”窗口,输入“services.msc”并点击“确定”。 在打开的服务列表中找到“Windows Update”选项,双击打开其属性窗口。 在“启动类型”下拉菜单中选择“禁用”…

vue-内置组件-Suspense

Suspense (实验性功能) <Suspense> 是一项实验性功能。它不一定会最终成为稳定功能&#xff0c;并且在稳定之前相关 API 也可能会发生变化。 <Suspense> 是一个内置组件&#xff0c;用来在组件树中协调对异步依赖的处理。它让我们可以在组件树上层等待下层的多个嵌…

基于完全二叉树实现线段树-- [爆竹声中一岁除,线段树下苦踌躇]

文章目录 一.完全二叉树完全二叉树的父子结点引索关系 二.线段树三.基于完全二叉树实现线段树关于线段树的结点数量问题的证明递归建树递归查询区间和递归单点修改线段树模板题 一.完全二叉树 完全二叉树的物理结构是线性表,逻辑结构是二叉树 完全二叉树的父子结点引索关系 …

Dubbo的负载均衡策略剖析

1 Dubbo的负载均衡策略概述 Dubbo的负载均衡策略应用于服务消费方。当服务提供者是集群时&#xff0c;通过在消费方设置负载均衡策略&#xff0c;避免大量请求一直集中在其中的某一个或者某几个服务提供方机器上。 Dubbo提供了多种负载均衡策略&#xff0c;默认为随机策略-Ra…

函数及函数的定义

前言&#xff1a; 在之前介绍指针的时候&#xff0c;小编发现有些地方需要用函数&#xff0c;所以小编决定先带领大家学习函数&#xff0c;然后再学习指针。 函数是从英文function翻译过来的&#xff0c;其实function在英文中的意思就是函数&#xff0c;也是功能的意思&#xf…

【深度学习:MPT-30B】提高开源基础模型的标准

【深度学习&#xff1a;MPT-30B】提高开源基础模型的标准 MPT-30B家族MPT-30B (Base)MPT-30B-InstructMPT-30B-Chat使用 MosaicML Inference 部署 MPT-30B 模型通过 MosaicML 培训定制 MPT-30BLLM Foundry 下一步是什么&#xff1f; 附录致谢数据MPT-30B 8k 上下文窗口微调数据…

【OrangePi Zero2 智能家居】阿里云人脸识别方案

一、接入阿里云 二、C语言调用阿里云人脸识别接口 三、System V消息队列和POSIX 消息队列 一、接入阿里云 在之前树莓派的人脸识别方案采用了翔云平台的方案去1V1上传比对两张人脸比对&#xff0c;这种方案是可行&#xff0c;可 以继续采用。但为了接触更多了云平台方案&…

常用工具类-Collections

常用工具类-Collections 排序操作查找操作填充操作判断集合是否有交集不可变集合 java.util.Collections类是一个工具类&#xff0c;它包含了一些静态方法&#xff0c;用于操作集合&#xff08;如列表和映射&#xff09;。这个类主要用于创建不可修改的集合、填充集合、替换元素…

「优选算法刷题」:数青蛙

一、题目 给你一个字符串 croakOfFrogs&#xff0c;它表示不同青蛙发出的蛙鸣声&#xff08;字符串 "croak" &#xff09;的组合。由于同一时间可以有多只青蛙呱呱作响&#xff0c;所以 croakOfFrogs 中会混合多个 “croak” 。 请你返回模拟字符串中所有蛙鸣所需不…

如何启动若依框架

Mysql安装 一、下载 链接&#xff1a;https://pan.baidu.com/s/1s8-Y1ooaRtwP9KnmP3rxlQ?pwd1234 提取码&#xff1a;1234 二、安装(解压) 下载完成后我们得到的是一个压缩包&#xff0c;将其解压&#xff0c;我们就可以得到MySQL 5.7.24的软件本体了(就是一个文件夹)&…

网络原理(一)

&#x1f495;"Echo"&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;网络原理(一) 一. 应用层 应用层是和程序员联系最密切的一层,对于应用层来说,程序员可以自定义应用层协议,应用层的协议一般要约定好以下两部分内容: 根据需求,明确要传输哪些信…

MySQL进阶45讲【19】幻读是什么,幻读会产生什么问题?

1 前言 在MySQL进阶45讲【3】事务隔离的恩恩怨怨这篇文章中&#xff0c;我们有提到过幻读的概念&#xff0c;为了更好地介绍幻读&#xff0c;我们先创建一个表&#xff0c;并添加一些数据&#xff0c;建表和初始化语句如下&#xff1a; CREATE TABLE t ( id int(11) NOTNULL,…

「C++ 类和对象篇 10」初始化列表

目录 一、什么是初始化列表&#xff1f; 二、为什么需要初始化列表&#xff1f; 三、初始化列表怎么使用&#xff1f; 3.1 在构造函数中使用初始化列表 3.2 注意 3.3 结论 3.4 应用场景 四、初始化列表的初始化顺序 五、另一种初始化成员变量的方法 【总结】 一、什么是初始化…

【深度学习】:滴滴出行-交通场景目标检测

清华大学驭风计划课程链接 学堂在线 - 精品在线课程学习平台 (xuetangx.com) 代码和报告均为本人自己实现&#xff08;实验满分&#xff09;&#xff0c;只展示主要任务实验结果&#xff0c;如果需要详细的实验报告或者代码可以私聊博主&#xff0c;接实验技术指导1对1 有任…

单目深度估计任意未标记数据:释放大规模数据潜力 | 开源日报 No.166

LiheYoung/Depth-Anything Stars: 2.6k License: Apache-2.0 Depth-Anything 是一个释放大规模未标记数据力量的项目&#xff0c;可以对任意未标记数据进行单目深度估计。 该项目主要功能、关键特性和核心优势包括&#xff1a; 相对深度估计度量深度估计更好的深度条件控制网…

【Java八股面试系列】并发编程-并发关键字,线程池

目录 并发关键字 Synchronized synchronized最主要的三种使用方式&#xff1a; 具体使用&#xff1a;双重校验锁单例模式 synchronized 底层实现原理&#xff1f; synchronized锁的优化 偏向锁 轻量级锁 重量级锁 Mark Word 与 Monitor 之间的关系 总结 偏向锁、轻量…

阿里百秀移动端首页

技术选型 方案:采取响应式页面开发方案技术: bootstrap框架设计图∶设计图采用1280px设计尺寸 屏幕划分分析 屏幕缩放发现中屏幕和大屏幕布局是一致的。因此我们列定义为col-md-就可以了&#xff0c;md是大于等于970以上的屏幕缩放发现小屏幕布局发生变化&#xff0c;因此我…

ArcGIS学习(四)坐标系-1

ArcGIS学习(四)坐标系 大家平时在处理数据的时候肯定经常遇到坐标系相关的问题。最常见的就是同一个地区的两个数据,导入ArcGIS内却对不上;也肯定听到过坐标系相关的一些词语,比如地理坐标系投影坐标系、投影、WGS1984坐标、CGCS2000坐标系、火星坐标系、百度坐标系等。 …