ETL公用模块设计(MongoDB + spark + Python)

--数据库架构师 之路

场景: 通过ETL流程收集 ,不同的数据源 数据,并放到ods层里。

技术选型:MongoDB + spark + Python

主要考虑行业的复杂度,还有不同的数据来源数据(包含 txt,jpg,excel,rmdb)

后期分析所需要的开发资源,内存计算,有效的发挥DBA 脚本能力。

 

设计:整体通过配置中心的 进行任务调度,可能有人会问题为什么不用到一些 调度插件像airflow 等等。

主要考虑到跨服务器远程抽取,远程插入 等操作。一般这样的插件都需要服务器之间的ssh认证(客户服务器是不可允许的)。

说明:etl设计里核心部分 是配置中心和清洗规则接口的定义

配置中心:提供原和目标 数据库信息,对应的表 ,columns 信息,还有清洗规则,schedule 调度配置

代码:python pandas 集合处理

逻辑:数据修复过程(暂时不考虑)

分析:pandas 分析 留到后面共享

设计如下:

ETL公用模块设计(MongoDB + spark + Python)_第1张图片

你可能感兴趣的:(数据库架构)