M 影E"VKçW"A陰 TÀI
4.2.2 CÁC PHÉP BI 蔭P"A蔚 I D頴 LI烏U (DATA TRANSFORM)
H羽 th嘘ng h厩 tr嬰 các ki吋u bi院p"8鰻k"ejq"rjfir"pi逢運i s穎 d映ng thi院t l壱p v噂i t瑛ng lo衣i b違ng Chi隠u ho員c b違ng Fact. B逢噂c bi院p"8鰻i x違y ra ngay sau khi d英 li羽w"8亥w"x q"8«"8逢嬰c trích xu医v"vj pj"e»pi"x "n逢w"vt英 trên Bigquerỵ Các phép bi院p"8鰻k"8逢嬰c hi羽n th詠c b茨ng Apache Beam và ch衣y trên n隠n t違ng Dataflow c栄a GCP v噂i 8亥u ra sau khi bi院p"8鰻i d英 li羽u s胤 là các b違ng d英 li羽u s衣ej"x "n逢w"vt英 t衣i Bigquerỵ
73
M映e"8 ej"e栄a vi羽c bi院p"8鰻i nh茨m làm s衣ch d英 li羽u, gi違i quy院t s詠 thi院u h映t ho員c f逢"vj瑛a d英 li羽u, t鰻ng h嬰p d英 li羽u t瑛 nhi隠u ngu欝n khác nhau, th詠c hi羽n các phép tốn h丑e"e挨"d違n trên d英 li羽w."v<pi"v pj"vt詠c quan cho d英 li羽ụ...
Ki吋u d英 li羽w"8逢嬰c s穎 d映ng trong vi羽c bi院p"8鰻i d英 li羽u tuân theo các ki吋u d英 li羽u 8逢嬰e"sw{"8鵜pj"vtqpi"Dkiswgt{0"Vj»pi"vkp"u挨"n逢嬰c v隠 các ki吋u d英 li羽u trong Bigquery 8逢嬰c nhĩm s穎 d映ng trình bày qua b違ng sau:
Tên s穎 d映ng V‒p"sw{"8鵜nh Bigquery Integer INT64 Float FLOAT64 Numeric NUMERIC Boolean BOOL Date DATE Datetime DATETIME Time TIME BVng 7: Kiあu dの liうw"sw{"8おnh trong viêc bixp"8ごi dの liうu Các phép bi院p"8鰻k"8逢嬰c h厩 tr嬰 ejq"rjfir"pi逢運i dùng tu ch丑p"pj逢<"èpj"z衣 1-1 t瑛 d英 li羽u ngu欝n sang d英 li羽w"8 ej."vjc{"8鰻i ki吋u d英 li羽w"8 ej."eƒe"dk院p"8鰻i tồn h丑e"e挨" b違n, n嘘i chu厩i,...
4.2.2.1 ÁNH X萎 1-1 D頴 LI烏U
Ánh x衣 1-1 d英 li羽w"ejq"rjfir"pi逢運k"f́pi"sw{"8鵜nh eƒe"vt逢運ng c栄a t壱p d英 li羽u ngu欝p"vj pj"eƒe"vt逢運ng trong d英 li羽w"8 ej. Trong quá trình bi院p"8鰻i d英 li羽u cĩ th吋8逢嬰c chu育p"jqƒ."vjc{"8鰻i giá tr鵜 ho員e"vjc{"8鰻i ki吋u d英 li羽w"8 ej0
Ví d映<"Vtqpi"vt逢運ng Gender c栄a b違ng d英 li羽u ngu欝n cĩ các giá tr鵜 8瓜c l壱r"pj逢" "0", "1", NULL thì trong quá trình bi院p"8鰻i ánh x衣 1-1 s胤 bi院p"8鰻i giá tr鵜 c栄c"vt逢運ng Gender l亥p"n逢嬰t là $Ocng$."$Hgocng$"x "$Wpmpqyp$."8欝ng th運i ki吋u d英 li羽w"8 ej"u胤8逢嬰c bi院p"8鰻i t瑛 ki吋u Boolean sang ki吋u String.
Các ràng bu瓜c khi s穎 d映ng ánh x衣 1-1:
‚ Vt逢運ng d英 li羽w"8亥u vào ph違i t欝n t衣i trong t壱p d英 li羽u ngu欝n.
‚ Ki吋u d英 li羽w"8 ej"rj違i phù h嬰p v噂i các giá tr鵜 bi院p"8鰻ị
4.2.2.2 HÀM T蔚NG H営P (AGGREGATE FUNCTION)
Hàm t鰻ng h嬰p là ki吋u bi院p"8鰻k"8逢嬰c s穎 d映pi"vtqpi"vt逢運ng h嬰p d英 li羽u ngu欝n khơng th吋 ánh x衣 1-1 sang d英 li羽w"8ích, và d英 li羽w"8 ej"n "u詠 t壱p h嬰p c栄a nhi隠u hàng d英 li羽w"8吋 cho ra k院t qu違 cu嘘i cùng. Các hàm t鰻ng h嬰r"8逢嬰c h厩 tr嬰:
‚ T鰻ng (Sum)
‚ Trung bình (Average)
‚ A院m (Count)
‚ A院m riêng bi羽t (Count Distinct)
‚ L噂n nh医t (Maximum)
74
Các ràng bu瓜c khi s穎 d映ng hàm t鰻ng h嬰p:
‚ Hàm t鰻ng h嬰p T鰻ng(Sum) h厩 tr嬰 ki吋u d英 li羽u: Interger, Float, Numeric.
‚ Hàm t鰻ng h嬰p Trung bình(Average) h厩 tr嬰 ki吋u d英 li羽u: Interger, Float, Numeric. ‚ Hàm t鰻ng h嬰p L噂n nh医t(Maximum) h厩 tr嬰 ki吋u d英 li羽u: Interger, Float, Numeric, Date,
Datetime, Timẹ
‚ Hàm t鰻ng h嬰p Nh臼 nh医t(Minimum) h厩 tr嬰 ki吋u d英 li羽u: Interger, Float, Numeric, Date, Datetime, Timẹ
‚ Ki吋u d英 li羽u c栄c"vt逢運pi"8逢嬰c t衣o ra b茨ng hàm t鰻ng h嬰p ph違i là ki吋u Numeric. ‚ C亥n khai báq"eƒe"vt逢運pi"Itqwr"D{"8吋 s穎 d映ng cho vi羽c t鰻ng h嬰p.
4.2.2.3 CƠNG TH永C BI蔭P"A蔚K"A愛P"IK謂N (FORMULA)
Bi院p"8鰻i d英 li羽u b茨ng cách cung c医p m瓜t cơng th泳c bi院p"8鰻k"8挨p"ik違n là phép bi院p"8鰻k"ejq"rjfir"pi逢運i dùng ch丑n m瓜t cơng th泳c tốn h丑c v噂i các tốn t穎e挨"d違p"pj逢<" + - * /, ho員c các hàm tốn h丑e"pj逢"EGKN."HNQQT"8逢嬰e"sw{"8鵜nh s印n và th詠c hi羽n bi院n 8鰻i d詠a trên cơng th泳e"8„0
Các tốn h衣ng (A, B, C) cho cơng th泳c bi院p"8鰻i s胤 8逢嬰e"pi逢運i dùng cung c医p. Các tốn h衣ng là m瓜v"vt逢運ng trong d英 li羽u ngu欝n ho員c m瓜t h茨ng s嘘. Các cơng th泳e"8逢嬰c h厩 tr嬰: BVng 8: Hàm tごng quát A + B A MOD B A + B * C A Ỵ B 100 * (A / B) A * B A + (A * B) / 100 A / B A Ỵ (A * B) / 100 BVng 9: Hàm tốn hがc
ABS(A) FLOOR(A) ROUND (A, n)
CEIL(A) LOG10(A) SQRT(A)
EXP(A) POWER (A, n) SQR(A)
BVng 10: Hàm xぬ lý chuざi
LEFT(A) REPLACE(A) RTRIM(A)
LEN(A) REVERSE(A) SUBSTR (A, start, length)
LOWER(A) RIGHT (A, n) UPPER(A)
LTRIM(A) TRIM(A)
BVng 11: Hàm xぬ lý thぜi gian
GETDATE () GETUTCDATE () DATEDIFF (A, B)
MONTH(A) DAY(A)
75
Các ràng bu瓜c khi s穎 d映ng bi院p"8鰻i d衣ng cơng th泳c:
‚ Pi逢運i dùng ph違i cung c医p các tốn h衣ng phù h嬰p v噂i ki吋u d英 li羽u h厩 tr嬰.
‚ Pi逢運i dùng ch雨 cĩ th吋 s穎 d映ng các cơng th泳e"sw{"8鵜nh s印n c栄c"ej逢挨pi"vt·pj0
‚ Ki吋u d英 li羽u c栄c"vt逢運pi"8逢嬰c t衣o ra b茨ng cơng th泳c bi院p"8鰻i ph違i phù h嬰p v噂i t瑛ng lo衣i cơng th泳c. (Numeric cho General, Math và String cho String)
4.2.2.4 GHÉP CHU姥I (CONCAT)
Ghép chu厩i ký t詠 là phép bi院p"8鰻i t衣o ra m瓜v"vt逢運ng b茨ng cách ghép nhi隠u chu厩i ký t詠 t瑛eƒe"vt逢運ng d英 li羽u khác nhau, và giá tr鵜 sau khi k院t n嘘i các chu厩i ký t詠 v噂i nhau s胤8逢嬰e"n逢w"vt詠 t衣k"vt逢運pi"8 ej0"Piq k"tc."p院u giá tr鵜 gi英a các chu厩i k院t n嘘i v噂i nhau cĩ th吋 chèn thêm các ký t詠 khác khi c亥n thi院t.
4.2.2.5 ÁNH X萎 D頴 LI烏U XML
Ánh x衣 d英 li羽u XML là phép bi院p"8鰻i cĩ tác d映pi"v逢挨pi"8逢挨pi"x噂i Ánh x衣 1-1 v噂i d英 li羽w"8亥u vào là ki吋u d英 li羽w"ZON"8逢嬰c m瓜t s嘘 e挨"u荏 d英 li羽u h厩 tr嬰 (MSSQL, PostgreSQL), v噂i ánh x衣 d英 li羽u XML các giá tr鵜 s胤8逢嬰c chu育n hố, bi院p"8鰻k"x "8欝ng th運k"vjc{"8鰻i ki吋u d英 li羽w"8 ej"8逢嬰e"sw{"8鵜nh b荏k"pi逢運i dùng.
M映e"8 ej"e栄a vi羽c ánh x衣 d英 li羽u XML là nh茨m rút tách t瑛 d英 li羽u ngu欝n cĩ ki吋u là XML v嘘n bao g欝m nhi隠u d英 li羽w"mjƒe"pjcw"n逢w"vt英 trong m瓜t tr逢運ng thành t瑛ng vt逢運pi"8挨p"n飲 trong d英 li羽w"8 ej0
Ví d映: D英 li羽u ngu欝n cĩ ki吋u XML cĩ th吋 cĩ giá tr鵜pj逢"ucw: <Survey>
<Gender>M</Gender>
<MaritalStatus>S</MaritalStatus> </Survey>
4.2.2.6 C浦T TÍNH TỐN (CALCULATED COLUMN)
A»k"mjk"f英 li羽u mà ta c亥n khơng cĩ s印n trong d英 li羽w"8亥u vào mà là k院t qu違 c栄a m瓜v"rjfir"v pj"vqƒp."8„"n "o映e"8 ej"ej pj"e栄a c瓜t tính tốn. C瓜v"v pj"vqƒp"8逢嬰c t衣o ra b茨ng cách s穎 d映ng các cú pháp SQL các e¿"rjƒr"8逢嬰c h厩 tr嬰pj逢<"Ecug"Yjgp."Gzvtcev." DateDiff... Các cú pháp SQL c栄a c瓜v"v pj"vqƒp"mj»pi"8逢嬰c là các hàm t鰻ng h嬰p (Aggregate Hwpevkqp+"pj逢"UWỌ"OCZ."OKP."CXỊ"EQWPV000"E瓜t tính tốn là s詠 tính tốn giá tr鵜 c栄a m瓜t c瓜t t衣i hàng hi羽n t衣i mà nĩ 8cpi"xét. K院t qu違 c栄a c瓜t tính tốn m員e"8鵜nh s胤8逢嬰c n逢w"vt英 v壱v"n#"vtqpi"Fcvcdcug"*Rgtukuvgpv+."pij c"n "o瓜t c瓜t th詠c th吋 m噂i s胤8逢嬰c t衣o ra và thêm vào b違ng d英 li羽ụ
76