training data services
TRANSCRIPT
-
8/18/2019 Training Data Services
1/26
Data Services Training FSS
Lê Thị Phương Thanh 1
Mục Lục
Chương 1. Tổng Quan v ề Data Services...............................................................................................3
I. Một S ố Khái Niệm Cơ Bản .......................................................................................................3
1. Data services .......................................................................................................................3
2. Ki ế n trúc Data services ........................................................................................................3
II. Các Công Cụ Trong Desinger ...................................................................................................9
1. Các Đối Tượng Trong Thư Viện Chung ..................................................................................9
2. Cửa S ổ Làm Việc ..................................................................................................................9
3. Khai Báo Bi ế n và Tham S ố .................................................................................................. 10
4. Sử Dụng Hàm và Script ...................................................................................................... 12
5. Validation menu ................................................................................................................ 14
6. Palette .............................................................................................................................. 15
Chương 2. Giới Thiệu Các Engine Thường Sử Dụng Trong Tranform .................................................. 16
I. T ổng Quan Chức Năng của M ỗi Engine .................................................................................. 16
1. Data_Transfer ...................................................................................................................... 16
2. Date Generation .................................................................................................................. 16
3. Effective Data ...................................................................................................................... 16
4. Hierarchy_Flattening ............................................................................................................ 16
5. History_Preserving ............................................................................................................... 17
6. Key_Generation ................................................................................................................... 18
7. Map_CDC_Operation: .......................................................................................................... 18
8. Pivot .................................................................................................................................... 20
9. Reverse_Pivot ...................................................................................................................... 20
10.Table_Comparison ............................................................................................................... 20
11.XML Pipeline ........................................................................................................................ 21
12.Ví Dụ Slow Data Change Loại 2 ............................................................................................. 21
Chương 3. Giới Thiệu Các Engine Thường Sử Dụng Trong Flatform ................................................... 23
I. T ổng quan v ề chức năng của m ỗi engine ................................................................................ 23
-
8/18/2019 Training Data Services
2/26
Data Services Training FSS
Lê Thị Phương Thanh 2
1. Case ..................................................................................................................................... 23
2. Map_Operation .................................................................................................................... 23
3. Merge ................................................................................................................................... 25
4. Query ................................................................................................................................... 26
5. Row Generation .................................................................................................................... 26
7. SQL ....................................................................................................................................... 26
8. Validation ............................................................................................................................. 26
-
8/18/2019 Training Data Services
3/26
Data Services Training FSS
Lê Thị Phương Thanh 3
Chương 1. T ổng Quan v ề Data Services
I. Một S ố Khái Niệm Cơ Bản
1.
Data services
a. Định Nghĩa: Data services là một giải pháp hiệu quả v ề ch ất lượng
và tích hợp dữ liệu.
b. Mục đích: Cung c ấ p một môi trường phát tri ển, thực thi, quản lý
trong việc tích hợp, vận chuy ển, cải ti ế n, phân tán dữ liệu ở mọi nơi và
mọi lúc.
c. Lợi ích
Giảm giá thành, ti ế t kiệm thời gian.
H ỗ trợ xử lý không hợp nh ấ t giữa các mảng dữ liệu, cho phép việc
xử lý dữ liệu từ nhi ều nhà vendor, địa phương và cấ u trúc.
Khả năng tương tác(Interoperability) và linh hoạt(Flexibility) của
dịch vụ Web (Web services) dựa trên các ứng dụng cho phép tích hợp
đế n các hệ th ống front-end trong việc xử lý thời gian thực.
Phân tích, chu ẩn hóa, làm sạch dữ liệu.
So sánh và hợp nh ấ t các bản ghi.
H ỗ trợ nhi ều người dùng và bảo mật dữ liệu t ốt.
Với các chức năng lưu dấ u giúp ích cho các lập trình viên có th ể
theo dõi dữ liệu, đồng thời xác định nhanh những tác động bảo trì, sửa
l ỗi.
2. Ki ế n trúc Data services
a. Các Thành Ph ần Trong Data Service
-
8/18/2019 Training Data Services
4/26
-
8/18/2019 Training Data Services
5/26
Data Services Training FSS
Lê Thị Phương Thanh 5
Hình 3. Giao diện Auto Document
Quan sát, phân tích, in các bi ểu di ễn b ằng đồ
họa của các đối tượng.
o Data Validation
-
8/18/2019 Training Data Services
6/26
Data Services Training FSS
Lê Thị Phương Thanh 6
Hình 4. Giao diện Data Validation
Xem các thông kê từ các quy luật xác nhận hợp
lệ dữ liệu
o
Impact & Lineage Analysis
Hình 5. Giao diện Impact & Lineage Analysis
Xác đị nh tác động của các thay đổ i.
o Operational Dashboard
-
8/18/2019 Training Data Services
7/26
Data Services Training FSS
Lê Thị Phương Thanh 7
Hình 6. Giao diện Operational Dashboard
Th ống kê các sự thực thi và trạng thái.
o Data Quality
Hình 7. Giao diện Data Quality
Báo cáo sự tạo các report khác nhau từ
Data Quality Transform
-
8/18/2019 Training Data Services
8/26
Data Services Training FSS
Lê Thị Phương Thanh 8
Designer:
Là một giao diện đồ họa k ế t n ối với local repository
lúc khởi tạo. Sử dụng để xác định những gì data sẽ được
xử lý thông qua việc tạo của datastores và file formats.
Các metadata được lưu trong repository.
Tạo, duy trì và thực hiện các công việc (jobs),
workflows, dataflows
Cho phép người sử dụng kéo thả các dữ liệu/file và
chuy ển đế n dữ liệu đích.
Repository: là kho chứa metadata, có 4 loại repository:
Local : lưu các dữ liệu được tạo từ designer tại máy
local.
Central: kho dữ liệu trung tâm, h ỗ trợ môi trường môi
nhi ều người dùng, lưu các thông tin giống kho local,
ko th ể thực thi các công việc và không k ế t n ối nào đế n
một job server.
Profiler: lưu các dữ liệu liên quan đế n các profiling
task từ designer tool khi người sử dụng chay cột hoặc
các liên quan đế n profiling task. Profiler k ế t hợp với
job server.
Cleansing Packages: tham chi ếu đến DQD, lưu các từ
điển ngôn ngữ cụ th ể cũng như các từ điển tự tạo choviệc phân tích dữ liệu.
The Data Services service
Engine
Job Server
-
8/18/2019 Training Data Services
9/26
Data Services Training FSS
Lê Thị Phương Thanh 9
Services
Access Server
Adapters
The Address Server
II. Các Công Cụ Trong Desinger
1. Các Đối Tượng Trong Thư Viện Chung
Project: T ổ chức công việc.
Jobs: Thực thi các lu ồng công việc.
Work flows: Cài đặt thứ tự của các lu ồng công việc.
Data flows: Lưu các k ế t n ối ngu ồn đế n đích.
Transform: Thay đổi dữ liệu dựa theo quy luật.
Datastore tables: Dữ liệu đích/ nguồn theo RDBMS.
Cung c ấ p k ế t n ối với dữ liệu ngu ồn
Import metadata từ dữ liệu ngu ồn
Đọc và ghi dữ liệu đế n các bảng
Sự thay đổi c ấ u trúc có th ể không được tự động cập
nhật: ví dụ như thêm một cột vào bảng.vv.
Có 3 loại datastore:
Database datastores : l ấ y dữ liệu metadata từ RDBMS như
Oracle, MSSQL, IBM DB2, MYSQL.
Application datastores : l ấ y dữ liệu metadata từ ERP như
SAP, Siebel, JD Edwards, BEA, PeopleSoft, vv..
Adapter datastores : l ấ y dữ liệu từ các ứng dụng. File formats: Các loại dữ liệu đích/ngu ồn khác (txt, csv, excel,
xml).
2. Cửa S ổ Làm Việc
-
8/18/2019 Training Data Services
10/26
Data Services Training FSS
Lê Thị Phương Thanh 10
Project Area: chỉ hiện thị duy nh ấ t một project được chọn
trong Local Object Library.
Hình 8.
Trong Project Area g ồm:
Designer: Hiện thị các đối tượng làm việc.
Monitor: Hiện thị các công việc mà job server thực hiện. N ế u
thực thi bị l ỗi có bi ểu tượng gách chéo màu đỏ, chỉ lưu từ khi
designer start.
Log: Lưu tấ t cả lịch sử công việc mà jobserver đã thực hiên đốivới từng job trong dự án (Project) đang mở.
3. Khai Báo Bi ế n và Tham S ố
Tool->Variables
-
8/18/2019 Training Data Services
11/26
Data Services Training FSS
Lê Thị Phương Thanh 11
Hình 9.
Tại mức Project, Job có th ể tạo (insert) Variables và Global Variables mới,
không có parameter. Mức Mức dataflow chỉ được tạo Parameters mới.
Global Variable: Tạo tại mức Job, cho phép gán bi ế n tại khung cửa s ổ khai
báo, hoặc trong tab Global variable khi mở thuộc tính (Properities) Job. Sử dụng nhi ều nơi. Gía trị ban đầu sẽ bị thay đổi n ế u trong quá trình xử lý có
bước chỉnh sửa giá trị. Hiện thị trong Query Transform.
Variable: Tạo tại mức Job và Work Flow, không được hiện thị trong
dataflow (Query transform). Có th ể nhận giá trị từ một parameter chỉ
thông qua gán trong trong script ở mức workflow.
Parameter: ở mức WF và DF cho phép gán giá trị từ 1 Variable, hiện thị
trong Query Transform.
Có 3 loại Parameter:
Input: b ắt buộc phải khởi tạo đế n một giá trị trước hoặc đế n một bi ế n
(bi ế n có th ể chưa có giá trị).
Output: phải được gán đế n một bi ế n (variable), bi ế n này có th ể được gán
đế n giá trị cụ th ể hoặc không c ần. (Ko b ắt buộc). Ko gán được giá trị trực
ti ế p.
Output/input: Tương tự với Output?
-
8/18/2019 Training Data Services
12/26
Data Services Training FSS
Lê Thị Phương Thanh 12
4. Sử Dụng Hàm và Script
a. Hàm:
Dùng để xử lý các bi ến đầu vào và trả v ề một giá trị
đầu ra. Gía trị đầu vào hoặc đầu ra có th ể bi ế n hoặc cột.
Hàm được sử dụng trong các scripts, Transforms,
Conditional và các hàm do người dùng tự tạo.
-Các gói hàm chu ẩn trong Desinger:
Functions
Description
Aggregate Functions
Thực hiện tính toán các tính toán trên giá trị
số (avg,count,count_distinct,max,min,sum).
Conversion Functions Các hàm đổi kiểu dữ liệu của giá trị.
Custom Functions Các hàm được định nghĩa bởi người dùng.
Database Functions Performs operations specific databases
Date Functions Thực hiện tính toán và chuyển đổi kiểu trên
-
8/18/2019 Training Data Services
13/26
Data Services Training FSS
Lê Thị Phương Thanh 13
các giá trị date.
Environment Functions
Performs operations specific to your Data
Services environment
Lookup Functions
Các hàm thực hiện các việc kết một điều
kiện (lookup), nhiều điều kiện (lookup_ext),
giới hạn của điều kiện (lookup_seq).
Math Functions
Các hàm số học phức tạp trên giá trị số :
abs, ceil, floor, ln, log, mod, power, rand,
rand_ext, round, sqrt, trunk.
Miscellaneous Functions Performs various operations Sap Function
String Functions
Thực hiên các hàm xử l{ dữ liệu chuỗi, k{
tự.
System Functions Performs system operations
Validation
Các hàm xác thực kiểu cụ thể của giá trị, các
hàm trả về giá trị 0 hoặc 1 (is_valid_date,
is_valid_double, is_valid_int..vv)
b. Script
Script được sử dụng để gọi hàm và gán giá trị cho các
bi ế n trong WorkFlow.
Ví dụ, có th ể sử dụng hàm SQL trong script để xác
định thời gian cập nhật cu ối cùng đối với một bảng và gán
giá trị đế n một bi ế n.
Sau đó gán biế n này cho một tham s ố (parammeter)
vào một data flow và xác định các dòng từ dữ liệu ngu ồn.
Một script có th ể g ồm các lệnh sau:
-
8/18/2019 Training Data Services
14/26
Data Services Training FSS
Lê Thị Phương Thanh 14
o Gọi hàm.
o IF
o While
o
Gán
o Toán tử
Các cú pháp cơ bản trong script:
o M ỗi dòng k ế t thúc b ằng d ấ u ch ấ m ph ẩy (;).
o Tên bi ế n b ắt đầu với ký dollar ($).
o Bi ế n ki ểu chu ỗi đặt trong d ấu nháy đơn (').
o Các comment b ắt đầu với d ấu thăng (#).
o Gọi hàm luôn phải chỉ định parameter thậm chí
n ế u hàm ch ẳng sử dụng parameter nào.
Ví dụ:
$Todate= sysdate();
$G_Startdate= sql('demo_target','SELECT
END_DATE FROM JOB_STATUS WHERE
JOB_NAME= {$Jobname}');
Print('The end date is: [sysdate()+1]');
5. Validation menu
Validate:Xác thực các đối tượng trong vùng làm việc hiện tại
hoặc các đối tượng trong Job trước khi thực thi ứng dụng. Show ATL: Xem bảng read-only của ngôn ngữ được k ế t hợp
với Job.
Display Optimized SQL: hiện thị SQL mà Data Services sinh ra
cho một dataflow đã chọn.
-
8/18/2019 Training Data Services
15/26
Data Services Training FSS
Lê Thị Phương Thanh 15
6. Palette
Tại mức Project, Job: Thanh palette hiện thị các công cụ:
Hình 10.
Pointer, WF, DF, Script, Conditional, While Loop, Try, Catch, Annotation.
Tại mức Data Flow: Thanh palette hiện thị các công cụ:
Hình 11.
Pointer, DF, ABAP data flow, Query Transform, Template Table, Template
XML, Annotation.
-
8/18/2019 Training Data Services
16/26
Data Services Training FSS
Lê Thị Phương Thanh 16
Chương 2. Giới Thiệu Các Engine Thường Sử Dụng
Trong Tranform
I. T ổng Quan Chức Năng của M ỗi Engine
1. Data_Transfer
Cho phép một lu ồng dữ liệu để xử lý chia thành hai lu ồng dữ liệu phụ và
nh ằm giảm hoạt động tiêu thụ tài nguyên máy chủ. Data transfer import
dữ liệu ra một file riêng trong quá trình xử lý.
2. Date Generation
Tạo ra một cột điền giá trị ngày dựa trên ngày b ắt đầu và ngày k ế t thúc với
một hệ s ố tăng.
3. Effective Data
Được tạo dựa trên khóa chính, tạo thêm một cột với giá trị ‘effect_to’, có
th ể tính toán s ố ngày effect từ một giá trị effect_date đã có sẵn.
4. Hierarchy_Flattening
Flattens dữ liệu phân c ấ p thành các bảng quan hệ trong star schema.
Hierarchy_Flattening có th ể được cả hai chi ều dọc và ngang.
Ví dụ:
Cho một bảng g ồm employee_id và manager_id, HF có th ể giúp để xác
định những người quản lý của m ỗi nhân viên theo c ấ p bậc sau đây:
-
8/18/2019 Training Data Services
17/26
Data Services Training FSS
Lê Thị Phương Thanh 17
Hình 12.
Hình 13.
K ế t quả như hình 13. Nhân viên id 100 là manager cao nhấ t.104 có người quản lý 103, 103 có quản lý là 102, 102 có quản lý là 100.
5. History_Preserving
-
8/18/2019 Training Data Services
18/26
Data Services Training FSS
Lê Thị Phương Thanh 18
Chuy ển đổi hàng g ắn cờ là Update để cập nhật thêm INSERT, do đó, giá trị
ban đầu được lưu ở đích, khi chỉ định nơi mà cột sẽ tìm và cập nhật dữ
liệu.
6.
Key_Generation
Tạo ra khóa mới cho ngu ồn dữ liệu, b ắt đầu từ một giá trị lớn nh ấ t của
khóa hiện có trong bảng bạn chỉ định.
7. Map_CDC_Operation:
Map_CDC_OPERATION thường được dùng để h ỗ trợ CDC, công cụ
này đọc những thay đổi DML ngu ồn như Insert/Update/Delete và
ánh xạ đế n bảng tương ứng trong hệ th ống đích.
Một bảng CDC luôn có 2 cột được đặt tên:
DI_OPERATION_TYPE: lưu mã DML tương ứng với insert, update,
delete. Các mã được ký kiệu: I (INSERT), B(ti ền update), U(update,
hậu update), D(delele).
DI_SEQUENCE_SEQUENCE: giữ cột lưu thông tin thứ tự của các lệnh
DML. Ví dụ n ế u mu ốn cập nhật hoặc xóa dòng trước khi insert, thì
phải có một thứ tự thực thi các lệnh.
Ví dụ: Cho bảng g ố c có tên là T_MAPCDC có nội dung như sau:
Hình 14.
Bảng đích TL_CDC
-
8/18/2019 Training Data Services
19/26
Data Services Training FSS
Lê Thị Phương Thanh 19
Hình 15.
Với DataFlow SC_MAP_CDC:
Hình 16.
Hình 17.
-
8/18/2019 Training Data Services
20/26
Data Services Training FSS
Lê Thị Phương Thanh 20
K ế t quả
Dòng thứ 0 có operation B, mã id 101 bị đổi thành Thanh va
VietNam từ dòng thứ 2 có operation => Dòng có chữ B sẽ bị
giữ để update các giá trị (không phải khóa) từ dòng có
operation U g ần nh ấ t. Dòng có chữ U g ần nh ất để không
được update mà giữ nguyên giá trị cũ. Dòng thứ 1, operation B giữ nguyên.?
Dòng thứ 2, operation U đã được update trước đó cho dòng
thứ 0 nên giữ nguyên.
Dòng thứ 3, operation B giữ nguyên. ?
8. Pivot
Chuy ển cột thành dòng.
9.
Reverse_Pivot Chuy ển dòng thành cột.
10. Table_Comparison
So sánh hai tập hợp dữ liệu và chỉ ra sự khác biệt giữa chúng là một tập
hợp dữ liệu với các dòng g ắn cờ INSERT và UPDATE.
Có ba phương pháp cài đặt đối với transform này:
Row_by_Row select: truy v ấ n SQL trên bảng so sánh sẽ thực thi m ỗi l ần
khi nó nhận một dòng đầu vào. Phương thức này khá chậm, chỉ nên sử
dụng với lu ồng data có s ố lượng dòng dữ liệu ít.
-
8/18/2019 Training Data Services
21/26
Data Services Training FSS
Lê Thị Phương Thanh 21
Cached comparision table: Data Service sẽ tải toàn bộ bảng so sánh. DS
gọi SQL query cho m ỗi dòng đầu vào, tuy nhiên lúc này bảng so sánh đã
được đặt trong vùng nhớ hoặc đã phân trang. Vì vậy mà không c ần gọi truy
v ấn SQL trong cơ sở dữ liệu. Lựa chọn này nhanh hơn nhiều so với Row-
by- row select. N ế u bảng so sánh có hàng triệu dòng, nhưng chỉ đặt 5 dòng
trong Table comparision transform thì lựa chọn này cũng không có nhiều
hiệu quả hơn Row-by- Row select.
Sorted input: Phương thức này sẽ có một yêu c ầu trước khi làm việc: s ắp
x ế p lại dòng theo chi ều tăng dựa trên khóa chính (khóa đã kéo vào ô 'Input
primary key columns'). H ầu h ết các trường hợp yêu c ầu insert một Query
transform trước Table Comparision tranform. Phương thức này nhanh hơn
'Cached comparison table'. Khi đã được x ắp x ế p, data service chỉ c ần đọc
bảng so sánh một l ần.
Ví dụ: một bảng so sánh khoảng 250 000 dòng. N ế u chọn 'Row-by-Row
select' thì thời gian chạy 7-8 phút, chọn 'Cached comparison table' m ấ t 10-
12 giây, chọn 'Sorted input' m ấ t 7 giây.
Filter: Giới hạn s ố dòng từ bảng so sánh, chỉ l ấ y những tập dữ liệu thỏa
điều kiện filter làm đầu vào cho Table Comparison transform.
11. XML Pipeline
Xử l{ đầu vào XML
12. Ví Dụ Slow Changing Dimension Loại 2
Query: load các dữ liệu mu ốn l ấ y từ bảng g ốc
Table Comparision: so sánh giữa hai bảng tại các cột đã chọnHistory_Preserving: giữ lại t ấ t cả nội dung g ốc, thêm dòng mới vào bảng
đích nế u có sự thay đổi trên các cột đã so sánh.
Key_generation: sinh khóa surrogate cho bảng g ốc.
-
8/18/2019 Training Data Services
22/26
Data Services Training FSS
Lê Thị Phương Thanh 22
Hình 14.
K ế t quả:
Hình 15.
-
8/18/2019 Training Data Services
23/26
Data Services Training FSS
Lê Thị Phương Thanh 23
Chương 3. Giới Thiệu Các Engine Thường Sử Dụng
Trong Flatform
II.
T ổng quan v ề chức năng của m ỗi engine
1. Case
Đơn giản hoá các nhánh logic trong các lu ồng dữ liệu b ằng cách củng c ố
trường hợp hoặc ra quy ết định logic trong một chuy ển đổi. Đường d ẫn được
định nghĩa trong một bảng bi ểu.
2. Map_Operation
Cho phép chuy ển đổi giữa các thao tác normal, insert, update, delete để
được dữ liệu đầu ra mong mu ốn:
Update Thay đổi giá trị ở dòng target
Normal Tạo dòng mới trong target
Insert
Tạo dòng mới trong target (Có
sự so sánh giữa 2 bảng gốc và
đích)
Delete Xóa dòng từ bảng target
Discard Xóa dòng từ quá trình xử l{
-
8/18/2019 Training Data Services
24/26
Data Services Training FSS
Lê Thị Phương Thanh 24
Hình 14.
Cột Region_Name, dòng thứ 3 ở cửa s ổ bên trái từ bảng g ốc (Regions) đã
được update thành Asiad so với bảng đích cùng Region_ID tương ứng.
Xét các trường hợp trong Map_Operation:
Hình 15.
K ế t quả:
-
8/18/2019 Training Data Services
25/26
Data Services Training FSS
Lê Thị Phương Thanh 25
Hình 16.
Hình 17.
Input:
Hình 18.
Output:
3. Merge
Th ống nh ấ t các dữ liệu từ hai hay nhi ều ngu ồn vào một ngu ồn đích duy nhấ t.
Khi merge các dữ liệu vào một bảng, b ắt buộc các thuộc tính của các bảng dữ
liệu phải gi ống tên và độ dài của datatypes.
-
8/18/2019 Training Data Services
26/26
Data Services Training FSS
4. Query
L ấ y một tập dữ liệu thỏa mãn điều kiện được chỉ định. Một truy v ấ n chuy ển
đổi tương tự như một câu lệnh SQL SELECT.
5. Row Generation
Tạo ra một cột đã điền giá trị s ố nguyên b ắt đầu từ s ố 0 và tăng d ần bởi một
giá trị cu ối cùng được chỉ định.
7. SQL
Thực hiện các hoạt động truy v ấn SQL được chỉ định.
8. Validation
Đảm bảo r ằng các dữ liệu ở b ấ t kz giai đoạn trong data flow đều thỏa điều
kiện. Có th ể lọc ra hoặc thay th ế dữ liệu không thích hợp.