Flink入门知识点汇总(一)

news2024/9/21 16:07:34

具体内容请看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.coloradmin.cn/o/1535109.html

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

相关文章

综合知识篇15-开发管理考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html案例分析篇00-【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例…

CSS隐藏video标签中各种控件

1.edio标签加上controls会出现视频控件&#xff0c;如播放按钮、进度条、全屏、观看的当前时间、剩余时间、音量按钮、音量的控制条等等 <video type"video/mp4" src"" autoplay"" style"width: 400px; height: 300px;" id"e…

springboot-MybatisPlus

mybatisplus是来简化mybatis开发的&#xff0c;其中封装好了各种sql语句&#xff0c;我们直接调用即可&#xff0c;省略了编写mapper.xm映射文件的过程 MybatisPlus怎么来获取数据库表的信息&#xff1f; 默认以类型驼峰转下划线作为表名默认把id字段作为主键默认把变量名驼峰转…

eNSP--vlan技术

思路: 一、配置交换机与路由器, 二、通过DHCP 获取地址 单臂路由,实现访问要求,重点考察对vlan标签的处理和使用。 用到的接口有access,trunk,hybrid三种 (所有配置请以下图为准) 配置: 一、 sw1 sw1接口g0/0/1 指定access接口,属于vlan2; g0/0/2接口我们将它…

C#中解决字符串在编译后无法修改的情况

文章目录 一、配置文件二、使用方式对于.NET Framework应用程序&#xff08;使用app.config&#xff09;对于.NET Core和.NET 5/6应用程序&#xff08;使用appsettings.json&#xff09; 三、应用实例 一、配置文件 在C#等编程语言中&#xff0c;硬编码&#xff08;直接在代码…

#Linux(编写第一个命令)

&#xff08;一&#xff09;发行版&#xff1a;Ubuntu16.04.7 &#xff08;二&#xff09;记录&#xff1a; &#xff08;1&#xff09;编写一个c程序然后将生成的可执行的文件加入环境变量或者放入bin目录中&#xff0c;即可在其他目录下调用&#xff08;之前编写的程序只能在…

深度学习 Lecture 4 Adam算法、全连接层与卷积层的区别、图计算和反向传播

一、Adam算法&#xff08;自适应矩估计&#xff09; 全名&#xff1a;Adapative Moment Estimation 目的&#xff1a;最小化代价函数&#xff08;和梯度下降一样&#xff09; 本质&#xff1a;根据更新学习率后的情况自动更新学习率的值(可能是自动增大&#xff0c;也可能是…

基于python+vue共享单车信息系统的设计与实现flask-django-php-nodejs

课题主要分为二大模块&#xff1a;即管理员模块和用户模块&#xff0c;主要功能包括&#xff1a;用户、区域、共享单车、单车租赁、租赁归还、报修信息、检修信息等&#xff1b;快速发展的社会中&#xff0c;人们的生活水平都在提高&#xff0c;生活节奏也在逐渐加快。为了节省…

酷开科技OTT大屏营销重构新生,让营销被看见

在过去的十年间&#xff0c;中国视听新媒体产业迎来了发展的黄金时代。这一时期&#xff0c;见证了视听新媒体业态的广泛涌现&#xff0c;它们不仅迅速成长和扩张&#xff0c;而且逐步走向了成熟。互联网电视的兴起&#xff0c;为消费者带来了多样化的视听内容享受方式&#xf…

【Linux多线程】线程的概念

【Linux多线程】线程的概念 目录 【Linux多线程】线程的概念Linux线程的概念什么是线程重新定义线程和进程 进程地址空间第四讲线程的优点线程的缺点线程异常线程的用途 Linux进程VS线程进程和线程关于进程线程的问题 Linux线程控制POSIX线程库创建线程如何给线程传参&#xff…

鸿蒙Harmony应用开发—ArkTS-全局UI方法(菜单)

在页面范围内关闭通过bindContextMenu属性绑定的菜单。 说明&#xff1a; 从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 ContextMenu.close 方法描述close(): void可以通过该方法在页面范围内关闭通过bindContextMenu给…

onlyoffice创建excel文档

前提 安装好onlyoffice然后尝试api开发入门 编写代码 <html> <head><meta charset"UTF-8"><meta name"viewport"content"widthdevice-width, user-scalableno, initial-scale1.0, maximum-scale1.0, minimum-scale1.0"&…

3D高斯泼溅的崛起

沉浸式媒体领域正在以前所未有的速度发展&#xff0c;其中 3D 高斯溅射成为一项关键突破。 这项技术在广泛的应用中看起来非常有前景&#xff0c;并且可能会彻底改变我们未来创建数字环境以及与数字环境交互的方式。 在本文中&#xff0c;我们将通过与摄影测量和 NeRF 等前辈进…

数学建模(Topsis python代码 案例)

目录 介绍&#xff1a; 模板&#xff1a; 案例&#xff1a; 极小型指标转化为极大型&#xff08;正向化&#xff09;&#xff1a; 中间型指标转为极大型&#xff08;正向化&#xff09;&#xff1a; 区间型指标转为极大型&#xff08;正向化&#xff09;&#xff1a; 标…

低压MOS在无人机上的应用-REASUNOS瑞森半导体

一、前言 无人机的结构由机身、动力系统、飞行控制系统、链路系统、任务载荷等几个方面组成的。 无人机动力系统中的电机&#xff0c;俗称“马达”&#xff0c;是无人机的动力来源&#xff0c;无人机通过改变电机的转速来改变无人机的飞行状态。即改变每个电机的速度&#xf…

灵境矩阵:开启无代码写作新时代,AI智能平台引领创作潮流

灵境矩阵 “灵境杯”智能体创意大赛&#xff0c;瓜分百万超级奖励 在当今数字化快速发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;技术正逐渐渗透到我们生活的方方面面。从智能家居到自动驾驶&#xff0c;AI的应用领域不断扩大&#xff0c;而今天&#xff0c;我们…

在基于Android相机预览的CV应用程序中使用 OpenCL

查看&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV4.9.0在Android 开发简介 下一篇&#xff1a;在 MacOS 中安装 本指南旨在帮助您在基于 Android 相机预览的 CV 应用程序中使用 OpenCL ™。教程是为 Android Studio 20…

软考 系统架构设计师系列知识点之云原生架构设计理论与实践(1)

所属章节&#xff1a; 第14章. 云原生架构设计理论与实践 第1节 云原生架构产生背景 云原生&#xff08;Cloud Native&#xff09;是近几年云计算领域炙手可热的话题&#xff0c;云原生技术已成为驱动业务增长的重要引擎。同时&#xff0c;作为新型基础设施的重要支撑技术&…

DMHS同步之MYSQL to MYSQL

一、环境情况 二、源端及目的端安装MySQL&#xff0c;可参考网上资料&#xff0c;此处省略安装过程 三、目的端安装配置unixODBC 1.上传unixODBC-2.3.12.tar.gz包到/opt下 2.解压 cd /opt tar -zvxf unixODBC-2.3.12.tar.gz复制 3.安装 cd unixODBC-2.3.11 ./configure …

使用 React antd 的ProFormSelect组件 搜索查询 多选的写法

使用 React antd 的ProFormSelect组件 搜索查询 多选的写法 需求&#xff1a;需要一个搜索框&#xff0c;可以选择员工&#xff0c;&#xff08;员工人数多无法一次性获取&#xff0c;全部放入options中&#xff09;&#xff0c;所以需要使用搜索功能&#xff0c;而且是可以多…