全量数据同步
针对数据增长缓慢、非核心业务相关、无时间戳、无增删改标识、数据量低于十万条的明细表数据,以及码表、维度表等数据,采用全量同步的方式接入数管平台,并存放在贴源层的全量表内。数据初始化全量同步是指第一次从业务源库中采用全量同步的方式获取一次数据。
- 确定数据源
通过调研获取IT系统以及数据字典信息,从调研结果中确认数据来源系统。
- 目标库手动建表
根据需要的表和字段,在MRS-Hive数据库中建立相应的库和表
表及字段的命名规范为:ods_源系统简写_源系统表名_{TYPE简码},全量表的type简码为f,所有的表名称及字段名称小写
标准字段:ext_etl_dt (ETL时间),ext_src_sys_id(源系统标识),dt、ph(分区字段)
表的其他要求:采用ORC存储格式和SNAPPY压缩;
在数管平台的“数据开发”模块,选择MRS_Spark_Agent数据连接和ods_mes_bc数据库,执行对应的DDL,创建以_f结尾的全量表。
- 新建CDM连接
入口路径:一体化数据基础平台控制台 > 数据集成
在“集群管理”标签页面,单击“作业管理”进入集成作业作业管理页面
图1 新建CDM连接
单击“连接管理”标签,进入新建和编辑连接的界面,这里配置CDM产品访问源库的权限,主要包括源端数据库和目的端数据库的类型,地址、端口、账号、密码等。
第一步:创建源端(Oracle)的数据连接(如果已创建,则跳过)
第二步:创建目的端(MRS-Hive)的数据连接(如果已创建,则跳过)
数据库连接配置成功后测试连通性,测试成功即配置完成。
第一步:源端数据连接的连通性测试
第二步:目的端数据连接的连通性测试
- 新建CDM作业
打开“表/文件迁移”标签页,为便于作业管理,需要为作业创建分组,当前平台中已创建有MES_BC组用于存放所有来源于MES_BC数据源的数据迁移作业, MES数据源的迁移作业隶属于MES_BC作业组,单击MES_BC作业组后在页面右上角检索框中查询作业名称,如果无返回结果则单击页面左上角“新建作业”。
图2 新建CDM作业1
选择源端的库、表,并且选择目的端手动创建的表。
单击“下一步”,选择需要同步的表字段
图3 新建CDM作业2
添加标准字段
图4 新建CDM作业3
添加的标准字段的具体值如下:
表1 标准字段值 ext_etl_dt
${dateformat(yyyy-MM-dd HH:mm:ss)}
ext_src_sys_id
mes_bc
dt
to_char(sysdate,'yyyy-mm-dd')
选择作业分组,单击“保存”将保存作业;单击“保存并运行”将保存并启动作业。
图5 新建CDM作业4
- CDM作业手动执行
单击作业右侧的“运行”,单次运行作业。
图6 CDM作业手动执行
单击“历史记录”,可以看到历史运行记录及日志
图7 CDM作业手动执行2
- 全量同步ETL脚本开发
- 创建数据开发连接
入口路径:一体化数据基础平台控制台 > 管理中心
图8 创建数据开发连接1
登录一体化数据基础平台控制台,单击“管理中心”,创建数据开发的连接(如果已创建,则跳过)
单击“创建数据连接”,创建spark数据连接(MRS_Spark_Agent)
图9 创建数据开发连接2
测试连接的连通性
- 创建脚本
入口路径:一体化数据基础平台控制台 > 数据开发
单击“数据开发”,进入数据开发的界面,新建Spark SQL脚本
图10 创建脚本1
选择数据连接和数据库
图11 创建脚本2
添加表头注释
脚本开发
脚本测试(测试阶段可以把参数值换成具体的值进行测试,这里使用参数为了方便以后的作业调度)
测试完成后,单击“保存并提交版本”
按照脚本的命名规则命名,并选择对应的目录,单击“确定”