Các bảng tại tầng STG

Một phần của tài liệu Xây dựng quy trình tích hợp dữ liệu ETL và xuất báo cáo cho hệ thống e banking tại NH TMCP công thương việt nam 758 (Trang 63)

3.3.2. Cấu trúc các bảng tại tầng ODS

- Cấu trúc các bảng trên khu vực ODS:

o IFS IB IDV REF HIST: bao gồm các dữ liệu từ bảng

IBS-BLCustomer nhưng dữ liệu tập trung tới thông tin đăng nhập.

o IFS IB IDV REF USR: bao gồm các dữ liệu được lấy từ bảng

IBS-BLCustomer và dữ liệu tập trung tới thông tin của khách hàng sử dụng dịch vụ.

o IFS USR LGN DTL: bao gồm dữ liệu được lấy từ bảng IBS-

CUSSESSIONLOG

o IFS IB CUS NON IDV MSTR: bao gồm dữ liệu từ bảng IBS-

BLENTERPRISE

IFS IB IDV REF USR HIST t INTNET_BNK_ID UkSTJNTNET-LGN UkST-MOBIL-LGN LAST-LGN-DT COB-DT SRC-SYS-CD UPDTD-BY UPDTD-DTM CUS-NBR SUPPER-USR-FLAG EMAIL-ADDR MBL-NBR MBR-TYP CU S-CH NG-STS LGN-USING SMS-OFFR-DT LAST-ACCS-CD-GENRATED SMS-STS MRTL-STS IFS USR LGN DTL COB-DT SRC-SYS-CD UPDTD-BY UPDTD-DTM USR-LGN-DTL-SR-KEY CUS-NBR ENTPRS-IDNTFTN-NBR CHNL CUS-TYP LOG-DT DURN N BR-OF-ACTNS SESN-ID

IFS IB IDV REF USR COB-DT SRC-SYS-CD UPDTD-BY UPDTD-DTM ■8 CUS-NBR ACCS-STS HOST-CUS-ID CUS-NM KL FRST-NM MID-NM LAST-NM BRTH-DT SUPPER-USR-FLAG CREA-DT GLOB-BRNCH-CD GEN USR-NM SVC-PKG-ID TAX-ID

IB CUS NON IDV MSTR IB IDV REF USR HIST UPDTD-BY UPDTD-DTM SVC-PKG-ID ENTPRS-EM Al LlD ENTPRS-TEL-NBR COB-DT SRC-SYS-CD If ENTPRS-ID NTFT N-N B R ENTPRS-NM ACCS-STS ENTPRS-FAX-NeR GLOB-BRNCH-CD CUS-CH NG-STS TAXJDNTFTN-NBR INDUS-SGMNT BUSS-REGISTATION-NBR ADMINJJSR-ACTN-CNT INTNET-BN K-U SR-ACTN-CNT

V IBJDV-REF-SR.KEY CUS-NBR LAST-INTNET-LGN LAST MOBIL LGN SU PPER-US R-FLAG EMAIL-ADD R MBL-NBR MBR-TYP C U S-CH NG-STS LAST-LGN-DT MRTL-STS SMS-OFFR-DT SMS-STS LAST-ACCS-C D-G EN RATED LGN.USING EFF-STRT-DT EFF-END-DT COB-DT SRC-SYS-CD UPDTD-BY UPDTD-DTM Y INTN ET-B N KJ D

IB IDV REF USR

UPDTD-BY UPDTD DTM COB-DT SRC-SYS-CD ĩ CUS-NBR ACCS STS HOST-CUSJ D CUS-NM FRST-NM MID-NM LAST-NM BRTH-DT SUPPER-USR-FLAG CREA-DT GLOB-BRNCH-CD GEN USR-NM SVC-PKG-ID TAX-ID USR LGN DTL SRC-SYS-CD ■ UPDTD BY UPDTD-DTM COB-DT USR-LG N-DTL-SR-KEY CUS NBR « ENTPRSJDNTFTN-NBR CHNL CUS TYP LOG-DT DURN NBR-OF-ACTNS LGN TVP SR KEY ___________________________________________ Hình 3.9. Các bảng tại tầng ODS 3.3.3. Cấu trúc các bảng tại tầngDWH

Hình 3.10. Các bảng tại tầngDWH

3.3.4. Cấu trúc các bảng tại tầngDM

- BRNCH_DIM: lưu trữ dữ liệu về các chi nhánh của ngân hàng

- TM_DIM: lưu trữ dữ liệu thời gian được phân cấp theo yêu cầu phía ngân hàng

- CHNL_DIM: lưu trữ dữ liệu về phương thức truy cập

- UTIL_PRD_DIM: lưu trữ dữ liệu về các dịch vụ, tiện ích

- CUS_AGE_GRP_DIM: lưu trữ dữ liệu về chỉ tiêu từng nhóm tuổi của khách hàng

- CUS_DIM: lưu trữ thông tin về khách hàng

- CUS_TYP_DIM: lưu trữ dữ liệu về loại khách hàng

- VTGE_DIM: lưu trữ dữ liệu về chỉ tiêu thời gian gắn bó của khách hàng

- LGN_TYP_DIM: lưu trữ dữ liệu về phương thức đăng nhập

Tên bảng Ý nghĩa bảng

COB_DT Ngày tải dữ liệu vào hệ thống UPDTD_BY Ghi lại tên job

UPDTD_DTM Ghi lại thời gian dữ liệu update lần cuối

Hình 3.11. Các bảng tại tầng DM

3.4. Xây dựng quá trình ETL cho phân hệ E-banking

3.4.1. Xây dựng ETL tại tầng STG

Hệ thống nguồn bao gồm các bảng được lưu trữ trên CSDL Oracle 12c. Dữ liệu tại hệ thống nguồn thơng qua q trình ETL được lưu trữ tại khu vực lưu trữ tạm thời. Việc lưu trữ dữ liệu tại STG sẽ tránh việc phải trích xuất lại từ các nguồn nếu có sự cố xảy ra khi load dữ liệu trực tiếp từ nguồn vào DWH. Đồng thời yêu cầu transform tại tầng này đều khá đơn giản khơng địi hỏi nhiều u cầu nghiệp vụ mà chỉ cần mapping 1-1 kéo trực tiếp trường thông tin tại các bảng source sang STG. Và bổ sung 3 trường dữ liệu mới trên các bảng tại tầng STG

Thiết kế job đẩy dữ liệu lên tầng STG

Do quá trình ETL tại tầng Source-STG đều khá đơn giản nên em sẽ trình bày demo tồn bộ q trình ETL trên một job. Và dùng parallel job để thiết kế quá trình ETL tại tầng này. Parallel job là một quy trình xử lý dữ liệu bao gồm các giai đoạn (stage) riêng lẻ, mỗi giai đoạn là 1 quy trình cụ thể. Ví dụ: một giai đoạn có thể trích xuất dữ liệu từ 1 nguồn dữ liệu, trong khi giai đoạn khác chuyển đổi nó. Các giai đoạn được liên kết với nhau bằng các linked. Tại tầng STG sử dụng 3 stage sau:

- Transformer stage: cho phép chuyển đổi dữ liệu, các chuyển đổi dữ liệu có

thể

đơn giản hoặc phức tạp và được áp dụng cho các cột thuộc tính riêng lẻ . Transformer stage sử dụng một tập hợp các function để hỗ trợ chuyển đổi dữ liệu

- Oracle connector: có chức năng kết nối với oracle database và ghi dữ liệu

Hình ảnh tồn bộ job chạy thành cơng tại tầng STG 1000 bản ghi từ nguồn được đẩy sang khu vực STG

Minh họa cấu hình thơng tin Unstructured Data stage của bảng IBS_BLENTERPRISE

Hình 3.13. Cấu hình thơng tin tại Unstructured Data stage

Mapping các cột từ nguồn vào các bảng STG trên transformer stage

σ ESTES’S SESAM= ACCXSSSTATUS √<M 4 ES TEFPH SEID /A* ⅛ FSTFS PC SFSAMF 3 ENTFWISFH* * MXtSSSTATUS « SERviCfPMXM i EHTERPRISED 3 EHTERPRtSEHA » ACCESSSTATU S

Hình 3.14. Mapping bảng BLENTERPRISE tại transformer stage

Cấu hình oracle connector kết nối tới bảng đích nhằm load dữ liệu gồm các thông tin kết nối tới Server, chế độ ghi dữ liệu là insert, hành động bảng là append

Hình 3.15. Cấu hình thơng tin tại Oracle connector

3.4.2. Xây dựng ETL tại tầng ODS

Tương tự như tầng STG, tầng ODS cũng mapping trực tiếp 1-1 giữa các bảng STG sang ODS. Chỉ khác các bảng ODS sẽ ít trường thơng tin hơn STG và tập trung xung quanh các trường thông tin hoạt động phục vụ cho việc báo cáo tầng trên. Tại ODS job được thiết kế sử dụng 2 stage là oracle connector và transformer stage.

Hình 3.17. Cấu hình thơng tin kết nối tới bảng dữ liệu tại STG

Hinh 3.18. Mapping bảng IBS_BLENTERPRISE tại transformer stage

3.4.3. Xây dựng ETL tại tầng DWH

Hình 3.20. Demo đẩy dữ liệu từ ODS lên DWH

- Vì 3 bảng IB IDV REF USR, USR LGN DTL, IB CUS NON IDV MSTR đều được xử lý SCD type 1 và quá trình mapping tại các cột đều là kéo 1-1 nên tại đây em trình bày thơng tin các stage sử dụng cho 3 bảng này như sau:

Cấu hình thơng tin của Oracle connector kết nối extract dữ liệu tại bảng IFS IBIDVREFUSR

INTNET-BNejD LASTJNneTJGN LASTjweiLJGN LASTJGNJJT COBJJT SRC-SYS-

CD UPDTD-BY UPOTD-PTM CUSjetUSRJLAG SUPPSt-

Xieccnb 2021-05-13 00:00:00 æs L-STG-

OOS 2021-05-13 13:45:22 1WO17O1630~

--------------------t>ι.<j BJJ-------------------------

19X82 1 hotf ago IhOtf ago 2021-05-1300:00:00 IBS L⅛TGJX>S 202105-13 13:45:22 1200290354 0

110639 Wmmtes X seconds 202105-13 00:00:00 IBS LwSTG-

OOS 202105-13 13:45:22 1401703969 0

123215 IOmmtes Smmtes (M) 202105-13 00:00:00 IBS L-STG-

OOS 2021-05-13 13:45:22 1400304X10 141180 Smmtcs Wmmtes 202105-1300:00:00 IBS LJ5TG-

OOS 2021-05-13 13:45:22 4000738760

178652 45 mmtes 2.5 hour a 202105-13 00:00:00 IBS L-STG-

OOS 202105-13 13:45:22 8∞2680970

174454 1 hotf ago 2 ShOtfa 202105-1300:00:00 IBS L-STG-

OOS 2021-05-13 13:45:22 20002300530

173515 IOmmtes 2,5hotf a 202105-1300:00:00 IBS L-JTG-

OOS 2021-05-13 13:45:22 1400706240 0 151806 Smmtes Wmmtes 202105-1300:00:00 IBS L-STG-

OOS 2021-05-13 13:45:22 1401178443 0 134501 Smmtn Wrnmtes 202105-1300:00:00 IBS L-STG- OOS 2021-05-13 13:45:22 16000439470 190926 IOmmtes Xseconds 202105-13 00:00:00 IBS L-STG-

OOS X2ỈO5-13 13:45:22 20003X369 0

138347 2,5hθtf a IhOtf ago Irxai 202105-13 00:00:00 IBS L-STG-OOS 2021-05-13 13:45:22 100007306 0

186944 IOmmtes 3hβtf ago 202105-1300:00:00 IBS L-STG-

OOS 2021-05-13 13:45:22 14009274700

Thông tin mapping các cột của bảng nguồn lên bảng đích tại tầng DWH

Hình 3.22. Mapping bảng IFS_IB_IDV_REF_USR tại transformer stage

Tại thông tin kết nối trên Oracle Connector chế độ ghi dữ liệu sẽ là Update and insert, hành động load là append như vậy dữ liệu được xử lý theo SCD type 1

Hình 3.23. Cấu hình Oracle connect kết nối load dữ liệu tại bảng IBID V_REF_ USR

- Duy nhất bảng IB_IDV_REF_USR_HIST tại tầng DWH được xử lý theo SCD type 2 nên tại đây em sẽ trình bày riêng cách xử lý type 2 tại bảng IB IDV REF USR HIST:

Hình 3.24. Hình ảnh job chạy cho bảng IB_IDV_REF_USR_HIST

Bảng nguồn (IFS_IB_IDV_REF_USR_HIST) left join với bảng đích (IB_IDV_REF_USR_HIST) thơng qua khóa INTNET_BNK_ID (đây là natural key). Khi đó sẽ xảy ra 2 trường hợp

- Neu cột INTNET_BNK_ID null thì bản ghi là bản ghi mới cần được insert vào bảng đích

- Neu cột INTNET_BNK_ID not null thì bản ghi cần được insert bản ghi mới và đồng thời update bản ghi cũ

Dữ liệu join từ 2 bảng đi qua Transformer stage sẽ xử lý mapping và chia ra dữ liệu theo 2 trường hợp như trên. Trường hợp dữ liệu được update thẳng vào bảng đích. Và trường hợp dữ liệu được insert mới cần thêm Surrogate stage để gen key tự động.

- Kết quả chạy thử dữ liệu - Dữ liệu trên bảng nguồn:

193002 1 hoư ago Ifar ago Irvfl 2021-05-1300:00:00 BS L-STG-

OOS 2021-05-1313:45:22 1200290354 0 110639 IOmnutet Xseeonds 2021-05-13 00:00:00 IBS LJTG-

OOS 2021-05-1313:45:22 1401703969 0 123215 IOncvtei Smrvtei 2021-05-13 00:00:00 BS LJTG- OOS 2021-05-13 13:45:22 14003043 910 141160 5 HWVtCI IOnwvtei 2021-05-1300:00:00 BS LJTG- OOS 2021-05-1313:45:22 400073876 0

178652 45 HWVtei 2. SfarB ∣.∙∙u.' 2021-05-13 00:00:00 BS LJTG-

OOS 2021-05-1313:45:22 800268097 0 174454 1 hoư tQữ ZShocr B 2021-05-13 00:00:00 BS LJTC- OOS 2021-05-1313:45:22 20002300530 173515 IOmrvtei ZShocra ,1 202105-13 00:00:00 BS LJTG- OOS 2021-05-1313:45:22 1400X6240 0 151806 5 HWVtes IOnwvtes [rlΛ∣ 202105-13 00:00:00 BS LJTG- OOS 2021-05-1313:45:22 1401178443 0 1J450 1 5 HWVtes IOnwvtes ∕r*rv 202105-1300:00:00 BS LJTG- OOS 2021-05-1313:45:22 1600043947 0 190926 IOmrvtei 30 seconds 2021 05-13 00:00:00 BS OOS LJTG- 2021-05-1313:45:22 2000336369 0 138347 2,5 far • Ihocr ago frtɪl 202105-13 00:00:00 BS LJTG-

OOS 2021-05-1313:45:22 100007306 0 136944 IOmrvtei 3hocr ago 202105-13 00:00:00 BS LJTG-

OOS 2021-05-1313:45:22 1400927470 0 ∙¾<*Λ⅞ *⅜ »Ề -- -» . mu ∕V>.<V>.Λrt l∙c I <τr w%srj⅜c.9⅞ t W⅞Λ⅞⅞ ,

R

J J LAST JKC3.α> JANUUWô24 LWC .UbJNUWCB

N WW __________________________ OX V K T J J t*ữ .tf.p COBJIt S 2ằ 202105 13 ! $:32:55 ằ210$ 1 '• I - ị 6

Hình 3.25. Dữ liệu ban đầu

. P∏TCTJMCJD ■ LAST JNTKT J,GN , LAST-MQBtLJGN / LASTJCNJT ∕' CC8J>T /SftCJYS-CP t UPOWJY i UPOW-PTM ■ CUS-KR /'SU1PSt-USR-FLAG Mseconds 2021-05-13 00:00:00 IBS L-STG-OOS 2021-05-131145:22 11001701630 I

-------------------HBOTOihBJBy) WitwvfcJ 1 _ ---------------------am OS ⅜J⅜⅛O⅛OT uro---------------⅛sf⅛βes----⅝a OS ⅜J ⅜⅞⅞a¾ -------⅝O11M⅝M------1

Hình 3.26. Dữ liệu sau khi bị thay đổi

Sau khi thay đổi dữ liệu trên bảng nguồn và chạy lại job, dữ liệu tại bảng nguồn được lọc để lấy dữ liệu thay đổi so với bảng đích nên sẽ chỉ có 1 bản ghi được extract. Ket quả bản ghi vừa thay đổi được insert và update vào bảng đích. Hình ảnh job chạy thành cơng sau khi cập nhật lại dữ liệu trên bảng nguồn.

Hình 3.27. Hình ảnh job sau khi cập nhật lại dữ liệu bảng nguồn

- Dữ liệu bảng đích: Dữ liệu của bản ghi thay đổi trên nguồn được insert bản

ghi mới với flag là Y và ngày EFF_STRT_DT = sysdate, EFF_END_DT = “9999-12-31”. Đồng thời bản ghi cũ được update với flag là N và EFF_END_DT = sysdate-1

Htw VVtCRE >√ncr.BNCJD ∙ U247

Hình 3.28. Dữ bảng đích sau khi thay đổi dữ liệu

3.4.4. Xây dựng ETL tại tầng DTM

Do tính chất nghiệp vụ và q trình xử lý logic giữa các bảng tầng DTM phức tạp hơn so với các tầng khác. Nên tại đây em sẽ trình bày quá trình ETL riêng cho từng bảng là bảng IB_USER_ DIMENSION và bảng IB_TRNS_DTL_FACT

và demo chung các bảng có q trình ETL tương tự nhau là bảng LGN_TYP_DIM, IB_VTGE_DIM, IB_TRNS_TIER_DIM

3.4.4.1. Quá trình ETL tại các bảng LGN TYP DIM, IB VTGE DIM, IB TRNS

TIER DIM

Các bảng LGN TYP DIM, IB VTGE DIM, IB TRNS TIER DIM đều có đặc điểm chung là bảng chứa các chỉ tiêu của ngân hàng yêu cầu và hầu như rất ít khi có sự thay đổi dữ liệu nên các bảng này nên các bảng sẽ được đổ thẳng dữ liệu vào tầng DTM mà khơng cần qua q trình ETL ở các tầng dưới.

Minh họa dữ liệu của bảng IB_VTGE_DIM tại file mapping.

Hình 3.29. Minh họa dữ liệu file mapping bảng IB_VTGE_DIM

Để xây dựng job kéo dữ liệu em sử dụng 4 stage là

- Unstructured Data stage: được để xem dữ liệu nguồn và trích xuất dữ liệu

từ file excel.

- Transformer stage: Chuyển đổi tên các cột, định dạng các cột và mapping

dữ liệu từ nguồn vào đích.

- Surrogate key stage: có chức năng tạo khóa tự sinh một cách tự động.

Hình 3.30. Demo đẩy dữ liệu cho bảng LGN TYPDIM, IB VTGE DIM, IB TRNS TIER DIM

Hình 3.32. Mapping bảng IB_VTGE_DIM tại transformer stage

Hình 3.34. Cấu hình thơng tin bảng IB_VTGE_DIMtrên Oracle connector

3.4.4.2. Q trình ETL tại bảng IB_USER_ DIMENSION

Để tích hợp dữ liệu vào kho dữ liệu thì cần phải xây dựng các quy tắc ánh xạ dữ liệu từ nguồn đến đích. Đó là một bảng ánh xạ logic bao gồm đầy đủ thơng tin như tên bảng đích/nguồn, tên cột đích/nguồn, định dạng dữ liệu đích/nguồn, tên bảng, điều kiện xử lý, logic tải dữ liệu, logic chuyển đổi dữ liệu....Được thiết kế để thể hiện rõ quá trình tải dữ liệu từ bảng nguồn tới bảng đích.

Hình 3.35. Mơ hình ánh xạ dữ liệu tại bảng IB_USER_ DIMENSION

Dựa vào bảng ánh xạ logic,job sẽ được thiết kế cho quá trình ETL tại bảng IB_USER_ DIMENSION như sau:

Hình 3.36. Demo quá trình đẩy dữ liệu thành công vào bảng IB_USER_ DIMENSION

Dựa trên công cụ Data stage các mối liên hệ về mặt logic giữa các bảng được thiết kế, mô phỏng một cách vật lý thông qua các tool. Dưới đây em sẽ trình bày logic câu lệnh SQL được thiết kế bên trong các stage.

Hình 3.38. Minh họa 2 thiết kếjob cho bảng bảng IB_USER_ DIMENSION

Hinh 3.39. Minh họa 3 thiết kếjob cho bảng bảng IB_USER_ DIMENSION

Chạy thử dữ liệu xử lý type 2 với Change capture:

- Dữ liệu trên bảng nguồn:

Hình 3.40. Dữ liệu ban đầu trên bảng IB_IDV_REF_USR

STATUS REPORT KX JOB l.SOURCE.STG Generated 2021-05-19 08 18 04 Job start t∣mr∙2021 OS 19 08 18Ol Iob end time «2021 OS 19 08 1804 Job elapsed tιmr∙COOO 01 Job status* 1 (Frrwmed OK)

Stage CUSSESSIONIOG 1001 rows >nput

Stagestartt me∙2O21-CS-19 08 1804. end bme∙2O21-OS 19 08 1804,

-CteMdiOftaaoQ________________—_______________________________

Dữ liệu trên bảng đích:

Hình 3.42. Dữ liệu ban đầu trên bảng đích IB_USER_ DIMENSION

Hình 3.43. Dữ liệu sau khi cập nhật lại tại bảng IB_USER_ DIMENSION

Một phần của tài liệu Xây dựng quy trình tích hợp dữ liệu ETL và xuất báo cáo cho hệ thống e banking tại NH TMCP công thương việt nam 758 (Trang 63)

Tải bản đầy đủ (DOCX)

(92 trang)
w