从ETL到DataOps:WhaleStudio替代Informatica,实现信创化升级
作者 | 白鲸开源 姜维
在数据集成和调度的领域,Informatica
曾经是公认的权威工具。其强大的ETL
功能、多年积累的市场经验,使其成为众多企业数据处理的核心工具。
然而,随着新一代大数据平台的迅速崛起,以及信创化改造的要求愈发严格,Informatica在现今复杂多变的生产环境中逐渐显现出不足之处。
相比之下,白鲸开源的WhaleStudio
凭借其灵活、开源的架构设计、云数据源和信创数据源的适配,已逐渐成为替代Informatica
有力的解决方案。
Informatica在现代数据开发环境下的缺点
随着新一代大数据平台开发方法的兴起以及国内信创化改造要求,Informatica已经无法完全满足实际生产环境需要:
1. 无法适配新兴大数据环境的灵活性
Informatica的技术架构无法满足如Hadoop、星环、Spark、Flink、Doris、Hudi、Iceberg等新兴大数据平台的需求。其处理方式难以跟上这些新技术的演进速度和复杂性。而WhaleStudio在这方面表现优异,能够与主流大数据平台无缝集成。其DataOps能力确保了批处理与流处理的统一,支持用户快速、灵活地进行大规模数据的处理和分析,满足现代企业对实时和高效数据处理的需求。
2. 无法支持国产信创数据库及操作系统
随着信创化的深入,企业逐渐转向使用国产数据库和操作系统,如GaussDB、华为MRS、TiDB、达梦、人大金仓,以及统信和麒麟操作系统。Informatica在这方面的支持有限,无法完全适应国内市场的需求,特别是在信创合规性要求下,已经明确无法满足合规要求。
而WhaleStudio在作为中国原创的全球开源原生企业,其商业版本在原创的Apache DolphinScheduler和Apache SeaTunnel基础上,直接加入了提供了对这些国产系统的全面支持,并完成相关信创认证。
尤其在多云和信创环境下的部署能力及性能,更是远超同类国内外产品,使得用户能够根据业务需求灵活选择最佳技术方案,实现真正的信创化合规。
3.服务的持续性和服务保障
随着Informatica退出中国市场,客户在续签合同和获取技术支持方面遇到了严重挑战,这直接威胁到企业数据项目的稳定性和安全性。
WhaleStudio不仅作为国产开源项目(Apache DolphinScheduler+Apache SeaTunnel),拥有本地化的技术支持团队,还拥有超过6000+用户,5W个人用户的社区。用户可以依赖这一支持网络获得快速的技术响应和持续服务保障,避免了因服务中断而带来的风险。
4.从ETL到DataOps的全面升级
Informatica固有的ETL架构在处理超大规模和实时数据时面临挑战,难以满足当前对数据湖和实时数据仓库的需求。而WhaleStudio的DataOps架构超越了传统的ETL模式,采用EtLT(Extract, transform, Load, and Transform)架构,不仅能实现批流一体化,还能支持动态和复杂的数据流转。
DataOps旨在通过自动化和标准化的流程实现更快速、更高效的数据交付。WhaleStudio通过提供多种任务类型的代码管理,打通Git CICD流程,完善的Code Review与上线下管理机制,实现了对复杂数据环境的高效管理。企业能够在WhaleStudio上进行从数据提取到实时处理、批量开发、代码管理、上下线管理的一站式操作,使其比Informatica更加灵活和高效,更适应现代数据开发的管理需求。
DataOps作为一种数据运营和管理实践,强调了数据团队的敏捷性和协作性。WhaleStudio集成了DataOps理念,将开发、运维和数据管理整合在一起,提供从开发到生产的无缝衔接。相较于Informatica的传统操作,WhaleStudio的DataOps解决方案能帮助企业实现更快的数据交付周期、更高的自动化程度以及更低的错误率。
通过DataOps,WhaleStudio实现了数据工作流的持续优化和快速迭代。企业在使用WhaleStudio时,不仅能有效管理和监控数据流,还能根据需求进行快速调整,保持数据系统的高效运作。
WhaleStudio的DataOps能力通过支持CICD、持续交付和实时监控,提供更高的透明度和灵活性。数据管道的构建、测试和部署被高度自动化,减少了人为错误和延误,确保了系统的稳定运行。
Informatica迁移至WhaleStudio的架构升级
WhaleStudio 可以全面替换 Informatica,让用户一站式升级至支持数据湖/大数据/数据仓库/实时数据仓库/信创数据库,支持用户快速升级至全球领先的DataOps平台。
从以上的架构图可以看到WhaleStudio可以全面替换Informatica的功能:
01 数据源接入和处理层
在Informatica架构中,SAP、Oracle、MySQL等数据源通过Maplet被处理并导入ODS层。
Informatica通过复杂的映射和存储过程来实现数据的抽取、转换和加载,这个处理流程在面对现代化数据架构时,显得僵化和繁琐。
相比之下,WhaleStudio通过WhaleTunnel模块直接连接到SAP、Oracle、MySQL等数据源,提供了统一的数据接入能力。这种设计不仅简化了数据接入过程,还提供了对实时和批处理的双重支持,帮助企业轻松集成大数据和数据湖环境。
02 数据流转和任务处理
Informatica需要通过存储过程和其他工具将数据从ODS层传输到DWD层和DWA层。这个过程不仅依赖于特定的数据库技术,还会增加维护和优化的复杂性。
在WhaleStudio中,数据从ODS层到DWD层再到DWA层的传输全部通过标准化的SQL操作实现,进一步在MID(中间层)加入数据处理和优化环节。WhaleStudio的这种模块化架构,结合其DataOps平台,能够实现数据在不同层之间的自动流转和优化,大幅提升了系统的灵活性和性能。
03 数据湖和实时数据支持
Informatica在设计上较难实现对实时数据仓库和现代化数据湖的支持。而WhaleStudio通过其全栈架构和实时流处理功能,轻松实现了批流一体化的数据处理。
企业可以借助WhaleStudio在传统数据仓库、实时数据仓库和大数据平台之间实现无缝的衔接和数据共享。
04 信创化环境和多样化支持
前面图中显示的WhaleStudio不仅能够支持传统的数据仓库架构,还可以与国内的信创数据库和系统(如GaussDB、统信、麒麟)无缝集成。
通过SQL化和可视化任务调度,用户在部署和维护上具有更高的灵活性和便捷性。结合其DataOps功能,企业可以实现从数据抽取到处理和治理的自动化和标准化操作,使其一站式升级到全球领先的数据管理平台。
通过上面几点,我们可以清晰地看到WhaleStudio在架构设计上是如何实现对Informatica的替代。WhaleStudio以简化的数据接入、SQL化操作、批流一体化、可视化任务调度和自动化的DataOps能力,让用户可以快速升级至支持现代数据需求的全球领先平台。
不仅解决了Informatica架构中存在的复杂性和局限,还为企业提供了灵活、高效的开发和数据管理方式。
Informatica一站式迁移到WhaleStudio
WhaleStudio 支持直接利用WhaleScheduler图形化调用Informatica Workflow,实现分阶段分批迁移,同时具备多种迁移方式,满足不同场景下的迁移需求。
这些方法包括Infa-WhaleStudio迁移工具、Excel导入、人工批量生成、混合调度和人工迁移。
每种方法都有其优缺点,下面详细说明:
- 白鲸开源Infa-WhaleStudio迁移工具
优点:这种方法实现了全自动迁移,能够自动生成对应的Mapping,经过人工确认后即可直接导入WhaleStudio。这使得迁移过程更高效,减少了人工干预的需求,尤其适合大规模迁移任务。
- Excel导入
优点:Excel导入方式逻辑简单,开发者可以轻松地通过Excel模板来调整和修改数据,适合处理批量修改的迁移任务。Excel在迁移工作中提供了灵活的人工干预能力,使开发者能够更细致地对转换逻辑进行校验和优化。
- 人工批量生成表同步
优点:操作简便,一次性可以直接利用WhaleStudio多个表的数据同步任务。适合那些结构较简单且无需复杂逻辑处理的任务。开发人员可以快速生成多个数据任务,提高开发速度和灵活性。
- 人工迁移
优点:适用于复杂任务的迁移,能够将原有的Mapping转换为SQL任务,确保在迁移完成后系统不再依赖任何其他平台。这种方式赋予开发者对每个任务的完全控制,特别适合特殊需求或业务逻辑复杂的任务。
而在迁移过当中,WhaleStudio支持“WhaleStudio+Informatica 混合调度模式”,使企业能够实现分阶段、分批次的平稳迁移。
通过直接图形化调用Informatica Workflow,WhaleStudio允许用户在新平台上逐步导入和运行部分Informatica任务,同时保持现有系统的正常运作。
在此双系统并存的过渡阶段,开发人员可以对迁移任务进行调试和优化,减少因系统切换而产生的风险。该模式提供了更高的灵活性和安全性,确保迁移过程顺畅无缝。
WhaleStudio通过多种迁移方式,使得企业能够根据实际情况选择最佳的迁移策略。无论是全自动的Infa-WhaleStudio迁移工具,还是灵活的Excel导入和人工批量生成方法,开发者都可以根据具体项目的复杂度和需求,制定最适合的迁移方案。
同时,混合调度和人工迁移为复杂和定制化需求提供了保障,确保了系统迁移的灵活性和高效性。这种多样化的支持让用户能够轻松升级到WhaleStudio平台,享受现代DataOps的优势和更高效的数据管理。
某金融企业Informatica迁移WhaleStudio客户案例
以下是某金融企业Informatica迁移WhaleStudio具体客户案例:
数据仓库与ETL工具替换架构图
该金融企业的迁移方案是将原有的Teradata+Informatica
架构替换为GaussDB+ WhaleStudio
,形成一个全信创的技术栈。
以下是具体的技术方案描述:
数据源接入与调度
在原有架构中,企业使用Informatica PowerCenter来从文件系统、Oracle和MySQL等数据源获取数据,并通过BTEQ和FastLoad将数据传输至Teradata中的ODS层。然而,这种架构需要多种工具来实现数据同步和调度(如Automation和Informatica),工具之间缺乏统一性,增加了系统复杂性。
在迁移后的架构中,WhaleStudio通过WhaleTunnel模块实现了对文件、Oracle、MySQL等数据源的直接接入。这种设计不仅简化了数据源的接入,还将调度和数据传输集成在一个平台上,减少了工具之间的依赖,提升了操作的流畅性和维护的便捷性。
数据流与处理层
在原有方案中,数据从ODS层通过SQL任务逐层传递到SDATA、PDATA、MID,最终到达PMART层,形成数据仓库的完整结构。Informatica负责数据的调度和同步,而Automation负责数据仓库当中的流程管理和自动化任务,这使得整个数据流转过程分散在不同工具中。
在WhaleStudio方案中,数据从WhaleTunnel接入后,通过SQL任务依次传输到ODS、SDATA、PDATA、MID和PMART层。WhaleStudio的WhaleScheduler模块在此过程中负责所有数据调度、传输和转化任务,无需再依赖外部工具进行额外的调度操作。这样,数据流的所有步骤均在一个平台内完成,减少了系统耦合性并提高了可维护性。
数据库架构与信创合规
迁移方案中,数据仓库从原有的Teradata迁移到GaussDB,确保整个方案符合信创合规要求。GaussDB作为底层存储解决方案,而Informatica无法支持新创相关产品和环境。而WhaleStudio有多个新创产品体系认证,结合结合WhaleStudio的DataOps功能,提供了从数据接入、处理到存储的全流程管理。WhaleStudio支持通过SQL和可视化界面对这些步骤进行操作和监控,使数据工程师能够更高效地管理和优化数据流,实现全面新创合规。
自动化与批量处理
在原有架构中,Teradata BTEQ和FastLoad工具被用于批量数据加载和转换。这些工具虽然功能强大,但需要手动配置和额外的操作步骤。迁移到WhaleStudio后,企业通过其内置的自动化任务和批处理功能,能够更轻松地配置和运行复杂的数据流。所有数据的批量处理和调度都可以在WhaleStudio中通过简单的图形化界面进行设置和监控。
端到端数据管理与未来扩展
新的技术方案通过WhaleStudio实现了从数据源到PMART数据集市的端到端调度和集成,提供了一个完整的DataOps解决方案。企业未来可以在此基础上引入数据湖、大数据平台该和OLAP引擎,进一步支持实时数据分析和更复杂的数据处理场景,确保架构具备良好的扩展性和应变能力。
迁移过程与结果
从WhaleStudio迁移到Informatica的过程中,整个项目涉及到多个技术环节和迁移步骤。迁移方案中,不仅包含数据仓库的迁移,还涉及SQL脚本的转换和迁移过程,确保迁移后的系统能够无缝衔接新架构。
迁移过程
任务迁移与整合:在迁移过程中,项目涵盖了Informatica + Automation组合的3000多个任务。其中,使用自动导入、Excel导入和人工批量生成等方式顺利迁移了超过2900个任务,极大提高了迁移的效率。
任务优化:迁移过程中,对90个任务进行了整合和优化,以简化工作流程和提升整体系统性能。这一步骤确保了在过渡到新环境时,业务逻辑能够得到精简和改进。
手动转换:余下的30多个复杂任务涉及到高级逻辑和自定义处理,必须手动将Informatica中的复杂任务逻辑转换为GaussDB SQL脚本,在ODS层进行进一步处理。这一环节确保了复杂的业务逻辑能够正确映射到新的系统环境中。
项目周期与并行工作
整个Infa+Automation的迁移项目周期为3个月,由3名技术人员负责实施。同时,与数据仓库迁移厂商保持并行工作,共同推进项目进行,总并行期为6个月。通过这种并行工作模式,确保了迁移工作的高效执行和资源的充分利用。
迁移效果
迁移完成后,用户全面切换到信创环境,并完成DataOps流程初步布局。
整体信创包括适配了信创数据库、信创操作系统和信创ETL及大数据开发工具。这不仅使企业实现了自主可控的技术架构,还满足了国家对信创合规的要求。
此外,作为二期工程,本平台准备适配了大数据部门的Hive+Spark场景,同时完成整体DataOps流程,为企业提供了一套统一的开发、调度和同步的DataOps工具,快速满足基于数据仓库、大数据和数据湖的需求:
迁移后的系统能够支持跨系统开发和部署流程,确保了不同系统间的高效集成和协作和CICD工作。同时,企业还受益于完善的售后支持体系,提供持续的技术支持和维护,保障了系统的稳定运行和未来扩展的可能性。
小结
WhaleStudio作为现代化DataOps平台,以其活跃的开源社区、接近200种数据源的适配,一流的调度和开发功能、批流一体化支持和全面的信创适配,成为替换Informatica的理想选择。
通过统一的调度和集成,WhaleStudio简化了开发流程,提升了数据处理效率,尤其在信创合规的环境中展现了极高的适应性。其迁移方法多样且有效,包括自动迁移工具、Excel导入、人工批量生成及手动转换,确保复杂任务的精准迁移。
实际案例中,企业能够通过Infa+WhaleStudio混合模式实现平稳的分阶段迁移,在短时间内成功完成数千个任务的转换与优化,最终实现WhaleStudio对Informatica的全面替换。
迁移后,用户不仅获得了更简化的开发流程和高度集成的数据处理能力,还支持多系统协同和未来的扩展需求,充分体现了WhaleStudio在现代数据管理中的巨大优势。
本文由 白鲸开源科技 提供发布支持!
相关文章:
从ETL到DataOps:WhaleStudio替代Informatica,实现信创化升级
作者 | 白鲸开源 姜维 在数据集成和调度的领域,Informatica曾经是公认的权威工具。其强大的ETL功能、多年积累的市场经验,使其成为众多企业数据处理的核心工具。 然而,随着新一代大数据平台的迅速崛起,以及信创化改造的要求愈发严…...
第四十二篇 EfficientNet:重新思考卷积神经网络的模型缩放
文章目录 摘要1、简介2、相关工作3、复合模型缩放3.1、 问题公式化3.2、扩展维度3.3、复合比例 4、EfficientNet架构5、实验5.1、扩展MobileNets和ResNets5.2、EfficientNet的ImageNet结果5.3、EfficientNet的迁移学习结果 6、讨论7、结论 摘要 卷积神经网络(ConvNets)通常在固…...
[OpenHarmony5.0][Docker][环境]OpenHarmony5.0 Docker编译环境镜像下载以及使用方式
T. 已测试目录 主机类型主机版本Docker镜像版本结果WSL2Ubuntu22.04Ubuntu20.04PASSWSL2Ubuntu22.04Ubuntu18.04PASS R. 软硬件要求: 编译硬件需求:做多系统测试,磁盘500GB起步(固态)(机械会卡死),内存3…...
Web Worker 和 WebSocket的区别
Web Worker(消息传递机制) 定义:是为了在浏览器中提供多线程支持,允许 JavaScript 在后台线程运行,而不阻塞主线程。它非常适合执行耗时的计算任务或处理大量数据,避免主线程(通常是 UI 线程&a…...
vmware Ubuntu2004运行STAR-Searcher
github链接 安装ros noetic gazebo11 略 gazebo更新方法 sudo sh -c echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable lsb_release -cs main" > /etc/apt/sources.list.d/gazebo-stable.list wget https://packages.osrfoundation.org/gaz…...
04_JavaScript引入到文件
JavaScript引入到文件 嵌入到HTML文件中 <body> <script> var age 20 </script></body> 引入本地独立JS文件 <body> <script type"text/javascript" src"./itbaizhan.js"> </script></body> 引入网络来…...
计算机网络的功能
目录 信息交换 资源共享 分布式处理 可靠性增强 集中管理 信息交换 计算机网络最基本的功能之一是允许不同设备之间的数据通信。这包括电子邮件的发送和接收、即时消息的传递、文件传输等。通过网络,用户可以轻松地与全球各地的其他人进行沟通和协作。 信息交…...
38 基于单片机的宠物喂食(ESP8266、红外、电机)
目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STC89C52单片机,采用L298N驱动连接P2.3和P2.4口进行电机驱动, 然后串口连接P3.0和P3.1模拟ESP8266, 红外传感器连接ADC0832数模转换器连接单片机的P1.0~P1.…...
Git仓库迁移到远程仓库(源码、分支、提交)
单个迁移仓库 一、迁移仓库 1.准备工作 > 手动在电脑创建一个临时文件夹,CMD进入该目录 > 远程仓库上创建一个同名的空仓库 2.CMD命令:拉取旧Git仓库(包含提交、分支、源码) $ git clone --bare http://git.domain.cn/…...
Go语言压缩文件处理
目录 Go 语言压缩文件处理1. 压缩文件:Zip函数2. 解压文件:UnZip 函数3. 小结 Go 语言压缩文件处理 在现代的应用开发中,处理压缩文件(如 .zip 格式)是常见的需求。Go 语言提供了内置的 archive/zip 包来处理 .zip 文…...
Libevent库-http通信不同请求方式的处理
做项目的时候用到了http通信,同事用libevent库写的,特此记录后端从前端拿到消息后的处理方式 void CHTTPTest::request(const std::any & data) {// data 是从前端拿到的数据void *obj std::any_cast<void *>(data); // std::any是C17新标准…...
Vue3 v-if与v-show的区别
v-if 与 v-show 我们都可以在开发中用于条件渲染,在面试时也是个常考的题目 实现原理 v-if:是真正的条件渲染,当v-if true时,元素会被创建、渲染,并插入到dom树中,这个过程会耗费系统的资源,当…...
同时在github和gitee配置密钥
同时在github和gitee配置密钥 1. 生成不同的 SSH 密钥 为每个平台生成单独的 SSH 密钥。 # 为 GitHub 生成密钥(默认文件路径为 ~/.ssh/github_id_rsa) ssh-keygen -t rsa -b 4096 -C "your_github_emailexample.com" -f ~/.ssh/github_id_…...
Scala—数组(不可变数组Array、可变数组ArrayBuffer)用法详解
Scala集合概述-链接 大家可以点击上方链接,先对Scala的集合有一个整体的概念🤣🤣🤣 在 Scala 中,数组是一种特殊的集合类型,可以是可变的也可以是不可变的。 1. 不可变数组 在 Scala 中,不可变…...
Failed to find SV in PRN block of SINEX file (Name svnav.dat)
gamit 精密星历生成失败 gamit svnav.dat没更新 下载svnav.dat.allgnss 重命名成 svnav.dat ,替换到tables,即可。...
H.265流媒体播放器EasyPlayer.js无插件H5播放器关于移动端(H5)切换网络的时候,播放器会触发什么事件
EasyPlayer.js无插件H5播放器作为一款功能全面的H5流媒体播放器,凭借其多种协议支持、多种解码方式、丰富的渲染元素和强大的应用功能,以及出色的跨平台兼容性,为用户提供了高度定制化的选项和优化的播放体验。无论是视频直播还是点播&#x…...
Ubuntu上使用自带python创建虚拟环境
虚拟环境让项目之间的依赖关系更加清晰,也可以避免全局安装的包的版本冲突问题。 1.查看python Ubuntu上一般都是自带python的,查看python版本及指向(使用的话python要换成python3): ls -l /usr/bin | grep python 2.安装python虚拟环境工…...
对智能电视直播App的恶意监控
首先我们要指出中国广电总局推出的一个政策性文件是恶意监控的始作俑者,这个广电总局的政策性文件禁止智能电视和电视盒子安装直播软件。应该说这个政策性文件是为了保护特殊利益集团,阻挠技术进步和发展的。 有那么一些电视机和电视盒子的厂商和电信运…...
网络原理(一):应用层自定义协议的信息组织格式 HTTP 前置知识
目录 1. 应用层 2. 自定义协议 2.1 根据需求 > 明确传输信息 2.2 约定好信息组织的格式 2.2.1 行文本 2.2.2 xml 2.2.3 json 2.2.4 protobuf 3. HTTP 协议 3.1 特点 4. 抓包工具 1. 应用层 在前面的博客中, 我们了解了 TCP/IP 五层协议模型: 应用层传输层网络层…...
微软企业邮箱:安全可靠的企业级邮件服务!
微软企业邮箱的设置步骤?如何注册使用烽火域名邮箱? 微软企业邮箱作为一款专为企业设计的邮件服务,不仅提供了高效便捷的通信工具,更在安全性、可靠性和功能性方面树立了行业标杆。烽火将深入探讨微软企业邮箱的多重优势。 微软…...
matlab导出3D彩色模型(surface类转stl,并对白模上色)
在matlab中绘制3维图形时,需要将3维图形导出到PPT中展示。但是直接导出图片效果欠佳,无法全方位展示。 最近学习了如何将matlab中的图形导出为stl模型,然后再采用简单的方法对模型上色。 中间尝试过matlab导出stl、ply、3dm等多种格式&…...
【JavaScript】async /await异步详解2 promise举例
在 JavaScript 中,async 和 await 是处理异步操作的强大工具。结合 try...catch 语句,你可以优雅地处理异步操作中的错误。 基本用法 定义异步函数:使用 async 关键字。等待 Promise 解析:使用 await 关键字。错误处理ÿ…...
Android 设备使用 Wireshark 工具进行网络抓包
背景 电脑和手机连接同一网络,想使用wireshark抓包工具抓取Android手机网络日志,有以下两种连接方法: Wi-Fi 网络抓包。USB 网络共享抓包。需要USB 数据线将手机连接到电脑,并在开发者模式中启用 USB 网络共享。 查看设备连接信…...
封装类与封装函数
目录结构 src/ ├── utils/ │ ├── test.js │ ├── Calculator.js ├── views/ │ ├── Home.vue ├── App.vue 共同点:模块导出与模块引入 封装函数 场景 简单、轻量级和性能敏感的场景,适合快速开发和维护。 优 可维护性&…...
【java】接口幂等性的实现
文章目录 1. 引言介绍幂等性的概念为什么需要在Java接口中实现幂等性 2. 使用幂等表实现幂等性什么是幂等表如何设计幂等表示例:Java代码实现使用幂等表使用幂等表实现幂等性 3. 利用Nginx Lua 和 Redis实现幂等性Nginx和Lua的作用简介介绍Redis的SETNX命令架构设计…...
Leetcode 1.两数之和
题目意在对数组的快速查找 思路:哈希表 先创建一个哈希表,然后对数组进行遍历,iter代表用目标值依次减去遍历数组中的元素后得出的值,如果这个值在map中存在,则返回其索引和当前数组元素中的索引;若不存…...
GitLab指定用户分配合并权限
进入项目 -》 Project Settings Repository -》展开 Protected branches -》 添加要保护的分支,设置角色 管理用户角色权限 查看到不同用户的角色,一般设置Developer只有Merger Request权限,Maintainer还有Merge审批权限 GitLab 中的权限…...
实战优化公司线上系统JVM:从基础到高级
引言 Java虚拟机(JVM)是Java语言的核心组件,它使得Java程序能够实现“一次编写,到处运行”的跨平台特性。在现代应用程序中,JVM的性能和稳定性直接影响到系统的整体表现。本文将深入探讨JVM的基础知识、基本特点、定义…...
实时数据开发 | 一文理解Flink窗口机制
窗口操作在流处理和批处理之间起到了桥梁的作用。 Flink引擎本质上是流式引擎,认为批处理是流处理的一个特例。因此,通过窗口将流数据划分为有限大小的集合,使得在这些有界的数据集上可以进行批处理风格的计算。 通过配置窗口的参数…...
【云原生系列】迁移云上需要考虑哪些问题
云计算已经成为现代企业架构中不可或缺的一部分。越来越多的公司正在将他们的应用、数据和基础设施迁移到云平台上,以便更好地应对快速变化的市场需求、提高运营效率并降低成本。然而,迁移到云端并不是一件轻松的事情。涉及到多个技术、业务和管理层面的…...
1、Three.js开端准备环境
准备工作 从 CDN 导入 1.安装 VSCode 2.安装 Node.js 3.查看Three.js最新版本 4.如何cdn引入: https://cdn.jsdelivr.net/npm/threev版本号/build/three.module.js 例如:https://cdn.jsdelivr.net/npm/threev0.170.0/build/three.module.js 我们需要…...
go 和java 编写方式的理解
1. go 推荐写流水账式的代码(非贬义),自己管自己。java喜欢封装各种接口供外部调用,让别人来管自己。 2. 因为协程的存在, go的变量作用域聚集在方法内部,即函数不可重入,而java线程的限制&…...
华为ENSP--BGP路由协议实验详解
项目背景 随着A公司网络规模的增长和新业务对互联网接入速度及稳定性需求的提升,公司决定升级其网络设施。为此,A公司向运营商B租用了两条线路以接入网络,旨在提高网络资源的利用率,并增强网络的安全性、稳定性和可靠性,从而为用户提供更优质的服务和体验 在这一背景下,正…...
LLM*:路径规划的大型语言模型增强增量启发式搜索
路径规划是机器人技术和自主导航中的一个基本科学问题,需要从起点到目的地推导出有效的路线,同时避开障碍物。A* 及其变体等传统算法能够确保路径有效性,但随着状态空间的增长,计算和内存效率会严重降低。相反,大型语言…...
UE5 MakeSlateBrush 节点的作用
在 Unreal Engine 5 (UE5) 中,MakeSlateBrush 节点是用于 创建或设置一个 Slate Brush 的节点。Slate 是 Unreal Engine 中的 UI 框架,用于构建编辑器界面以及游戏中的用户界面(UI)。Slate Brush 是 Slate UI 中的一种资源类型&am…...
机载视频流回传+编解码方案
无线网络,低带宽场景。不能直接转发ROS raw image(10MB/s),而要压缩(编码)后再传输。可以用rtsp的udp传输或者直接传输话题,压缩方法有theora(ROS image_transport默认支持ÿ…...
小程序 - 婚礼邀请函
小程序页面和样式练习 - 婚礼邀请函小程序开发笔记 目录 婚礼邀请函 准备工作 加载静态资源 项目初始化 标签栏的配置 各页面导航栏标题配置 全局导航栏样式配置 公共样式的编写 项目内容 邀请函页面内容 邀请函页面样式 照片页面内容 照片墙页面样式 美好时光页…...
命令行使用ssh隧道连接远程mysql
本地电脑A 跳板机B 主机2.2.2.2 用户名 B ssh端口号22 登录密码bbb 远程mysql C 地址 3.3.3.3 端口号3306 用户名C 密码ccc A需要通过跳板机B才能访问C; navicat中配置ssh可以实现在A电脑上访问C 如何实现本地代码中访问C呢? # 假设本地使…...
深度学习:完整的模型训练流程
深度学习:完整的模型训练流程 为了确保我们提供一个彻底和清晰的指导,让我们深入分析在model.py和train.py文件中定义的模型训练和验证流程。以下部分将详细讨论模型结构的定义、数据的加载与预处理、训练参数的配置、训练与测试循环,以及模…...
【数据结构】ArrayList与顺序表
ArrayList与顺序表 1.线性表2.顺序表2.1 接口的实现 3. ArrayList简介4. ArrayList使用4.2 ArrayList常见操作4.3 ArrayList的遍历4.4 ArrayList的扩容机制 5. ArrayList的具体使用5.1 杨辉三角5.2 简单的洗牌算法 6. ArrayList的问题及思考 【本节目标】 线性表顺序表ArrayLis…...
如何使用 python 中 pandas 进行数据分析?
使用Python中的pandas进行数据分析主要有以下几个步骤: 导入pandas库和数据文件 首先需要导入pandas库和数据文件,可以使用pandas的read_csv()函数读取CSV格式的数据文件,并将其存储为DataFrame格式。 pythonCopy code import pandas as p…...
WordPress文章目录插件,LuckyWP Table of Contents自动生成文章插件
文章带目录不能帮助用户快速获取信息,也能让页面内容更具条例,更加符合搜索引擎收录规范。今天给大家推荐一款免费好用的WordPress文章目录插件LuckyWP Table of Contents。LuckyWP Table of Contents 是一个WordPress插件,它允许你在博客帖…...
Qwen2.5-7B大模型微调记录
Qwen2.5-7B大模型微调记录 研究需要,需要搞一个大模型出来,没有太多的时间自己训练,准备用现成的开源大模型,然后结合研究方向进行微调 前前后后折腾大半个月,总算做完了第一个微调的大模型,模型基于阿里…...
TCP三次握手和四次挥手
三次握手:表示这客户与服务器之间的连接确定。 第一次:由客户端发出连接请求到服务器,服务器收到后可以确定客户的发送与自身的接收没问题 第二次:再由服务器回话个客户,让客户知道自己的发送与接收没问题,这时服务器还不知自己的…...
[Maven]3.5.3配置
MAVEN本地仓库配置: 1.conf 2.settings.xml 3.找到本地仓库配置目录 4.填写路径 5.镜像仓库...
68000汇编实战01-编程基础
文章目录 简介产生背景应用领域 语言学习EASy68K帮助文档IDE使用 编程语言commentslabels开始标签指令标签位置标签 opcode 操作码常用操作码数据传送算术运算逻辑运算控制流分支跳转地址跳转子程序跳转 位操作比较堆栈操作 IO操作码其他操作码 directives 指令DC指令EQU 指令S…...
常见的概念 及 分布式系统的演变过程
文章目录 一. 概念解释1. 应用(Application)/ 系统(System)2. 模块(Module)/ 组件(Component)3. 分布式(Distributed)4. 集群(Cluster)…...
torch.is_nonzero(input)
torch.is_nonzero(input) input: 输入张量 若输入是 不等于零的单元素张量 则返回True,否则返回False 不等于零的单元素张量:torch.tensor([0.]) 或 torch.tensor([0]) 或 torch.tensor([False])单元素张量: 只有一个数 的张量 import torch print(t…...
爬虫开发(5)如何写一个CSDN热门榜爬虫小程序
笔者 綦枫Maple 的其他作品,欢迎点击查阅哦~: 📚Jmeter性能测试大全:Jmeter性能测试大全系列教程!持续更新中! 📚UI自动化测试系列: SeleniumJava自动化测试系列教程❤ 📚…...
Rust 组织管理
Rust 组织管理 Rust 是一种系统编程语言,以其安全性、并发性和性能而闻名。随着 Rust 社区的不断壮大,有效的组织管理变得至关重要。本文将探讨 Rust 社区的组织结构、项目管理、社区参与和未来发展方向。 Rust 社区的组织结构 Rust 社区采用了一种去中心化的组织结构。核…...