SeaTunnel 与 DataX 、Sqoop、Flume、Flink CDC 对比

产品概述

Apache SeaTunnel 是一个非常易用的超高性能分布式数据集成产品,支持海量数据的离线及实时同步。每天可稳定高效同步万亿级数据,已应用于数百家企业生产,也是首个由国人主导贡献到 Apache 基金会的数据集成顶级项目。

SeaTunnel 主要解决数据集成领域的常见问题:

数据源多样:常用的数据源有数百种,版本不兼容。随着新技术的出现,出现了更多的数据源。用户很难找到能够全面快速支持这些数据源的工具。

复杂同步场景:数据同步需要支持离线-全量同步、离线-增量同步、CDC、实时同步、全库同步等多种同步场景。

资源需求高:现有的数据集成和数据同步工具往往需要大量的计算资源或JDBC连接资源来完成海量小表的实时同步。这在一定程度上加重了企业的负担。

缺乏质量和监控:数据集成和同步过程经常会丢失或重复数据。同步过程缺乏监控,无法直观了解任务过程中数据的真实情况。

技术栈复杂:企业使用的技术组件各不相同,用户需要针对不同的组件开发相应的同步程序来完成数据集成。

管理维护困难:市面上的数据集成工具通常受限于不同的底层技术组件(Flink/Spark),使得离线同步和实时同步往往是分开开发和管理的,增加了管理和维护的难度。

图片

SeaTunnel 产品实现了高可靠性、集中管理、可视化监控等一体的数据集成统一平台。

平台可以实现了标准化、规范化、界面化操作;实现了数据同步高速化,全量到增量无锁化自动切换,目前已经支持 100+ 种数据源;支持整库同步、表结构自动变更;同时无中心化设计确保系统的高可用机制,整体上做到简单易用,开箱即用。

同类产品横向对比

对比项Apache SeaTunnelDataXApache SqoopApache FlumeFlink CDC
部署难度容易容易中等,依赖于 Hadoop 生态系统容易中等,依赖于 Hadoop 生态系统
运行模式分布式,也支持单机单机本身不是分布式框架,依赖 Hadoop MR 实现分布式分布式,也支持单机分布式,也支持单机
健壮的容错机制无中心化的高可用架构设计,有完善的容错机制易受比如网络闪断、数据源不稳定等因素影响MR 模式重,出错处理麻烦有一定的容错机制主从模式的架构设计,容错粒度比较粗,容易造成延时
支持的数据源丰富度支持 MySQL、PostgreSQL、Oracle、SQLServer、Hive、S3、RedShift、HBase、Clickhouse等过 100 种数据源支持 MySQL、ODPS、PostgreSQL、Oracle、Hive 等 20+ 种数据源仅支持 MySQL、Oracle、DB2、Hive、HBase、S3 等几种数据源支持 Kafka、File、HTTP、Avro、HDFS、Hive、HBase等几种数据源支持 MySQL、PostgresSQL、MongoDB、SQLServer 等 10+ 种数据源
内存资源占用中等
数据库连接占用少(可以共享 JDBC 连接)多(每个表需一个连接)
自动建表支持不支持不支持不支持不支持
整库同步支持不支持不支持不支持不支持(每个表需配置一次)
断点续传支持不支持不支持不支持支持
多引擎支持支持 SeaTunnel Zeta、Flink、Spark 3 个引擎选其一作为运行时只能运行在 DataX 自己引擎上自身无引擎,需运行在 Hadoop MR 上,任务启动速度非常慢支持 Flume 自身引擎只能运行在 Flink 上
数据转换算子(Transform)支持 Copy、Filter、Replace、Split、SQL 、自定义 UDF 等算子支持补全,过滤等算子,可以 groovy 自定义算子只有列映射、数据类型转换和数据过滤基本算子只支持 Interceptor 方式简单转换操作支持 Filter、Null、SQL、自定义 UDF 等算子
单机性能比 DataX 高 40%  - 80%较好一般一般较好
离线同步支持支持支持支持支持
增量同步支持支持支持支持支持
实时同步支持不支持不支持支持支持
CDC同步支持不支持不支持不支持支持
批流一体支持不支持不支持不支持支持
精确一致性MySQL、Kafka、Hive、HDFS、File 等连接器支持不支持不支持不支持精确,提供一定程度的一致性MySQL、PostgreSQL、Kakfa 等连接器支持
可扩展性插件机制非常易扩展易扩展扩展性有限,Sqoop主要用于将数据在Apache Hadoop和关系型数据库之间传输易扩展易扩展
统计信息
Web UI正在实现中(拖拉拽即可完成)
与调度系统集成度已经与 DolphinScheduler 集成,后续也会支持其他调度系统不支持不支持不支持
社区非常活跃非常不活跃已经从 Apache 退役非常不活跃非常活跃

2.1、高可用、健壮的容错机制

  • • DataX 只支持单机,SeaTunnel 和 Flink CDC 支持集群,因此在高可用上 DataX 是不支持的,DataX由于单机设计很易受网络闪断、数据源不稳定等因素的影响造成数据不一致问题。

  • • Apache SeaTunnel具有无中心化的高可用架构设计和完善的容错机制,SeaTunnel支持更细粒度的作业回滚机制,结合多阶段提交与CheckPoint机制,确保数据一致的同时避免大量回滚导致性能下降

  • • Flink CDC采用主从模式的架构设计,容错粒度较粗,多表同步时,Flink 任何表出现问题都会导致整个作业失败停止,导致所有表同步延迟。

在高可用维度上,SeaTunnel 和 Flink CDC 优势很大

2.2、部署难度和运行模式

  • • Apache SeaTunnel 和 DataX 部署都十分容易。

  • • Flink CDC 的部署难度中等,但因为它依赖于 Hadoop 生态系统, 所以部署相对 SeaTunnel 会复杂一些。

2.3、支持的数据源丰富度

  • • Apache SeaTunnel 支持 MySQL、PostgreSQL、Oracle、SQLServer、Hive、S3、RedShift、HBase、Clickhouse 等 100 多种数据源。

  • • DataX 支持 MySQL、ODPS、PostgreSQL、Hive 等 20 多种数据源。

  • • Flink CDC 支持 MySQL、PostgreSQL、MongoDB、SQLServer 等 10 多种数据源。

Apache SeaTunnel 支持关系型数据库、NOSQL 数据库、数据仓库、实时数仓、大数据、云数据源、 SAAS、消息队列、标准接口、文件、FTP等多种数据源同步,数据可以同步到任一指定的系型数据库、NOSQL 数据库、数据仓库、实时数仓、大数据、云数据源、 SAAS、标准接口、消息队列、文件等目标数据源中,满足政府、企事业单位对于数据流动的绝大多数需求。在这个维度的对比上,显然 SeaTunnel 支持的数据源丰富度是远远高于其他两个的。

2.4、内存资源占用

  • • Apache SeaTunnel 占用较少的内存资源,SeaTunnel Zeta 引擎的 Dynamic Thread Sharing 技术可提高 CPU 利用率,不依赖 HDFS,Spark 等复杂组件,具备更好单机处理性能。

  • • DataX 和 Flink CDC 会占用较多的内存资源, Flink CDC 每个作业只能同步一张表,多张表同步需要启动多个 Job 运行,造成巨大浪费资源。

2.5、数据库连接占用

  • • Apache SeaTunnel 占用较少的数据库连接,支持多表或整库同步,解决 JDBC 连接过多的问题;同时实现了 zero-copy 技术,无需序列化开销。

  • • DataX 和 Flink CDC 占用较多的数据库连接,他们每个 Task 只能处理一张表,每张表至少需要一个JDBC 连接来读取或写入数据。当进行多表同步和整库同步时,需要大量的 JDBC 连接。

这通常是 DBA 们十分关注的,数据同步不能影响业务库正常运行,所以控制连接数占用是十分必要的。

2.6、自动建表

  • • Apache SeaTunnel 支持自动建表。

  • • DataX 和 Flink CDC 不支持自动建表。

2.7、整库同步

  • • Apache SeaTunnel 设计有支持整库同步,方便用户使用,不需要为每张表都写一遍配置。

  • • DataX 和 Flink CDC 不支持整库同步,每个表需要单独配置。

试想一下当你有数百张表,每张都单独配置一遍是不是还是太费劲了些!

2.8、断点续传

断点续传功能在数据同步过程是十分实用的功能,支持断点续传将让数据同步在手动暂停或出问题时能快速恢复继续,Apache SeaTunnel 和 Flink CDC 可以支持断点续传,但 DataX 不支持断点续传。 

2.9、多引擎支持

  • • Apache SeaTunnel 支持 SeaTunnel Zeta、Flink 和 Spark 三个引擎选其一作为运行时。

  • • DataX 只能运行在 DataX 自己的引擎上。

  • • Flink CDC 只能运行在 Flink 上。

在引擎支持丰富度上,SeaTunnel 具有更佳的优势。

2.10、数据转换算子

  • • Apache SeaTunnel 支持 Copy、Filter、Replace、Split、SQL 和自定义 UDF 等算子。

  • • DataX 支持补全、过滤等算子,还可以使用Groovy自定义算子。

  • • Flink CDC 支持 Filter、Null、SQL 和自定义 UDF 等算子。

在数据转换上,这 3 个支持力度差不多。

2.11、性能

因为 DataX 只有单机版,所以对比性能时统一使用单机来进行

DataX 和 Flink CDC 的单机性能较好。但 Apache SeaTunnel 的单机性能比 DataX 高 40%-80% 左右。

社区有贡献者曾做过测试,测试场景如下:

本地测试场景:MySQL-Hive, Postgres-Hive, SQLServer-Hive, Orache-Hive

云测试场景:MySQL-S3

列数:32,基本包含大部分数据类型

行数:3000w 行

Hive 文件 text 格式 18G

测试节点:单机 8C16G

测试结果:

在本地测试场景下:SeaTunnel Zeta VS DataX

SeaTunnel Zeta 比 DataX 同步数据快 40-80% 左右。同时SeaTunnel Zeta 对内存的使用比 DataX 少且稳定的多。

在云数据同步场景下:SeaTunnel 在 MySQL 到 S3 场景下性能是 Airbyte 的 30 多倍,是 AWS DMS 和 Glue 的 2 到 5 倍。

图片

测试结果截图

图片

这样的测试结果得益于 SeaTunnel Zeta 引擎专为数据同步场景而进行的精心化设计:

  • • 不需要依赖三方组件,不依赖大数据平台无主(自选主)

  • • 完善的Write Ahead Log 机制,即使整个集群重启也可快速恢复之前正在运行的作业

  • • 高效的分布式快照算法,强力保障数据一致性

2.12、离线同步

Apache SeaTunnel、DataX 和 Flink CDC 都支持离线同步,但 SeaTunnel 支持的数据源远远多于 DataX 和 Flink CDC。

2.13、增量同步 & 实时同步

  • • Apache SeaTunnel、DataX 和 Flink CDC 都支持增量同步。

  • • Apache SeaTunnel 和 Flink CDC 支持实时同步。但 DataX 不支持实时同步。

2.14、CDC 同步

  • • Apache SeaTunnel 和 Flink CDC 支持 CDC 同步。

  • • DataX 不支持 CDC 同步。

Change Data Capture(CDC)是一种用于实时数据同步的重要技术,它能够捕获数据源中发生的变化,从而实现对数据的实时更新和同步。随着数据量和数据更新速度的增加,传统的批量同步方法已经无法满足实时性和即时性的需求。CDC 技术能够以事件驱动的方式捕获和传递数据变化,使得数据同步更加灵活、高效和准确。

在 CDC 同步领域,SeaTunnel 作为一款强大的数据同步工具,具备突出的优势。以下是 SeaTunnel 支持 CDC 同步的优势:

  1. 1. 实时性:SeaTunnel 能够实时捕获源数据的变化,并将变化的数据实时传递到目标端。这意味着当源数据发生变化时,SeaTunnel 能够立即捕获到这些变化,并在最短的时间内将其同步到目标数据存储中。这种实时性使得 SeaTunnel 非常适用于需要快速反应和及时更新的应用场景。

  2. 2. 精确性:SeaTunnel 通过 CDC 技术能够准确地捕获和同步数据的变化,避免了传统批量同步中可能存在的数据不一致性问题。它可以准确地追踪和记录源数据的每一次变化,确保目标端数据的精确性和一致性。这对于需要保持数据一致性和准确性的业务非常重要。

  3. 3. 高效性:由于 CDC 同步只传递发生变化的数据,相比于全量数据同步,SeaTunnel 能够显著提高同步的效率和性能。SeaTunnel 只需要处理发生变化的数据,避免了不必要的数据传输和处理,节省了带宽和计算资源。这种高效性使得SeaTunnel能够应对大规模数据和高频率数据变化的同步需求。

  4. 4. 可靠性:SeaTunnel 通过采用可靠的 CDC 机制,确保了数据同步的可靠性和容错性。它能够应对网络闪断、数据源异常等异常情况,并保证数据同步的连续性和稳定性。SeaTunnel 的容错机制能够确保即使在异常情况下,数据同步不会丢失或出现错误。

  5. 5. 多数据源支持:SeaTunnel 支持多种主流数据源的 CDC 同步,包括 MySQL、PostgreSQL、Oracle、SQLServer等。这使得 SeaTunnel 能够适应不同类型的数据源,满足各种复杂的数据环境下的同步需求。SeaTunnel能够与不同数据源进行无缝集成,实现灵活、可扩展的CDC同步方案。

SeaTunnel 作为一款功能强大的数据同步工具,通过其实时性、精确性、高效性、可靠性和多数据源支持等突出的优势,能够满足不同业务场景下的 CDC 同步需求。无论是数据仓库同步、实时数据分析还是实时数据迁移,SeaTunnel 都能够提供可靠的 CDC 同步解决方案,助力用户实现数据的及时更新和同步。

2.15、批流一体

  • • Apache SeaTunnel 和 Flink CDC 支持批流一体。

  • • DataX 不支持批流一体。

SeaTunnel 和 Flink CDC 提供了统一的批流一体框架:SeaTunnel 提供了的一体化框架使得用户可以同时处理批量数据和实时数据而不需要为了批量同步配置一遍, 然后实时需要再配置一遍的过程。用户可以通过SeaTunnel 的灵活配置,将批处理和流处理的逻辑结合在一起,批和流同步变成只需要配置一下模式(mode)的差别,大大简化了开发和维护的工作,提高了数据处理的灵活性和效率。

2.16、精确一致性

  • • Apache SeaTunnel 支持 MySQL、Kafka、Hive、HDFS、File 等连接器的精确一致性。

  • • DataX 不支持精确一致性。

  • • Flink CDC 支持 MySQL、PostgreSQL、Kakfa 等连接器的精确一致性。

SeaTunnel 的精确一致性实现得益于 SeaTunnel 的 Sink & Source API 的设计,对 MySQL 等数据库来说,SeaTunnel通过实现二阶段提交(Two-Phase Commit,2PC)来保证数据同步过程中的一致性。二阶段提交是一种分布式事务协议,用于在分布式系统中实现多个参与者的数据操作的一致性。

图片

通过以上的二阶段提交过程,SeaTunnel 能够确保在数据同步过程中的一致性。SeaTunnel 实现了分布式环境下的数据操作的原子性和一致性。在正常情况下,所有参与者都成功执行了数据操作并提交数据,而在异常情况下,参与者能够回滚之前的数据操作,确保数据的一致性。这种机制使得 SeaTunnel 能够在分布式数据同步中提供可靠的数据一致性保证。其 Sink API 如下:

图片

2.17、可扩展性

  • • Apache SeaTunnel、DataX 和 Flink CDC 都具有易扩展性,并支持插件机制。

三者均采用插件化设计,允许用户通过编写自定义插件来扩展其功能。插件可以添加新的数据源、数据转换算子、数据处理逻辑等。使得用户可以根据自己的需求定制和扩展功能。

除此之外,Apache SeaTunnel 已经与 DolphinScheduler 集成,并计划支持其他调度系统。目前 DataX 和 Flink CDC 均不支持与调度系统集成。

SeaTunnel 与其他工具和系统的集成非常方便。SeaTunnel 提供了与常见的调度系统、任务调度框架和数据生态系统的集成接口。通过这些接口,用户可以将 SeaTunnel 与现有的工具和系统进行无缝集成,实现更强大的数据处理和调度能力。

2.18、统计监控信息

  • • Apache SeaTunnel 和 DataX 都具有统计信息。

  • • Flink CDC 没有统计信息。

做过数据同步的伙伴都应该清楚不知道数据同步进度和速率是多么痛苦的一件事,幸运的是 SeaTunnel 推出了 SeaTunnel web 监控页面,提供了多维度的监控信息,让数据同步一目了然

2.19、可视化操作

  • • Apache SeaTunnel 正在实现中,可以通过拖拉拽完成操作。

  • • DataX 和 Flink CDC 没有 Web UI。

SeaTunnel 提供了如下的可视化操作界面,让用户开箱即用:

图片

图片

2.20、社区

  • • Apache SeaTunnel 和 Flink CDC 社区非常活跃。

  • • DataX 社区活跃度低。

SeaTunnel 的活跃社区和强大生态系统也是其成功的关键。作为一个开源项目,SeaTunnel 拥有庞大的开发者社区和用户社区,他们为 SeaTunnel 的发展和改进做出了巨大贡献。丰富的文档、案例和示例代码,以及积极的技术交流,使得用户能够更好地理解和使用 SeaTunnel,并及时解决遇到的问题。这种活跃的社区支持为用户提供了强大的后盾,保证了 SeaTunnel 的持续发展和改进。

特别的,我们 Flink CDC,SeaTunnel Zeta 引擎的优势对比如下:

图片

Flink 是非常优秀的流计算引擎,Zeta 是我们专为数据同步这个场景打造的,更适合于高性能数据同步这个场景!

总结

Apache SeaTunnel 作为一款强大的数据同步和转换工具,凭借其部署易用性、容错机制、数据源支持、性能优势、功能丰富性以及活跃的社区支持,成为了数据工程师们不可或缺的利器。

SeaTunnel 能够满足各种规模和类型的数据处理需求,为用户提供高效、稳定和灵活的数据处理解决方案。随着数据环境的不断演变和发展,SeaTunnel 将继续在数据同步和转换领域发挥领导作用,推动数据驱动的业务发展。

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

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

相关文章

基于springboot的车辆充电桩管理系统

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

Mac安装minio

Mac安装minio 本文介绍使用 mac 安装 MinIO。 所有软件安装优先参考官网:MinIO Object Storage for MacOS — MinIO Object Storage for MacOS #使用 brew 安装 minio brew install minio/stable/minio#找到 minio tong ~ $ brew list minio /opt/homebrew/Cella…

大模型精准度提升调研

如何让ChatGPT更靠谱 1. 预训练大模型概述 关于预训练 预训练(Pre-training)是深度学习中一种常见的技术,特别是在自然语言处理(NLP)和计算机视觉(CV)等领域中。它通常指在一个大型的、通常是…

搜维尔科技【应急推演】虚拟仿真技术的发展为煤炭矿井的安全生产找到新的出口

煤炭矿井的安全生产一直是我国关注的重大事项,保证煤炭矿井的安全生产,减少人员伤亡等不可逆的损失成为重中之重。虚拟仿真技术的发展为煤炭矿井的安全生产找到了新的出口。依托虚拟仿真技术,对煤炭矿井进行实时的生产监测,对矿井…

65W智能快充—同为科技桌面PDU插座推荐

近10年,移动设备的智能化、功能化已经完全且紧密的融入到我们的基础生活与工作当中。 在常态化的电子设备的应用中,设备的电力续航以及后续的供电充电就尤为重要。 就目前而言,所有消费电子产品中的输入以及充电的接口,usb-c可以…

正则表达式 vs. 字符串处理:解析优势与劣势

title: 正则表达式 vs. 字符串处理:解析优势与劣势 date: 2024/3/27 15:58:40 updated: 2024/3/27 15:58:40 tags: 正则起源正则原理模式匹配优劣分析文本处理性能比较编程应用 1. 正则表达式起源与演变 正则表达式(Regular Expression)最早…

Linux下配置Java

今天来说一说如何在linux系统中配置java环境。 简单来说就是下载jdk-设置环境变量 一、下载jdk 直接去oracle官网寻找jdk https://www.oracle.com/cn/java/technologies/downloads/#jdk17-linux 我就是直接下载了这个 二、环境变量配置 export JAVA_HOME/usr/local/java/jdk…

鸿蒙OS开发案例:【API9】遍历沙漏文件夹并输入文件的大小

1.获取打印文件大小 /*** 获取打印文件大小*/static getFileSize(byteNum: number) {if (byteNum < 0) {return "shouldnt be less than zero!";} else if (byteNum < 1024) {return ${byteNum.toFixed(3)}B;} else if (byteNum < 1048576) {return (byteNu…

ATE新能源汽车充电桩自动测试系统的原理

ATE新能源汽车充电桩自动测试系统&#xff0c;是新能源汽车产业链中不可或缺的一环。该系统以自动化、智能化为特点&#xff0c;通过精确控制测试流程&#xff0c;实现对充电桩各项性能的全面评估&#xff0c;从而确保充电桩的安全性与可靠性。下面&#xff0c;我们将深入探讨A…

GitHub推送远程仓库详细教程

一、在远程新建一个仓库 二、在工作区初始化并提交到版本库 三、连接到远程仓库地址进行推送 四、推送到其他分支 4.1 新建其他分支 4.2 新建文件进行提交 4.3 将文件推送到其他分支 4.4 推送成功演示 4.5 连接远程跟踪分支&#xff0c;方便提交 4.6 直接push展示 五、其他 5…

江协STM32:点亮第一个LED灯和流水灯

很多单片机都是高电平弱驱动&#xff0c;低电平强驱动&#xff0c;所以这里是低电平有效 点亮一个LED灯 操作STM32的GPIO需要三个操作&#xff1a; 第一个使用RCC开启GPIO的时钟 第二步使用GPIO_Init函数初始化GPIO 第三步使用输出或输入函数控制GPIO 1.使用RCC开启GPIO的时…

政安晨:【深度学习神经网络基础】(一)—— 逐本溯源

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: 政安晨的机器学习笔记 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 与计算机一样的古老历史 神经网络的出现可追溯到20世纪40年…

【有限状态机】- FSM详细讲解 【附Autoware有限状态机模型代码讲解】

参考博客&#xff1a; &#xff08;1&#xff09;FSM&#xff08;有限状态机&#xff09; &#xff08;2&#xff09;关于有限状态机(FSM)的一些思考 &#xff08;3&#xff09;状态设计模式 1 状态机简介 有限状态机FSM&#xff1a;有限个状态以及在这些状态之间的转移和动作…

对比HTTP与WebSocket

目录 对比HTTP与WebSocket1. HTTP协议概述2. WebSocket协议概述3. HTTP与WebSocket的区别4. 使用场景比较5. 性能比较6. 安全性比较7. 应用案例分析8. 总结与展望 对比HTTP与WebSocket 1. HTTP协议概述 1.1 HTTP的基本概念 HTTP&#xff08;Hypertext Transfer Protocol&…

基于Java实现宠物领养救助交流平台设计和实现

基于Java实现宠物领养救助交流平台设计和实现 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取源码联…

腾讯云4核8g服务器多少钱?轻量和CVM收费价格表2024年最新

2024年腾讯云4核8G服务器租用优惠价格&#xff1a;轻量应用服务器4核8G12M带宽646元15个月&#xff0c;CVM云服务器S5实例优惠价格1437.24元买一年送3个月&#xff0c;腾讯云4核8G服务器活动页面 txybk.com/go/txy 活动链接打开如下图&#xff1a; 腾讯云4核8G服务器优惠价格 轻…

RabbitMQ简单介绍

什么是消息队列 消息队列是一种在应用程序之间传递消息的通信模式。它提供了一种异步的、可靠的方式来处理分布式系统中的消息传递。在消息队列中&#xff0c;消息发送者&#xff08;Producer&#xff09;将消息发送到队列&#xff08;Queue&#xff09;中&#xff0c;而消息接…

R语言 | 上下双向柱状图

1. 效果图 2. 代码 # 生成测试数据 difdata.frame(labelspaste0("pathway", 1:3),upc(30,15,1),downc(10,20,40) ) rownames(dif)dif$labels dif#变形 difreshape2::melt(dif) dif# 绘图 ggplot(dif, aes(xlabels, yifelse(variable"up", value, -value), …

ubuntu 中安装docker

1 资源地址 进入ubuntu官网下载Ubuntu23.04的版本的镜像 2 安装ubuntu 这里选择再Vmware上安装Ubuntu23.04.6 创建一个虚拟机&#xff0c;下一步下一步 注意虚拟机配置网络桥接&#xff0c;CD/DVD选择本地的镜像地址 开启此虚拟机&#xff0c;下一步下一步等待镜像安装。 3…

边缘计算迎来“量子飞跃”!支持抗量子密码,AMD推出FPGA新系列

3月6日&#xff0c;AMD宣布推出AMD Spartan™ UltraScale™ FPGA系列&#xff0c;这是AMD成本优化FPGA和自适应SoC广泛产品组合的最新成员。 距离1月22日&#xff0c;AMD推出业界首款符合VESA DisplayPort 2.1标准的FPGA和自适应SoC实现&#xff0c;也才过了一个多月的时间。 S…