基于shell+datax+DophinScheduler的ETL数据同步最佳实践
一.数据背景
某项目需定期同步阿里云上OSS文件至数仓库,OSS文件描述:
|
oss path:oss://{oss地址}/member/${date}/{分段后结果}.csv 数据文件是否有表头: YES 数据文件格式: CSV 数据文件字段分割符: \u0001 数据文件行分割: \r\n 数据文件编码(字符集): UTF-8无BOM格式编码 |
二.技术架构

三.环境部署
3.1 dophinscheduler 部署
官方部署文档:https://dolphinscheduler.apache.org/zh-cn/docs/3.4.2/guide/installation/standalone
自行部署或请infra 部署,建议infra部署,因涉及防火墙端口开放等一系列权限配置;
3.2 DATAX部署
下载地址:https://github.com/alibaba/DataX
部署步骤:datax.tar.gz 解压存放倒/opt/datax;
3.3 ossutil 部署
具体实现
4.1 SYNC shell 开发
结构目录:(开发的源代码包:
)

结构目录介绍
bins:oss单一及批量下载shell 脚本;csv
导入 pgsql 单一及批量下载shell 脚本;
Confs:下载及导入文件配置文件,可控制同步的文件;
Datas: 存放同步的文件;
Jobs: 存放各个文件导入的datax.json配置文档;
Tmps:中间处理临时缓存文件夹;
Logs:存放下载及导入的每个每个日志;
Tools: 常用工具shell
4.2 数仓开发
数仓schema结构:

Da_ods 处理过程:
Da_dwd 处理过程:
4.3 dp 调度配置
环境变量配置
调度配置

平凡之路

浙公网安备 33010602011771号