ETL 常用工具对比和选型

发布时间:2023-07-05 18:30

数据同步是每个大数据人都绕不开的工作,因为大数据的存储组件太多了,数据常常因为各种需求需要从一个地方导到另一个地方,如果是数据量小,可能我们写个普通的脚本就可以完成,但是大数据的场景下,我们不得不借助一些工具来达到我们同步海量数据的目的。说实话 ETL 工具实在是太多了,而且很多都可以满足我们日常的数据同步需求,所以这里不可能罗列所有的技术出来,主要是从场景的角度来说明,因为这一块的内容,面试官更关注的是场景。

本篇面试内容划重点:离线同步、增量同步、实时同步、数据预处理。

离线同步场景

离线数据同步也叫做批量同步,是大数据非常常见的场景,数据源一般为数据库或者日志文件,针对这个场景只列举两个比较常用的同步组件:阿里开源的数据同步组件 Datax、Apache 的老牌项目 Sqoop。它们功能相似,但是实现上有很大的区别。

Datax

Datax 目前的开源版本是单机多线程的版本,任务提交后 DataX 会将提交的 Job 分成多个小的 Task(子任务),以便于并发执行,小 Task 组成 TaskGroup 以方便管理,具体的 Task 任务是由线程来执行的,Job 会监控并等待多个 TaskGroup 模块任务完成,等待所有 TaskGroup 任务完成后 Job 成功退出。所以 Datax 在设计上其实还是比较轻量级的,而且它的 Reader 和 Writer 的接口非常友好,很适合二次开发,由开发者自定义读和写的存储介质。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号