当前位置: 首页 > news >正文

The Past, Present and Future of Apache Flink

本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024上海站主论坛开场的分享,今年正值Flink开源项目诞生的第10周年,借此时机,王峰回顾了Flink在过去10年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年Flink路向何方。内容主要分为这三个部分:

  1. Apache Flink 10周年发展回顾

  2. Apache Flink 当前的发展现状

  3. 展望新一代 Apache Flink

Tips:点击「阅读原文」前往官网查看 FFA 2024 直播回放~

01

 The Past

Apache Flink 是大数据实时化升级的核心推动力

726af2b0f9e70c720e40df2f4c28d587.png

Apache Flink 起源于2009年德国柏林工业大学的一个研究项目 Stratosphere。2014 年,该项目的核心团队将其捐赠给 Apache 基金会,并更名为 Flink(德语中意为“快”),同年成为 Apache 顶级项目。几乎同时,Flink 的创始团队成立了公司 DataArtisans 以支持其发展。

2015 年至 2016 年间,随着阿里巴巴集团业务特别是电商领域(如“双十一”购物节)的迅速扩张,对实时数据处理的需求激增。尽管阿里已有成熟的离线数据处理系统 ODPS,但对于秒级响应的实时数据处理仍面临挑战。经过评估,阿里选择了 Apache Flink 作为其新的实时计算平台解决方案。至 2016 年的“双十一”,Flink 已在阿里巴巴内部大规模部署并成功支持了相关活动。

8fe26b85a2a350f9ced24ae0be761ceb.png

阿里巴巴对 Flink 社区进行了持续的投资和支持,主要目的是推动 Flink 技术在中国乃至全球范围内的广泛应用,并促进其成长。2018 年底成立了 Flink 中文社区,并举办了首届 Flink Forward Asia 大会。至今已连续举办七届,即便在疫情期间也未中断。2019 年,阿里收购了 Flink 的创始公司 DataArtisans,之后不久,为了更好地反映公司愿景及其在全球范围内的扩张计划,Data Artisans 更名为 Ververica。同年,阿里巴巴向 Apache Flink 贡献了内部开发多年的 Blink 项目,涉及超过 150 万行核心代码。此举极大地促进了 Flink 社区自 2019 年起在全球范围内的快速发展。

edb922c98d7a5db7989986270731d5c6.png

Apache Flink 在过去十年中逐渐成为全球范围内广泛认可的实时流处理框架,得到了工业界和学术界的共同认可。2023 年,Flink 不仅被顶级机构 SIGMOD 授予系统大奖,还见证了多项技术创新,如阿里巴巴捐赠了 Flink CDC(一个实时数据集成框架)给 Flink 社区,并孵化出了新一代实时数据湖 Paimon。至今,Flink 拥有近 2000 位来自世界各地的贡献者,其中约 40%来自中国,显示出中国开发者在该开源项目中的活跃度。阿里巴巴对 Flink 的支持尤为突出,连续七年举办 Flink Forward 大会,促进了技术交流与分享。此外,中国的 Flink PMC 成员及 Flink 开发者们通过微信公众号等平台积极推广 Flink 相关知识和技术文章,极大地推动了 Flink 在中国乃至全球范围内的应用和发展。

Flink 之所以能够取得如此成就,关键在于它顺应了时代发展的需求,适应了近年来大数据领域从离线处理向实时处理转变的趋势,满足了包括互联网、金融、电信、能源、制造、物联网等多个行业对于更高效数据分析的需求。

02

 The Present

Apache Flink 已成为大数据流计算全球事实标准

1499379a1a58c54b7d3774840b7e203e.png

Flink 十年磨一剑,除了阿里巴巴付出非常多的努力来推动它的成长,也离不开中国广大企业、广大开发者的支持,使得 Flink 成为全球范围内大数据流计算的实时标准。其成功不仅源于时代需求,更在于优秀的技术架构设计、扎实理论基础和开放繁荣生态。作为业界首款实现流批融合的计算引擎,Flink 支持Java/SQL/Python 等多语言 API,满足了从大数据开发者到 AI 领域用户的广泛需求。通过丰富的 Connector 和 CDC 子系统,Flink 无缝连接数据库、数据仓库、数据湖等多种存储系统,成为促进不同数据系统间实时流动与分析的关键桥梁,堪称大数据生态中的“数据高速公路”。

939b13f5a4768f61479abf08ae958d24.png

Flink 社区一直在探索实时计算和大数据处理的边界,并对其架构进行了重大升级,其中最重要的升级是场景化扩展,使得 Flink 从最初的流式数据处理发展到了更广泛的流式湖仓(Lakehouse)架构。自 2022 年起,Flink 开始孵化子项目 Flink Table Store,旨在开发一种支持实时更新的数据湖存储格式;到 2023 年,该项目独立孵化并更名为 Paimon,现已成长为 Apache 基金会的一个顶级项目。结合使用 Flink 与 Paimon,可以实现从计算到存储的一体化解决方案,适用于构建流批一体化的新一代湖仓系统。

在这种架构下,通过 Flink CDC 工具可将外部数据实时导入 ODS 层,随后利用 Flink 提供的流批一体 SQL 功能在 Paimon 上执行 ETL 操作,从而形成一个完整的实时离线一体化处理平台。这种基于Flink+Paimon的流式湖仓架构被认为是传统 Lakehouse 架构的一种进化版本,它不仅保留了原有 Lakehouse 的优点,还额外提供了全链路实时处理能力和统一的流批处理体验。

bd7a6818915a142ea6cc094f1df99955.png

流式湖仓作为一种创新技术架构,引起了业界不少公司的关注,并在 2024 年的多个场景中得到了实际应用。特别是在上个月刚刚结束的阿里巴巴“双十一”活动中,通过采用 Flink+Paimon 这一最新的流式湖仓架构,实现了重要业务场景的成功落地,如天猫营销分析大屏。该案例展示了如何利用统一的技术栈来处理实时与离线数据处理需求,从而保证了数据口径的一致性,并显著降低了存储和计算成本。具体来说,由于采用了同一套架构,避免了重复开发 SQL 逻辑以及双份数据存储的需求,使得整体解决方案更加高效、经济。此外,这种架构还支持运营人员实时查看商品成交来源及流量调配情况,同时允许数据分析师在夜间进行更精确的数据回刷以获取最终结果,比如反作弊信息的更新等。未来,随着更多企业对效率提升及成本控制需求的增长,预计这种新型架构将在更广泛的行业范围内得到推广和应用。

03

 The Future

新一代 Apache Flink 即将发布

5578e8893a3de53d37715519d653a1eb.png

Flink 经过十年的发展已成为流处理领域的事实标准,接下来面对 AI 新时代、面向全面云原生时代,Flink 的技术架构也需要与时俱进的升级。在 Flink 十周年之际即将推出新一代的 Flink 架构——Flink2.0,这是自 2016 年发布 Flink 1.0 以来最大规模的技术架构升级。

Flink 2.0 的主要升级方向包括:

  1. 全面云原生架构:采用存算分离设计,将状态存储迁移至云存储中,从而显著提高系统的容错性、灾难恢复能力和弹性。

  2. 改进的流批一体计算范式:简化用户操作流程,实现更自动化、更易用的流批一体处理能力,降低用户使用门槛,提供更加端到端的服务体验。

  3. 增强AI支持:加强与AI技术特别是大模型系统的集成,使Flink能够更好地服务于 AI 应用场景,并优化与向量数据库等数据基础设施之间的交互,促进数据与AI的深度融合。

总结来说,Flink 2.0 还有非常多的新特性,在此仅做简单的预告,可以期待后续更深入地探讨,以全面揭示 Flink 2.0 的强大功能和潜力。

相关文章:

The Past, Present and Future of Apache Flink

摘要:本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024上海站主论坛开场的分享,今年正值Flink开源项目诞生的第10周年,借此时机,王峰回顾了Flink在过去10年的发展历程以及 Flink社区…...

不能通过 ip 直接访问 共享盘 解决方法

from base_config.config import OpenSMB, SMB import os, time, calendar, requests, decimal, platform, fs.smbfsinfo_dict SMB.EPDI_dict info_dict[host] (FS03,10.6.12.182) info_dict[direct_tcp] True# smb OpenSMB(info_dict)print(ok)# 根据 ip 查询电脑名 impor…...

IDEA方法注释模板设置

目录 创建模板 新建模板:命名为* 设置模板内容-IDEA格式模板 设置模板应用场景 设置参数 创建模板 /**Enter这里我们也按照这种习惯来设置IDEA的方法注释:File-->Settings-->Editor-->Live Templates 先新建模板组,然后在模板组中…...

组件缓存keep-alive

希望点击面经详情回来之后该1面经详情停留在滚动条停止的位置 有些 组件是不需要缓存的,例如详情页不需要缓存。解决方法是keep-alive的三个属性 include:组件名数组,只有匹配的组件会被缓存exclude:组件名数组,任何匹配的组件都不会被缓存ma…...

【经验分享】搭建本地训练环境知识点及方法

最近忙于备考没关注,有次点进某小黄鱼发现首页出现了我的笔记还被人收费了 虽然我也卖了一些资源,但我以交流、交换为主,笔记都是免费给别人看的 由于当时刚刚接触写的并不成熟,为了避免更多人花没必要的钱,所以决定公…...

Ant Design of Vue之带select控件,单元格编辑功能的表格EditableCell组件

效果图 功能 表格里面某一行或者某一个单元格支持select复选框可以编辑,新增一行数据,删除一行数据,并且有校验规则 源码 editablecell组件源码 参考自 源码...

etcd节点扩/缩容

etcd集群节点数越多越好吗? etcd 集群是一个 Raft Group,没有 shared。所以它的极限有两部分,一是单机的容量限制,内存和磁盘;二是网络开销,每次 Raft 操作需要所有节点参与,每一次写操作需要集…...

FFmpeg功能使用

步骤:1,安装FFmpeg Download FFmpeg 在这里点击->Windows builds from gyan.dev;如下图 会跳到另外的下载界面: 在里面下拉选择点击ffmpeg-7.1-essentials_build.zip: 即可下载到FFmpeg; 使用&#…...

动手学深度学习-线性神经网络-7softmax回归的简洁实现

目录 初始化模型参数 重新审视Softmax的实现 优化算法 训练 小结 在 线性回归的实现中, 我们发现通过深度学习框架的高级API能够使实现 线性回归变得更加容易。 同样,通过深度学习框架的高级API也能更方便地实现softmax回归模型。 本节如在上一节…...

GenAI + 3D:开启4D场景重建的新纪元

近日,一项激动人心的研究成果在《GenAI + 3D》方向取得了重大进展,它提出了一种创新的方法,能够将普通的2D视频转换为完整的4D场景。想象一下,《黑客帝国》中的"子弹时间"效果——现在你不仅可以停留在一个特定的时刻来改变视角,还可以自由地在空间和时间中移动…...

记一个framebuffer显示混乱的低级错误

记一个framebuffer显示混乱的低级错误 由于framebuffer的基础知识不扎实,这个任务上我多卡了两天,差点把我搞死,于此记录为后鉴。 打算用awtk做一个多进程项目,计划把framebuffer的内容通过websocket输出到浏览器上去显示画面, …...

网络安全教学博客(二):常见网络安全威胁剖析

在上一篇博客中,我们了解了网络安全的基础概念和重要性。今天,让我们深入探讨一下常见的网络安全威胁,以便我们能够更好地识别和防范它们。 恶意软件(Malware) 病毒(Virus):病毒是一…...

【ZYNQ开发】Vitis下保存与快速加载BSP配置的方法

在使用Xilinx的Vitis进行ZYNQ PS端开发时,常常涉及到对于BSP的设置,比较典型的像是使用lwip时,需要对DHCP、memory以及send_buffer等进行一些自定义的修改。在设计到硬件描述文件需要进行更换(PL端更改程序)重新加载工…...

go开发中interface和方法接收器的使用

Go 语言中的接口和方法接收器学习 Go 中的 interface 就像是一个神奇的魔法杖,能让你轻松地将不同的类型拉到同一个阵营里。与其他语言的接口不同,Go 的接口无需显式声明“我实现了你”,只要你满足了接口规定的方法,Go 就会自动认…...

【昇腾】NPU ID:物理ID、逻辑ID、芯片映射关系

起因: https://www.hiascend.com/document/detail/zh/Atlas%20200I%20A2/23.0.0/re/npu/npusmi_013.html npu-smi info -l查询所有NPU设备: [naienotebook-npu-bd130045-55bbffd786-lr6t8 DCNN]$ npu-smi info -lTotal Count : 1NPU…...

景联文科技提供高质量文本标注服务,驱动AI技术发展

文本标注是指在原始文本数据上添加标签的过程,这些标签可以用来指示特定的实体、关系、事件等信息,以帮助计算机理解和处理这些数据。 文本标注是自然语言处理(NLP)领域的一个重要环节,它通过为文本的不同部分提供具体…...

【Spark】Spark Join类型及Join实现方式

如果觉得这篇文章对您有帮助,别忘了点赞、分享或关注哦!您的一点小小支持,不仅能帮助更多人找到有价值的内容,还能鼓励我持续分享更多精彩的技术文章。感谢您的支持,让我们一起在技术的世界中不断进步! Sp…...

docker安装、升级、以及sudo dockerd --debug查看启动失败的问题

1、docker安装包tar下载地址 Index of linux/static/stable/x86_64/ 2、下载tgz文件并解压 tar -zxvf docker-24.0.8.tgz 解压后docker文件夹下位docker相关文件 3、将老版本docker相关文件,备份 将 /usr/bin/docker下docker相关的文件,mv到备份目录…...

做T和做T+0有什么区别

做T和做T0在股市中实际上有紧密的联系,但也有所区别。以下是对两者的详细比较: 一、定义与原理 做T: 广义上,做T指的是一种通过低买高卖或高卖低买来赚取差价的交易策略。这种策略可以应用于不同的交易周期,包括日内交…...

【JAVA项目】基于ssm的【美食推荐管理系统】

【JAVA项目】基于ssm的【美食推荐管理系统】 技术简介:采用JSP技术、B/S架构、SSM框架、MySQL技术等实现。 系统简介:美食推荐管理系统,在系统首页可以查看首页、热门美食、美食教程、美食店铺、美食社区、美食资讯、我的、跳转到后台等内容。…...

从零开始学docker(五)-可用的docker镜像

最近docker镜像都不能访问,目前亲测可用的docker镜像可用,并拉取mysql测试完成。 [缺点] docker search 查不到镜像的索引列表,只能手动查询索引目录(解决方案在最后)。 linux服务器vim打开镜像文件daemon.json vim /e…...

repmgr集群部署-PostgreSQL高可用保证

📢📢📢📣📣📣 作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验, Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、My…...

2020数字中国创新大赛-虎符网络安全赛道丨Web Writeup

本文是i春秋论坛作家「OPLV1H」表哥参加2020数字中国创新大赛-虎符网络安全赛道线上初赛的赛后总结,关于Web的Writeup记录,感兴趣的小伙伴快来学习吧。 1、hash_file — 是使用给定文件的内容生成哈希值,和文件名称无关。 2、jwt令牌结构和j…...

手动部署前后端项目到LInux上面

一&#xff1a;部署后端工程 在本地的idea中先启动当前的工程&#xff0c;然后访问一下&#xff0c;看看工程是否正常访问。 执行package指令&#xff0c;进行打包操作&#xff0c;将当前的springboot项目&#xff0c;打成一个jar包。 <!-- SpringBoot应用打包插件--> …...

【一本通】intervals

【一本通】intervals &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 给出n个闭区间[ai,bi]和n个整数c1,……,cn。令Z表示一个整数集合&#xff0c;Z集合中最少要包含多少个整数可以使得每个区[ai,bi]都至少有ci个整数位于Z集合中。 输入 …...

测试脚本并发多进程:pytest-xdist用法

参考&#xff1a;https://www.cnblogs.com/poloyy/p/12694861.html pytest-xdist详解&#xff1a; https://www.cnblogs.com/poloyy/p/14708825.html 总 https://www.cnblogs.com/poloyy/category/1690628.html...

ALOHA 协议详解

注&#xff1a;本文为 “ALOHA 协议” 相关文章合辑。 未去重整理。 动态分配信道&#xff08;ALOHA 协议、CSMA 协议&#xff09; QuantumYou 于 2021-07-27 09:32:04 发布 ALOHA 协议 纯 ALOHA 协议 -纯 ALOHA 协议思想&#xff1a;不监听信道&#xff0c;不按时间槽发送…...

ios h5中在fixed元素中的input被focus时,键盘遮挡input (van-popup、van-feild)

问题描述&#xff1a; 前提&#xff1a;我使用的是vant组件库&#xff0c;其中一个页面中有一个van-popup组件&#xff0c;van-popup组件中又嵌套了一个van-field组件预期结果&#xff1a;当点击van-feild输入框时&#xff0c;键盘弹起&#xff0c;输入框显示在键盘上方实际结…...

【Mysql】索引下推、索引合并详解

文章目录 1. 索引下推&#xff08;Index Condition Pushdown, ICP&#xff09;定义工作机制实现过程优化的典型场景 2. 索引合并&#xff08;Index Merge&#xff09;定义索引合并方式使用限制 3. 对比与应用场景选用建议 这篇文章就简单的给大家介绍下索引下推、索引合并 1. 索…...

简易记事本项目—基于SSM+Vue前后端分离

&#x1f308;&#x1f308;&#x1f308;今天给大家分享的是&#xff1a;基于SSMVue的简易记事本项目 目录 引言 技术栈介绍 项目概述 1. 用户注册 2. 用户登录 3. 用户退出 4. 事件分类 5. 事件管理 项目主要图片 引言 在快节奏的现代生活中&#xff0c;我们常常被…...

Java转C之C/C++ 的调试和内存分析

C/C 的调试和内存分析工具非常丰富&#xff0c;这些工具可以帮助开发者定位错误、分析程序行为&#xff0c;以及检测内存问题&#xff08;如内存泄漏、非法访问等&#xff09;。下面将详细介绍常见的调试器和内存分析工具&#xff0c;并进行分类讲解。 一、调试器 1. GDB (GNU…...

Python 面向对象编程全面解析与深度探索

目录 类和对象的概念 类&#xff08;Class&#xff09; 对象&#xff08;Object&#xff09; (一&#xff09;属性&#xff08;Attributes&#xff09; &#xff08;a).实例属性&#xff08;Instance Attributes&#xff09; &#xff08;b).类属性&#xff08;Class Att…...

零配置打包工具 Parcel 的详细使用指南

前言 在前端开发中&#xff0c;选择一个高效且易用的打包工具至关重要。Parcel 作为一款零配置的 Web 应用打包工具&#xff0c;凭借其卓越的性能和简单的使用体验&#xff0c;赢得了众多开发者的青睐。它不仅能够自动处理依赖关系和代码打包&#xff0c;还支持热模块替换和多…...

批量查找文件关键字-工具

string find...

freeswitch(开启支持MCU视频会议,使用mod_av模块)

亲测版本centos 7.9系统–》 freeswitch1.10.9 本人freeswitch安装路径(根据自己的路径进入) /usr/local/freeswitch/etc/freeswitch场景说明: 有些场景想使用视频会议MCU融合画面进行开会使用方法: 第一步:下载插件 yum install -y epel-release yum install...

Quant connect的优势和不足,学习曲线难

Quant connect的优势和不足 Quant connect作为一个成熟的算法交易平台&#xff0c;具有许多优势&#xff0c;包括&#xff1a; 强大的回测功能&#xff1a;Quant connect提供了丰富的数据源和回测功能&#xff0c;可以对各种交易策略进行全面的回测和分析。 容易上手&#xf…...

对rust的全局变量使用drop方法

文章目录 rust处理全局变量的策略方法1&#xff1a;在main中自动Drop全局变量 参考 rust处理全局变量的策略 Rust 的静态变量不会在程序退出时自动调用 Drop&#xff0c;因为它们的生命周期与进程绑定。 use std::sync::OnceLock;struct GlobalData {content: String, }impl …...

使用FastGPT制做一个AI网站日志分析器

越来越的多网站面临每天上千次的扫描和各类攻击&#xff0c;及时发现攻击IP&#xff0c;并有效的屏蔽不良访问成为网站安全的重要保障&#xff0c;这里我们使用AI来完成对网站日志的日常分析。 我们来使用FastGPT来制做一个AI网站日志析器&#xff0c;下面就开始&#xff1a; …...

无限次使用 cursor pro

github地址 cursor-vip 使用方式 在 MacOS/Linux 中&#xff0c;请打开终端&#xff1b; 在 Windows 中&#xff0c;请打开 Git Bash。 然后执行以下命令来安装&#xff1a; 部分电脑可能会误报毒&#xff0c;需要关闭杀毒软件/电脑管家/安全防护再进行 方式1&#xff1a;通过…...

vuex 作用及五大组成部分

Vuex 是 Vue.js 的官方状态管理库&#xff0c;旨在帮助开发者构建大型应用时更好地管理和共享全局状态。它提供了一种集中式存储和管理应用所有组件的状态的方式&#xff0c;并且遵循单一状态树的原则。通过 Vuex&#xff0c;可以更容易地实现状态的可预测性和调试。 一、Vuex…...

Centos7上Jenkins+Docker+Git+SpringBoot自动化部署

文章目录 1.宿主机安装maven2.安装jenkins3.配置Jenkins4.Jenkins脚本自动安装JDK&#xff08;可选&#xff09; 1.宿主机安装maven wget https://dlcdn.apache.org/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.tar.gz mv apache-maven-3.9.9-bin.tar.gz /usr/local…...

MATLAB图卷积神经网络GCN处理分子数据集节点分类研究

全文链接&#xff1a;https://tecdat.cn/?p38570 本文主要探讨了如何利用图卷积网络&#xff08;GCN&#xff09;对图中的节点进行分类。介绍了相关的数据处理、模型构建、训练及测试等环节&#xff0c;通过对分子数据集的操作实践&#xff0c;展示了完整的节点分类流程&#…...

高级Python游戏开发:创建一款多人对战坦克大战

在本教程中,我们将用Python的Pygame库开发一款高级的坦克大战游戏。这款游戏支持多人对战、碰撞检测、子弹射击以及地图障碍生成,适合作为学习Python高级游戏开发的练习项目。 一、游戏功能概述 多人对战模式:玩家可以操作坦克,在同一屏幕上互相攻击。子弹射击:坦克可以发…...

网站访问的基础-HTTP超文本传输协议

BS架构 浏览器Browser⬅➡服务器Server 浏览器和服务器之间通过 IP 地址进行通信&#xff0c;实现数据的请求和传输。 例如&#xff0c;当用户在浏览器中访问一个网站时&#xff0c;浏览器会根据用户输入的网址&#xff08;通过 DNS 解析得到服务器 IP 地址&#xff09;向服…...

使用Hydra库简化配置管理

使用Hydra库简化配置管理 简介 在现代软件开发中&#xff0c;配置管理是至关重要的。应用程序的灵活性和可维护性很大程度上取决于其如何处理配置。Hydra是一个由Facebook AI Research (FAIR) 开发的Python库&#xff0c;它旨在简化复杂应用的配置过程。Hydra使得开发者可以轻…...

Java对集合的操作方法

1. 数组转集合 //数组转集合 String[] split quickRechargeAmount.split(","); List<String> stringList Stream.of(split).collect(Collectors.toList()); 2. 对List集合数据内容进行分组 //对List集合数据内容进行分组 Map<String, List<LiveAppGi…...

WordPress酱茄主题 开源版 博客资讯自媒体网站模板

一款免费开源的WordPress主题&#xff0c;主题专为WordPress博客、资讯、自媒体网站而设计 运行环境 支持WordPress版本&#xff1a;5.6 兼容Chrome、Firefox、Safari等主流浏览器 支持设备&#xff1a;响应式布局&#xff0c;不同设备不同展示效果 服务器环境建议&#x…...

【SickOs1.1靶场渗透】

文章目录 一、基础信息 二、信息收集 三、反弹shell 四、提权 一、基础信息 Kali IP&#xff1a;192.168.20.146 靶机IP&#xff1a;192.168.20.150 二、信息收集 端口扫描 nmap -sS -sV -p- -A 192.168.20.150 开放了22、3128端口&#xff0c;8080端口显示关闭 22端…...

Javaweb web后端maven介绍作用安装

自动导入到这个项目 src是源代码 main主程序&#xff0c;核心代码 java是Java源代码 resources是项目配置文件 test测试相关的 maven概述 介绍 依赖在本地仓库查找&#xff0c;如果本地仓库有&#xff0c;用本地仓库的依赖&#xff0c;本地没有&#xff0c;连接中央仓库&…...

Input Action (输入动作) 在虚幻引擎中常用的值类型

1. Digital (bool) 含义: Digital 类型代表一个离散的、二元的输入状态,它只有两种可能的值:true(按下,激活)或 false(未按下,未激活)。 用途: 最常用于表示按键或按钮的按下状态。 适合于开关类型的操作,比如: 跳跃(按键按下时跳跃,松开时不跳跃) 奔跑/行走切换 …...