基于shell+datax+DophinScheduler的ETL数据同步最佳实践

 

一.数据背景

某项目需定期同步阿里云上OSS文件至数仓库,OSS文件描述:

oss path:oss://{oss地址}/member/${date}/{分段后结果}.csv

数据文件是否有表头: YES

数据文件格式: CSV

数据文件字段分割符: \u0001

数据文件行分割:  \r\n

数据文件编码(字符集): UTF-8无BOM格式编码

二.技术架构

 

image

 

三.环境部署

 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 部署

官方部署文档:https://help.aliyun.com/zh/oss/developer-reference/ossutil-overview/?spm=a2c4g.11186623.0.0.3e142415hPPXI2#2a4b2fbc2f0a3

 

具体实现

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 调度配置

环境变量配置

 

调度配置

 

posted @ 2026-07-14 11:26  [行者]  阅读(0)  评论(0)    收藏  举报