星环TDH数据库批量生成表和存储过程

  1. 环境准备
    安装python环境:解压 ,然后设置环境变量。把ETL文件夹放到本地

  2. ETL文件夹以及脚本说明
    路径D:\ETL\genproc下是各种运行的Python脚本。
    路径D:\ETL\model\TDH下是生成各类表以及存储过程的算法模板。下面会对各种算法模板有详细说明。
    路径D:\ETL\etc下的config.yaml是配置相应的excel模板名。
    路径D:\ETL\dbdata\excel下是excel模板,用来填相应的表结构和存储过程mapping。
    路径D:\ETL\code\TDH\table下保存的是生成建表语句脚本。
    路径D:\ETL\code\TDH\sp下保存的是生成存储存储脚本

  3. EXCEL模板说明
    这里有两种excel模板,ELK_single_mapping-SDM04244-0507.xlsx是生成表和单表存储过程(一对一)的模板。以下是对该excel中各个sheet页的说明.
    sheet名为”配置元素”是对元素进行定义的,算法模板里生成表和存储过程都依赖这里定义的元素,也就是算法模板里的变量是由元素拼接来的。根据元素的定义可以取到相应的表名和字段名。举例如下:
    在这里插入图片描述

Sheet名为“加载策略”是对各个算法模板的说明,其中ETL策略,是对算法模板的命名,例如:
在这里插入图片描述

Sheet名为“表级”是需要对所建的表进行相应的表级维护,包括:系统代码,数据库类型,目标层次, 依赖层次,依赖表名,加载策略,目标表名,目标表中文名,分区类型,表类型(TDH/ELK),分桶/分布键,分桶/个数,分区键,根据所建的表类型进行相应的维护,例如:
在这里插入图片描述
注意:上图中的加载策略,填写的是单表存储过程的加载策略名,表类型那一列填写的是建表的类型名。依赖表名那一列是存储过程中的来源表。

Sheet名为“字段级”是需要对所建的表进行字段级的维护。包括: 目标层次,目标表英文名称,目标表中文名称,字段序号,源系统字段英文名称,字段中文名称,源系统字段类型,字段英文名称,字段类型,是否可为空,是否PK,清洗转换规则,目标字段映射规则,是否转码等列名。例如:
在这里插入图片描述

注:其中是否转码列,如果需要转码则需要填Y。

ELK_MULT_MAPPING-FDM0427shijian-20180503.xlsx是生成多表存储过程的模板。需要填相应的mapping。以下是对该excel中各个sheet页的说明:
Sheet名为”配置元素”以及”加载策略”,和上面描述的一样。
Sheet名为”任务列表”是对存储过程名以及加载策略的配置。举例如下:
在这里插入图片描述

注:任务名这一列就是存储过程名.

  1. 批量建表步骤。
    (1) 按照例子维护好excel模板
    (2) Windows+R打开CMD命令窗口,进入python脚本所在的文件夹。
    在这里插入图片描述

(3).执行命令:python Cre_Init_Tab.pyc
在这里插入图片描述

(4).然后执行命令: python pub_gen_ddl.pyc。到此为止建表语句完成.生成的SQL语句在D:\ETL\code\TDH\table目录下
在这里插入图片描述

  1. 批量建单表存储过程步骤。
    (1) 在建表后的基础上执行:python pub_gen_omsp.pyc
    在这里插入图片描述
    6、批量建多表存储过程步骤
    执行命令(初始化知识库):python Cre_Init_Tab.pyc
    在这里插入图片描述

在执行上面命令后的基础上执行: python pub_gen_imsp.pyc
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值