发布时间:2023-01-12 23:30
数据同步是每个大数据人都绕不开的工作,因为大数据的存储组件太多了,数据常常因为各种需求需要从一个地方导到另一个地方,如果是数据量小,可能我们写个普通的脚本就可以完成,但是大数据的场景下,我们不得不借助一些工具来达到我们同步海量数据的目的。说实话 ETL 工具实在是太多了,而且很多都可以满足我们日常的数据同步需求,所以这里不可能罗列所有的技术出来,主要是从场景的角度来说明,因为这一块的内容,面试官更关注的是场景。
本篇面试内容划重点:离线同步、增量同步、实时同步、数据预处理。
离线数据同步也叫做批量同步,是大数据非常常见的场景,数据源一般为数据库或者日志文件,针对这个场景只列举两个比较常用的同步组件:阿里开源的数据同步组件 Datax、Apache 的老牌项目 Sqoop。它们功能相似,但是实现上有很大的区别。
Datax
Datax 目前的开源版本是单机多线程的版本,任务提交后 DataX 会将提交的 Job 分成多个小的 Task(子任务),以便于并发执行,小 Task 组成 TaskGroup 以方便管理,具体的 Task 任务是由线程来执行的,Job 会监控并等待多个 TaskGroup 模块任务完成,等待所有 TaskGroup 任务完成后 Job 成功退出。所以 Datax 在设计上其实还是比较轻量级的,而且它的 Reader 和 Writer 的接口非常友好,很适合二次开发,由开发者自定义读和写的存储介质。
网络编程(三):Linux 网络IO模型、select、pool、epoll 内核设计
SSM框架基于JavaWeb在线投票系统的设计与实现源码+论文+ppt+代码讲解视频+安装视频(包安装)
在linux开发板上编译程序的代码,建立交叉编译环境和在开发板上实现第一个嵌入式Linux应用程序...
第 3 章 Ajax 动态请求破解(3.1 Ajax 简介、网页翻页方式的对比)
【Azure 应用服务】App Service 开启了私有终结点(Private Endpoint)模式后,如何来实现公网Git部署呢?
5天学会mysql_5天学完《MySQL必知必会》学习笔记之第四天
Anaconda+PytorchGPU版本+CUDA+CUNN的下载与安装使用