Flink入门知识点汇总(一)

具体内容请看b站尚硅谷课程! 32_Flink运行时架构_提交流程_Yarn应用模式_哔哩哔哩_bilibili

  • Flink本身有状态机制,状态都存储在Flink内部结构中,无需集成Mysql等
  • 对于精确一次Exactly-once,Flink进行了相关的配置,无需像Spark Streaming一样去进行复杂的自定义来实现精准一次

  • Spark Streaming不区分时间语义!不考虑数据本身产生的时间;且窗口必须是批次的整数倍(只有滚动/滑动的Time Window),支持小
  • Flink有一个重要的点就是支持流式SQL!(SparkSQL不支持流数据的管理哦!)
  • 分层API:SQL(最好用)-->TABLE API(当成表对象处理)-->DATASTREAM/DATASET API-->有状态流处理(低级语言,底层APIs)
  • 三大核心角色:Client JobManager TaskManager。一旦提交一个flink程序,本地就会启动一个Client进程,读取解析参数、封装提交参数,通过Actor通信系统提交给JobM。

JobManager是Flink的进程,它是 Flink 集群的“大脑”,处理作业的提交、计划和监控等,JobMaster、ResouceManager、Dispatcher以线程的形式存在于 JobManager 进程中(JobMaster与Job一一对应,多个Job就有多个JobMaster);Master是Spark的进程, Driver 是运行用户应用程序的进程。

以Source为例,Source算子有两个子任务(Source算子有两个并行度)

  • 在Flink中,作业Job的并行度等于所有步骤并行度的最大值,以上图为例则并行度为2(Flink并行度更加灵活)
  • 算子链(Operator Chaining)是 Flink 用来优化数据处理性能的一种技术。它允许将多个操作符(算子)合并成一个任务链,这样在执行过程中就可以减少数据在操作符之间的传输和序列化/反序列化开销。在 Flink 中,算子链默认是开启的,但可以通过配置进行调整;Spark采用了类似的优化机制,通常被称为“管道化”(pipelining)

分为one-to-one和Redistributing重分区,分别类似于Spark的窄依赖和宽依赖。(上图中间是Redistributing)

减少原本算子之间的跨线程次数,减少时延的同时提升吞吐量。

  • 任务槽:在TaskManager小弟上固定给你两碗饭(内存资源,每个 Slot 能够运行一个并行实例的任务)!槽数最好和CPU核数保持一致,也是默认策略,防止TaskManager之间抢夺CPU资源。

在一个 Flink 集群中,通常会有多个 TaskManager 实例,每个 TaskManager 可以运行在不同的机器上,故可以配置每个 TaskManager 的 Slot 数量为其所在机器的 CPU 核心数(每台机器通常运行一个 TaskManager 实例,和Hadoop的DataNode一样)

  • Spark没有分槽但有分区(partitioner分区器)

每个slot内部是不间断地并行运行同一个作业中的不同算子链的任务,不是内部串行,每一个算子链的进度都是时刻在变且相互之间没有联系。

  • slot是一种静态定义,它是整个TaskManager理论上能够支持并行的上限;而并行度是动态的定义,并行度的数量如果大于slot,那么整个Flink程序就拒绝运行。

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

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

相关文章

爱因斯坦可以教给在机器学习中利用对称性

爱因斯坦可以教给我们关于机器学习的知识 在机器学习中利用对称性 目录 一、说明二、物理学中的对称性三、机器学习中的对称性四、卷积神经网络 (CNN) 中的对称性五、将对称性集成到机器学习中,用于平面图像及其他图像六、引用 一、说明 在许…

【MySQL】对表的相关操作(DDL)

👦个人主页:Weraphael ✍🏻作者简介:目前学习计网、mysql和算法 ✈️专栏:MySQL学习 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论&#x1f4ac…

[Python人工智能] 四十四.命名实体识别 (5)利用bert4keras构建Bert-CRF实体识别模型(实体位置)

从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前文讲解如何实现中文命名实体识别研究,构建BiGRU-CRF模型实现。这篇文章将继续以中文语料为主,介绍融合Bert的实体识别研究,使用bert4keras和kears包来构建Bert+BiLSTM-CRF模型。然而,该代码最终结…

GPT模型部署后续:聊天机器人系统的扩展与优化

一、多轮对话支持 为了实现多轮对话支持,我们需要维护用户的会话上下文。这可以通过在服务器端使用一个字典来存储会话状态实现。 目录 一、多轮对话支持 下面是一个简单的扩展例子: 二、性能优化 三、用户界面与交互优化 下面是一个简单的HTML示例&…

如何使用Python进行网络安全与密码学【第149篇—密码学】

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 用Python进行网络安全与密码学:技术实践指南 随着互联网的普及,网络…

SpringMVC 简介及入门级的快速搭建详细步骤

MVC 回顾 MVC,即Model-View-Controller(模型-视图-控制器)设计模式,是一种广泛应用于软件工程中,特别是Web应用开发中的架构模式。它将应用程序分为三个核心组件: Model(模型)&#…

论文阅读:Forget-Me-Not: Learning to Forget in Text-to-Image Diffusion Models

Forget-Me-Not: Learning to Forget in Text-to-Image Diffusion Models 论文链接 代码链接 这篇文章提出了Forget-Me-Not (FMN),用来消除文生图扩散模型中的特定内容。FMN的流程图如下: 可以看到,FMN的损失函数是最小化要消除的概念对应的…

福建科立讯通信 指挥调度管理平台 SQL注入漏洞复现(CVE-2024-2620、CVE-2024-2621)

0x01 产品简介 福建科立讯通信指挥调度管理平台是一个专门针对通信行业的管理平台。该产品旨在提供高效的指挥调度和管理解决方案,以帮助通信运营商或相关机构实现更好的运营效率和服务质量。该平台提供强大的指挥调度功能,可以实时监控和管理通信网络设备、维护人员和工作任…

java获取数据库信息为空解决方案

问题:1.可能的解决方法一2.可能的解决方法二3.可能的解决方法三4.可能的解决方法四5.可能的解决方法五(我自己问题的解决方案)总结 问题: 刚发现这个问题的时候还是在进行插入数据操作的时候,发现报错。 报错的原因是因…

java项目将静态资源中的文件转为浏览器可访问的http地址

新增一个类叫啥无所谓,主要是实现 WebMvcConfigurer 加上注解 Configuration项目启动时加入bean中 只操作addResourceHandlers这一个方法 其他都没用 文章下方附带一个简易的上传图片代码 package cn.exam.config;import org.springframework.context.annotati…

155.乐理基础-和弦固定标记法(四)加音(add)和弦六和弦意义之二

如果到这五线谱还没记住还不认识的话去看102.五线谱-高音谱号与103.五线谱-低音谱号这两个里,这里面有五线谱对应的音名,对比着看 如果一章没落下,看到这里,但是看不懂什么意思,那就强行下看,看着看着指不…

Vue+SpringBoot在线教育考试及管理平台开发(纯原创)后续还在开发,会持续更新

登录页面设计 登录页面设计思路-分为三个角色进行登录&#xff0c;分别为学生&#xff0c;教师&#xff0c;管理员。 前端将登录设计为表单形式&#xff0c;通过选项组件绑定角色参数&#xff0c;向后端传递角色信息&#xff0c;通过表单绑定向后端传递登录者所有信息 <div …

js中filter处理后端返回表格数据

<template><div><el-table:data"tableData"style"width: 100%"><el-table-column:formatter"tranForm"prop"gender"label"性别"width"180"></el-table-column><el-table-column…

K8S Storage

概述 一般情况下&#xff0c;K8S中的Pod都不应该将数据持久化到Pod中&#xff0c;因为Pod可能被随时创建和删除&#xff08;扩容或缩容&#xff09;&#xff0c;即便是StatefulSet或Operator的Pod&#xff0c;也都不建议在Pod里存放数据&#xff0c;可以将数据持久化到Host上。…

构建以太网交换网络——(以太网基础与VLAN配置实验)

实验介绍 关于本实验 以太网是一种基于CSMA/CD&#xff08;Carrier Sense Multiple Access/Collision Detection&#xff09;的共享通讯介质的数据网络通讯技术。当主机数目较多时会导致冲突严重、广播泛滥、性能显著下降甚至造成网络不可用等问题。通过交换机实现LAN互连虽然…

小程序云开发实战:通用企业产品信息展示小程序

之前做小程序都是自己搭建数据管理后台&#xff0c;比如我之前做的小程序&#xff1a;一搜就学&#xff0c;就是使用java来做管理后台&#xff0c;小程序做前端展示。但是对于简单的小程序来说&#xff0c;做一套管理后台有点拿大炮打蚊子&#xff0c;所以使用云开发就是不错的…

怎样修改grafana的Loading picture和加载的文本

登录装了grafana的linux机器 command “sudo vi /usr/share/grafana/public/views/index.html”&#xff0c;编辑配置文件。 找到.preloader__logo更改background-image. 这里可以是个url也可以是个路径。 如果想要更改加载的文字.可以更改 的内容 改完:wq保存以后退出&…

Leetcode热题100:图论

Leetcode 200. 岛屿数量 深度优先搜索法&#xff1a; 对于这道题来说&#xff0c;是一个非常经典的图的问题&#xff0c;我们可以先从宏观上面来看问题&#xff0c;也就是说在不想具体算法的前提下&#xff0c;简单的说出如何找到所有的岛屿呢&#xff1f; 如图中所示&#x…

在 MacOS 中安装

查看&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;在基于 Android 相机预览的 CV 应用程序中使用 OpenCL 下一篇&#xff1a;基于ARM 的Linux系统的交叉编译 以下步骤已针对 MacOSX &#xff08;Mavericks&#xff09; 进行了…

NEC 78K系列MCU概述

一.初识 NEC MCU NEC&#xff0c;即日本电气株式会社&#xff0c; 经营半导体业务。 NEC 倡导“ ALL Flash”&#xff0c;即 MCU 内的程序存储器使用 Flash ROM。 为什么用 Flash ROM&#xff1f; 与掩膜 ROM 微控制器相比&#xff0c; Flash 微控制器加速了系…