8款数据迁移工具选型,主流且实用

news2024/11/18 1:31:17

前言:ETL(是Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业应用来说,我们经常会遇到各种数据的处理、转换、迁移的场景。今天特地给大家汇总了一些目前市面上比较常用的ETL数据迁移工具,希望对你会有所帮助。

一、Kettle

Kettle是一款国外开源的ETL工具,纯Java编写,绿色无需安装,数据抽取高效稳定 (数据迁移工具)。

Kettle 中有两种脚本文件,transformation 和 job,transformation 完成针对数据的基础转换,job 则完成整个工作流的控制。

Kettle 中文名称叫水壶,该项目的主程序员 MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
在这里插入图片描述
Kettle 这个 ETL 工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。

在这里插入图片描述
Kettle 家族目前包括 4 个产品:Spoon、Pan、CHEF、Kitchen。

  • SPOON:允许你通过图形界面来设计 ETL 转换过程(Transformation)。

  • PAN:允许你批量运行由 Spoon 设计的 ETL 转换 (例如使用一个时间调度器)。Pan 是一个后台执行的程序,没有图形界面。

  • CHEF:允许你创建任务(Job)。任务通过允许每个转换,任务,脚本等等,更有利于自动化更新数据仓库的复杂工作。任务通过允许每个转换,任务,脚本等等。任务将会被检查,看看是否正确地运行了。

  • KITCHEN:允许你批量使用由 Chef 设计的任务 (例如使用一个时间调度器)。KITCHEN 也是一个后台运行的程序。

二、Datax

DataX是阿里云 DataWorks数据集成的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。

DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
在这里插入图片描述
设计理念:为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,只需要将此数据源对接到DataX,便能跟已有的数据源做到无缝数据同步。

当前使用现状:DataX在阿里巴巴集团内被广泛使用,承担了所有大数据的离线同步业务,并已持续稳定运行了6年之久。目前每天完成同步8w多道作业,每日传输数据量超过300TB。

DataX本身作为离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。

**加粗样式**

DataX 3.0 开源版本支持单机多线程模式完成同步作业运行,本小节按一个DataX作业生命周期的时序图,从整体架构设计非常简要说明DataX各个模块相互关系。

加粗样式
DataX 3.0六大核心优势:

  • 可靠的数据质量监控
  • 丰富的数据转换功能
  • 精准的速度控制
  • 强劲的同步性能
  • 健壮的容错机制
  • 极简的使用体验

三、DataPipeline

DataPipeline采用基于日志的增量数据获取技术( Log-based Change Data Capture ),支持异构数据之间丰富、自动化、准确的语义映射构建,同时满足实时与批量的数据处理。

可实现 Oracle、IBM DB2、MySQL、MS SQL Server、PostgreSQL、GoldenDB、TDSQL、OceanBase 等数据库准确的增量数据获取。

平台具备“数据全、传输快、强协同、更敏捷、极稳定、易维护”六大特性。

在支持传统关系型数据库的基础上,对大数据平台、国产数据库、云原生数据库、API 及对象存储也提供广泛的支持,并在不断扩展。

DataPipeline 数据融合产品致力于为用户提供企业级数据融合解决方案,为用户提供统一平台同时管理异构数据节点实时同步与批量数据处理任务,在未来还将提供对实时流计算的支持。

采用分布式集群化部署方式,可水平垂直线性扩展的,保证数据流转稳定高效,让客户专注数据价值释放。
在这里插入图片描述
产品特点:

  • 全面的数据节点支持:支持关系型数据库、NoSQL数据库、国产数据库、数据仓库、大数据平台、云存储、API等多种数据节点类型,可自定义数据节点。

  • 高性能实时处理:针对不同数据节点类型提供TB级吞吐量、秒级低延迟的增量数据处理能力,加速企业各类场景的数据流转。

  • 分层管理降本增效:采用“数据节点注册、数据链路配置、数据任务构建、系统资源分配”的分层管理模式,企业级平台的建设周期从三到六个月减少为一周。

  • 无代码敏捷管理:提供限制配置与策略配置两大类十余种高级配置,包括灵活的数据对象映射关系,数据融合任务的研发交付时间从2周减少为5分钟。

  • 极稳定高可靠:采用分布式架构,所有组件均支持高可用,提供丰富容错策略,应对上下游的结构变化、数据错误、网络故障等突发情况,可以保证系统业务连续性要求。

  • 全链路数据可观测:配备容器、应用、线程、业务四级监控体系,全景驾驶舱守护任务稳定运行。自动化运维体系,灵活扩缩容,合理管理和分配系统资源。

四、Talend

Talend (踏蓝) 是第一家针对的数据集成工具市场的 ETL (数据的提取 Extract、传输 Transform、载入 Load) 开源软件供应商。
在这里插入图片描述
Talend 以它的技术和商业双重模式为 ETL 服务提供了一个全新的远景。它打破了传统的独有封闭服务,提供了一个针对所有规模的公司的公开的,创新的,强大的灵活的软件解决方案。

五、DataStage

DataStage,即IBM WebSphere DataStage,是一套专门对多种操作数据源的数据抽取、转换和维护过程进行简化和自动化,并将其输入数据集市或数据仓库目标数据库的集成工具,可以从多个不同的业务系统中,从多个平台的数据源中抽取数据,完成转换和清洗,装载到各种系统里面。

其中每步都可以在图形化工具里完成,同样可以灵活地被外部系统调度,提供专门的设计工具来设计转换规则和清洗规则等,实现了增量抽取、任务调度等多种复杂而实用的功能。其中简单的数据转换可以通过在界面上拖拉操作和调用一些 DataStage 预定义转换函数来实现,复杂转换可以通过编写脚本或结合其他语言的扩展来实现,并且 DataStage 提供调试环境,可以极大提高开发和调试抽取、转换程序的效率。

Datastage 操作界面
产品特点:

  • 对元数据的支持:Datastage是自己管理Metadata,不依赖任何数据库。

  • 参数控制:Datastage 可以对每个 job 设定参数,并且可以 job 内部引用这个参数名。

  • 数据质量:Datastage有配套用的ProfileStage和QualityStage,保证数据质量。

  • 定制开发:提供抽取、转换插件的定制,Datastage内嵌一种类BASIC语言,可以写一段批处理程序来增加灵活性。

  • 修改维护:提供图形化界面。这样的好处是直观、傻瓜式的;不好的地方就是改动还是比较费事(特别是批量化的修改)。

Datastage 包含四大部件:

  • Administrator:新建或者删除项目,设置项目的公共属性,比如权限。
  • Designer:连接到指定的项目上进行 Job 的设计;
  • Director:负责 Job 的运行,监控等。例如设置设计好的 Job 的调度时间。
  • Manager:进行 Job 的备份等 Job 的管理工作。

六、Sqoop

Sqoop 是 Cloudera 公司创造的一个数据同步工具,现在已经完全开源了。

目前已经是 hadoop 生态环境中数据迁移的首选 Sqoop 是一个用来将 Hadoop 和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 :MySQL 、Oracle 、Postgres 等)中的数据导入到 Hadoop 的 HDFS 中,也可以将 HDFS 的数据导入到关系型数据库中。
在这里插入图片描述
他将我们传统的关系型数据库 | 文件型数据库 | 企业数据仓库 同步到我们的 hadoop 生态集群中。

同时也可以将 hadoop 生态集群中的数据导回到传统的关系型数据库 | 文件型数据库 | 企业数据仓库中。

那么 Sqoop 如何抽取数据呢?

  • 首先 Sqoop 去 rdbms 抽取元数据。
  • 当拿到元数据之后将任务切成多个任务分给多个 map。
  • 再由每个 map 将自己的任务完成之后输出到文件。

在这里插入图片描述

七、FineDataLink

FineDataLink是国内做的比较好的ETL工具,FineDataLink是一站式的数据处理平台,具备高效的数据同步功能,可以实现实时数据传输、数据调度、数据治理等各类复杂组合场景的能力,提供数据汇聚、研发、治理等功能。

FDL拥有低代码优势,通过简单的拖拽交互就能实现ETL全流程。

在这里插入图片描述
FineDataLink——中国领先的低代码/高时效数据集成产品,能过为企业提供一站式的数据服务,通过快速连接、高时效融合多种数据,提供低代码Data API敏捷发布平台,帮助企业解决数据孤岛难题,有效提升企业数据价值。

八、canal

canal [kə’næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。
在这里插入图片描述
早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。

基于日志增量订阅和消费的业务包括:

  • 数据库镜像
  • 数据库实时备份
  • 索引构建和实时维护(拆分异构索引、倒排索引等)
  • 业务cache刷新
  • 带业务逻辑的增量数据处理

当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.x , 5.7.x , 8.0.x。
在这里插入图片描述

  • MySQL master 将数据变更写入二进制日志( binary log, 其中记录叫做二进制日志事件binary log events,可以通过 show binlog events 进行查看)。

  • MySQL slave 将 master 的 binary log events 拷贝到它的中继日志(relay log)。

  • MySQL slave 重放 relay log 中事件,将数据变更反映它自己的数据。

canal 工作原理:

  • canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议。

  • MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal )。

  • canal 解析 binary log 对象(原始为 byte 流)

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

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

相关文章

什么是B/S架构?

目录 一.什么是B/S架构? 二.B/S架构与C/S架构有什么区别? 三.B/S架构的优缺点 四.B/S架构的几种形式 1:客户端-服务器-数据库 2:客户端-web服务器-应用服务器-数据库 3:客户端…

4个方法助你从戴尔笔记本电脑D盘中恢复丢失的文件

用户案例: 案例1:我有一台戴尔笔记本电脑,D盘上存储了很多个人照片和视频,但最近不知道什么原因,这些数据突然全部消失了。因为这些数据是我珍贵的回忆。所以想问问大家戴尔电脑丢失d盘文件怎么恢复? 案例2…

网络中的网关和物联网的网关区别 局域网 路由器 交换机 服务器

网关:是个概念。连接两种不同的网络。例如局域网要与外部通信,需要经过网关。 设备和设备之间的通信,转换协议需要网关 路由器里有功能是对网关这个概念的实现。 所以网关它可以是路由器,交换机或者是PC。 路由器有网关功能&a…

Flink-Scala版学习——转换算子

目录 一、基本转换算子 1.map 2.filter 3.flatMap 3.聚合算子Aggregation (1)keyBy (2)简单聚合:sum、min、minBy、max、maxBy (3)归约聚合:reduce 二、UDF 三、富函数类 四、物理分区 1.随机分区(shuffle) 2. 轮询分区(Round-R…

4月20日第壹简报,星期四,农历三月初一,谷雨

4月20日第壹简报,星期四,农历三月初一,谷雨坚持阅读,静待花开1. 已致29人死亡,26人为患者!北京长峰医院火灾事故因院内施工作业火花引发,院长王某玲等12人被刑拘。2. 海南发布旅游产品参考价格&…

第二十三章 案例TodoList之数据更新

本小节,我们要实现点击复选框,修改任务项的实时状态,但是Item组件和App组件是祖孙关系,不是父子关系,我们还能使用props进行通信吗?答案是可以的。 在App组件定义一个更新的函数并传递给Item组件 1、定义…

车载网络 - Autosar网络管理 - 网络管理报文

三、网络管理报文 NM报文的ID一般定义为:基础ID源地址,每个节点应分配一个唯一的标识符(ECU地址)Node_ID,网络管理报文一般会统一一个基地址,这个是根据主机厂不同而不同,有些是用0x400 - 0x4FF…

多通道振弦传感器无线采集仪如何外接数字传感器

多通道振弦传感器无线采集仪如何外接数字传感器 数字传感器的数据接入逻辑 VS 设备支持在 RS485 接口外接数字传感器, 可进行单类型、多类型数字传感器接入。 单类型数字传感器:使用寄存器 DS_SENSOR(282)来设置单类型数字传感器的类型和数量&#xff08…

用Flutter开发一款企业级App(开眼Flutter-OpenEye)

先贴项目地址:WinWang/open_eye: Flutter 开眼APP:整体项目架构基于Getx搭建,完成路由,依赖注入;网络请求框架基于RetrofitDio实现,配合官方JsonSerialize实现解析;封装项目页面多状态&#xff…

新媒体运营团队如何协同工作?

随着媒体形式的不断丰富和演变,社交、短视频等软件的盛行,新媒体运营成为近几年新兴的行业。 在新媒体团队工作过程中可能会遇到以下问题: 1)热点不断更迭,文档资料需要快速流通; 2)通过传统的…

US-DAPQ比例放大器指令接线

序号 端子名称 功能 1 CMD_P 压力阀指令 2 CMD_P- 压力阀指令- 3 CMD_Q 流量阀指令 4 CMD_Q- 流量阀指令- 5/6 N.C. 不接 7 VREF_5V 参考电压5V 8 VREF_0V 参考电压0V 9 SOL_P 压力阀线圈 10 SOL_P- 压力阀线圈 11 PWR 电源 12 PWR- 电源- 13 SOL_Q- 流量阀线圈 1…

mysql知识

1.执行步骤 2.Write-Ahead Logging 技术 这两种日志有以下三点不同。 ①redo log 是 InnoDB 引擎特有的;binlog 是 MySQL 的 Server 层实现的,所有引擎都可以使用。 ②redo log 是物理日志,记录的是“在某个数据页上做了什么修改”&#x…

【Linux】项目自动化构建工具 —— make/Makefile

前言: 在上一期的博文中,我们对 Linux 下的编译器 - gcc/g的使用进行了详细的讲解,今天我将给大家讲解的是关于 【Linux】项目自动化构建工具 —— make/Makefile 的详细使用教程!! 本文目录 (一&#x…

ai智能文章生成器-ai论文写作

在数字时代,营销推广策略已经向数字化方向发展。今天我们要介绍的是一款名为“智能ai写作免费”的软件,它可以让营销人员轻松地创作新的内容,并且其中不需要过多的技术知识或文学背景。这款软件可以为许多企业和机构带来创造性的帮助。 智能A…

婴幼儿口水巾围兜出口美国CPC认证

婴幼儿口水巾、围兜在美国销售需要办理CPC认证,即儿童安全产品证书。 什么是CPC认证?美国亚马逊儿童玩具和儿童用品CPC认证是指颁发书面儿童产品证书(CPC、,其中制造商或进口商证明其儿童产品符合所有适用的儿童产品安全规则。儿童…

被盗的ChatGPT账户在暗网热销,ChatGPT的隐私和安全问题依旧值得关注

在过去的一个月,Check Point研究人员在暗网上观察到了与ChatGPT相关的各种讨论和交易。暗网上最新的活动包括泄露和免费发布ChatGPT账户的凭据,以及交易被盗的ChatGPT账户。 根据Check Point进行的一项研究,从今年3月以来,被盗的…

QPSK调制解调FPGA实现成果展示:

目录 QPSK调制解调使用参数: 调制: 解调: FPGA工程架构: 仿真参数: 仿真展示: 调制: 解调: MATLAB星座图展示: QPSK调制解调使用参数: 采样率为4M&…

Revit插件 | 建模助手下半年规划大揭秘!

​hi,这里是建模助手。 在上周推送『建模助手年度版本大更新』后,很多盆友和我们反馈这次的升级,真被细节打动。 版本的兼容性更给力了,避免了某版本的Revit不可用的现象; 有求必应板块更细致了,新增了阶…

breakpad编译指南(Windows)

在编译breakpad时候,遇到各种各样的问题,做些记录,以便后续参考 Windows下已有SetUnhandledExceptionFilter可以抓取dmp,为什么还要研究breakpad?因为breakpad是跨平台的,相关资料参考如下: 02…

迅为i.MX6ULL开发板I2C总线实现driver驱动

上一章节我们写了 client.c,并且我们已经成功地把它加载到内核里面。i2c 用非设备树实现,我们需要 用 i2c_board_info 这个结构体来描述我们的 i2c 设备,如果我们用设备树的方法来实现,我们直接在设备树 的节点下面添加创建对应设…