玉山金控CRV 部門實習week 5

David
David
Sep 2, 2018 · 2 min read

這一週進行的是Data Engineering 團隊的專案,DE 的專案分為兩個部分,為期兩週,第一部分為流程自動化與排程log 的血緣分析(Data Lineage Analysis)。DE 團隊在CRV 的定位就像是專屬CRV 部門的IT 部門,提供DA (Data Analysis) 團隊有關資料分析的各種協助,例如資料前處理、流程自動化等等,同時亦管理許多排程,這次的專案就是在流程自動化與排程管理的範疇內。

流程自動化的專案實作的是將excel 報表內的數字與圖表自動移植在word 的週報表樣板中,並結合排程每週定時產出報表並以email 通知相關人員,實作上沒有什麼問題,但因為excel 中的報表匯出需要使用win32com,此套件是將原VBA 的函式庫再包裝python 接口,所以Unix / Linux 系統是沒辦法使用的,所以mac 在這邊就幾乎無用武之地啦!好在小組成員有人是windows 使用者,才順利完成專案,或許一開始就決定直接讀取excel 報表中的數字再用matplotlib 等繪圖函式庫再製圖表會是更好的選擇。

排程的血緣管理則是從眾多SAS 系統的自動排程log 產出中,找出排程之間的相關性,以利後續的管理,例如當A 排程故障時,我們可以迅速知道哪些排程有直接或間接用到A 排程的產出,提前找出所有受影響的排程。一般資料庫都會有Data Lineage Analysis 的功能,進而協助使用者判斷資料的來源。而在SAS 中則沒有完善的血緣分析功能,所以這次專案主要是彌補這一塊。判斷排程的產出主要是根據SAS排程中的SQL 語法組成,先試著找出排程有使用到的table,並分為input table(from…) 與output(create table…),再進一步分析排程之間的相關性。

引用到的table 可以用字串比對處理,並不太難,但排程之間的相關性分析及搜尋就是比較複雜的工作了,除了暴力解外,可能可以想想建index 或是遞回來處理。

爬格子的兔子

生活的雜事……這是一隻兔子的碎碎念