Flink类加载机制详解

1. 总览

在运行Flink应用时,它会加载各种类,另外我们用户代码也会引入依赖,由于他们依赖版本以及加载顺序等不同,就可能会导致冲突,所以很要必要了解Flink是如何加载类的。

根据加载的来源的不同,我们可以将类分为三种:

  • Java Classpath:Java类路径下,这是Java通用的类路径,包含JDK库和Flink的/lib文件夹中的所有代码(Flink的Apache类和一些依赖)。它们由AppClassLoader加载。
  • Flink Plugin Components:Flink插件组件,插件代码存放在Flink的/plugins文件夹中。Flink的插件机制将在启动时动态加载它们一次。
  • Dynamic User Code:动态用户代码,这些类都包含在动态提交的作业的JAR文件中(通过REST、CLI、web UI)。每个作业由FlinkUserCodeClassLoader动态加载(和卸载)。

根据不同的应用部署模式,类加载过程是不同的。

一般来说,只要先启动Flink进程,再提交作业,作业的类就会动态加载。如果Flink进程与作业/应用(job/application)一起启动,或者应用生成Flink组件(JobManager、Tas

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

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

相关文章

GPU算力平台|在GPU算力平台部署Qwen-2通义千问大模型的教程

文章目录 一、GPU平台介绍算力平台概述 二、人工智能应用开发需要GPU算力平台GPU算力原理账号注册流程Qwen-2通义千问大模型的部署登录/注册选择SettingsURL配置选择模型部署完成进行问答 一、GPU平台介绍 算力平台概述 GPU算力平台是一个专注于GPU加速计算的专业云服务平台&…

微信小程序集成Vant Weapp移动端开发的框架

什么是Vant Weapp Vant 是一个轻量、可靠的移动端组件库,于 2017 年开源。 目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本,并由社区团队维护 React 版本和支付宝小程序版本。 官网地睛:介绍 - Vant Weapp (vant-ui.gith…

图形和动画本地化

图形和动画本地化是多媒体改编的一个关键方面,需要对技术技能和文化细微差别有深入的理解。当由母语人士和设计师进行时,这一过程达到了自动化系统通常无法复制的真实性和相关性水平。 本土专业人士对文化偏好、象征主义和视觉美学有着固有的理解&#…

浅谈云计算06 | 云管理系统架构

云管理系统架构 一、云管理系统架构(一)远程管理系统(二)资源管理系统(三)SLA 管理系统(四)计费管理系统 二、安全与可靠性保障(一)数据安全防线(…

SpringBoot 基础学习

对于SpringBoot的了解,在初学者的角度看来,它是一种工具,用于简化一个Spring项目的初始搭建和开发过程。 1 入门案例 1.1 项目的创建 有四种方法创建,可以通过idea快捷创建,Spring的官网创建,阿里云创建&am…

基于springboot+vue的洪涝灾害应急信息管理系统设计与实现

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

QTreeWidget QTreeWidgetItem

QTreeWidgetItem 是 Qt 框架中用于在 QTreeWidget 中表示树形结构中每个节点的类。它是 QTreeWidget 的一部分,允许您创建和管理层次结构的数据展示。 QTreeWidgetItem 用于表示树形结构中的单个节点。 添加子节点: 可以通过 addChild() 方法向节点添加…

基于springboot果蔬供应链信息管理平台

基于Spring Boot的果蔬供应链信息管理平台是一种集成了先进信息技术和果蔬供应链管理理念的综合性系统。 一、背景与意义 随着人们生活水平的提高和对健康饮食的重视,果蔬市场需求不断增长。然而,果蔬供应链涉及多个环节,包括种植、采摘、加…

25/1/13 嵌入式笔记 继续学习Esp32

PWM(Pulse Width Modulation,脉宽调制) 是一种通过快速切换高低电平来模拟中间电压值的技术。它广泛应用于控制 LED 亮度、电机速度、音频生成等场景。 analogWrite函数:用于在微控制器(如 Arduino)上生成模拟信号。 …

jupyter notebook练手项目:线性回归——学习时间与成绩的关系

线性回归——学习时间与学习成绩的关系 第1步:导入工具库 pandas——数据分析库,提供了数据结构(如DataFrame和Series)和数据操作方法,方便对数据集进行读取、清洗、转换等操作。 matplotlib——绘图库,p…

如何规模化实现完全自动驾驶?Mobileye提出解题“新”思路

在CES 2025上,Mobileye展示了端到端自动驾驶系统Mobileye Drive™,通过高度集成的传感器、算法和计算平台,可以实现自动驾驶功能的全覆盖。 Mobileye创始人兼首席执行官Amnon Shashua教授 期间,Mobileye创始人兼首席执行官Amnon …

Windows下安装和配置Go开发环境

文章目录 1. 介绍了SDK2. 下载 SDK工具包3. windows 下配置 Golang 环境变量 1. 介绍了SDK SDK 的全称(Software Development Kit 软件开发工具包)SDK是提供给开发人员使用的,其中包含了对应开发语言的工具包 2. 下载 SDK工具包 Go语言的官网为:https…

【javascript】Web APIs-Dom获取属性操作

目录 Web APIs-Dom获取&属性操作 Web API 基本认知 变量声明 建议: const 优先,尽量使用const,原因是: 1.1 作用和分类 1.2 什么是DOM 1.3 DOM树 1.4 DOM对象(重要) 2. 获取DOM对象 2.1 根据C…

新版AndroidStudio通过系统快捷创建带BottomNavigationView的项目踩坑记录

选择上面这个玩意创建的项目 坑点1 :配置的写法和不一样了 镜像的写法: 新的settings.gradle.kts中配置镜像的代码: pluginManagement {repositories {mavenCentral()google {content {includeGroupByRegex("com\\.android.*")…

SAP资产盘盈盘亏的过账处理、入账价值错误调整、资产减值准备

文章目录 一、SAP资产盘盈盘亏处理1、ABNAN盘盈 (往年资产) ABZON (当年资产)2、ABAVN盘亏 二、资产价值入账错了(价值多了或少了),怎么调账1、价值少了2、价值多了 三、资产减值准备1、启用重估2、指定间隔…

炸砖块游戏的最终图案

描述 小红正在玩一个“炸砖块”游戏,游戏的规则如下:初始有一个 n * m 的砖块矩阵。小红会炸 k 次,每次会向一个位置投炸弹,如果这个位置有一个砖块,则砖块消失,上方的砖块向下落。小红希望你画出最终砖块的图案。 输入描述 第一行输入三个正整数 n, m, k,代表矩阵的行…

【Python项目】图像信息隐藏技术的实现

【Python项目】图像信息隐藏技术的实现 技术简介:采用Python技术、MYSQL数据库等实现。 系统简介:系统主要的功能有登录模块、对个人信息的维护模块、图片信息的隐藏模块涉及图片的上传和信息的验证。 背景: 在当今时代,信息技术…

游戏市场成果及趋势

2024 年的游戏行业发展情况如何?这是一个既关系到开发商,又关系到玩家的问题,而市场分析师可以为我们揭晓答案。下面,就让我们来看看分析师给出的结论以及他们对未来趋势的预测。 玩家 自 2021 年起,全球平均游戏时间…

【算法学习】——整数划分问题详解(动态规划)

🧮整数划分问题是一个较为常见的算法题,很多问题从整数划分这里出发,进行包装,形成新的题目,所以完全理解整数划分的解决思路对于之后的进一步学习算法是很有帮助的。 「整数划分」通常使用「动态规划」解决&#xff0…

深入理解计算机系统阅读笔记-第十二章

第12章 网络编程 12.1 客户端-服务器编程模型 每个网络应用都是基于客户端-服务器模型的。根据这个模型,一个应用时由一个服务器进程和一个或者多个客户端进程组成。服务器管理某种资源,并且通过操作这种资源来为它的客户端提供某种服务。例如&#xf…