星環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
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章