ඩේටාබ්රික්ස් මත Spark වැඩසටහන් ධාවනය කරන විට, වැඩි ගණනේ worker node එකතු කිරීමෙන් කාර්ය සාධනය වැඩි නොවෙයි. බොහෝ ප්රශ්න shuffle සහ data skew නිසා පැනේ. මෙම ලිපියෙන් අපි සාමාන්ය batch pipeline එකක් (order events + product dimension) ගොඩක් කරගෙන, shuffle පරිසරය, skew නිරාකරණය, Z‑Ordering සහ Unity Catalog භාවිතය පිළිබඳව පියවරෙන් පියවර විස්තර කරමු.
Pipeline එකේ සැලැස්ම – raw_orders ටේබලය කියවා, dim_products ටේබලය broadcast join කර, customer_id අනුව group‑by කර aggregation සිදු කර, පසුදා Delta Lake ටේබලයක් ලෙස ලියා තබයි. මෙහිදී Spark එකට විශාල shuffle අවශ්ය වන අතර, අසාමාන්ය hot key (උදා: විශාල B2B ගනුදෙනුව) එකක් ඇති වීමෙන් එකක් පමණ task එක මිනිත්තු කිහිපයක් ගත කරයි.
Shuffle පියවරය wide transformation ලෙස හැඳින්වේ. Spark UI එකේ දිගු task එකක් පෙනෙන්නේ මේ නිසාය. මේ ප්රශ්නයට සාමාන්ය විසඳුමක් Adaptive Query Execution (AQE) නමුත්, hot key හඳුනාගත් විට salting ක්රමය වැඩි විශ්වාසනීය වේ. එහිදී random salt column එකක් එක් කර, ඒ අනුව තවත් group‑by එකක් කර, පසුදා salt column එක ඉවත් කර final aggregation ලබා ගනී.
දත්ත ගොඩනැගීමේ අවසානයේ Z‑Ordering භාවිතා කර Delta Lake ටේබලය පිළියෙල කරයි. Z‑Ordering මගින් file‑level pruning සිදු කර, downstream query එකේ අදාළ නොවන files ඉවත් කර, query latency බොහෝ අඩුවේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
- ඉගෙනුම – ශ්රී ලංකා විශ්වවිද්යාල සිසුන්ට Spark, Delta Lake, Unity Catalog වැනි cutting‑edge data engineering concepts පළපුරුදු වීමට අවස්ථාව ලැබේ.
- දියුණුකම – දේශීය software house සහ startup කලාපවල data pipelines ගොඩනැගීමට මේ උපදෙස් මඟින් resource optimisation, cost saving සහ performance boost ලබා ගත හැක.
- ව්යාපාර – retail, fintech, telecommunication වැනි කාර්යාලිකයන්ට real‑time analytics, fast reporting සහ governance (Unity Catalog) හරහා data security නියම කරගැනීමට හැකියාව ලැබේ.
ඉදිරි කාලයේ Spark වැඩසටහන් වැඩිම ප්රමාණයට පත් කරමින්, shuffle හා skew ගැටළු නිවැරදිව හඳුනා ගත හා නිරාකරණය කිරීමේ කුසලතා සම්පන්න වීම, data‑driven තීරණ ගැනීමේ වේගය වැඩි කරයි. ඔබේ organization එකේ data architecture එකට මේ ක්රම අනුගමනය කරන්නේ නම්, වැඩි worker එකතු කිරීමේ වැය ඉතිරිකර, performance එක තද කරගත හැක.