发布时间:2023-01-12 23:30
数据同步是每个大数据人都绕不开的工作,因为大数据的存储组件太多了,数据常常因为各种需求需要从一个地方导到另一个地方,如果是数据量小,可能我们写个普通的脚本就可以完成,但是大数据的场景下,我们不得不借助一些工具来达到我们同步海量数据的目的。说实话 ETL 工具实在是太多了,而且很多都可以满足我们日常的数据同步需求,所以这里不可能罗列所有的技术出来,主要是从场景的角度来说明,因为这一块的内容,面试官更关注的是场景。
本篇面试内容划重点:离线同步、增量同步、实时同步、数据预处理。
离线数据同步也叫做批量同步,是大数据非常常见的场景,数据源一般为数据库或者日志文件,针对这个场景只列举两个比较常用的同步组件:阿里开源的数据同步组件 Datax、Apache 的老牌项目 Sqoop。它们功能相似,但是实现上有很大的区别。
Datax
Datax 目前的开源版本是单机多线程的版本,任务提交后 DataX 会将提交的 Job 分成多个小的 Task(子任务),以便于并发执行,小 Task 组成 TaskGroup 以方便管理,具体的 Task 任务是由线程来执行的,Job 会监控并等待多个 TaskGroup 模块任务完成,等待所有 TaskGroup 任务完成后 Job 成功退出。所以 Datax 在设计上其实还是比较轻量级的,而且它的 Reader 和 Writer 的接口非常友好,很适合二次开发,由开发者自定义读和写的存储介质。
孪生网络图像相似度_文本蕴含之孪生网络(Siamese Network)
城市土地利用分布数据/城市功能区划分布数据/城市poi感兴趣点/植被类型分布
[C/C++]详解STL容器7--红黑树的介绍及部分模拟实现
net framework 3.5怎么安装 net framework 3.5无法安装怎么办
瑞德西韦成为首个获美国FDA批准新冠药物;蚂蚁集团与马来西亚最大货币服务运营商之一建立合作伙伴关系 | 美通企业日报...
java开源问卷调查系统源码_高效实用!开源调研问卷系统 DWSurvey,基于 JAVA WEB 开发...