ඔබට Sber පරිමාණයන් ඇති විට. Hive සහ GreenPlum සමඟ Ab Initio භාවිතා කිරීම

කලකට පෙර, Big Data සමඟ වැඩ කිරීම සඳහා ETL මෙවලමක් තෝරා ගැනීමේ ප්‍රශ්නයට අපට මුහුණ දීමට සිදු විය. කලින් භාවිතා කළ Informatica BDM විසඳුම සීමිත ක්‍රියාකාරීත්වය නිසා අපට නොගැලපේ. එහි භාවිතය spark-submit විධාන දියත් කිරීමේ රාමුවක් දක්වා අඩු කර ඇත. ප්‍රතිපත්තිමය වශයෙන්, අප දිනපතා ගනුදෙනු කරන දත්ත පරිමාව සමඟ වැඩ කිරීමට හැකියාව ඇති බොහෝ ප්‍රතිසමයන් වෙළඳපොලේ නොතිබුණි. අවසානයේ අපි Ab Initio තෝරා ගත්තෙමු. නියමු සංදර්ශන අතරතුර, නිෂ්පාදනය ඉතා ඉහළ දත්ත සැකසුම් වේගයක් පෙන්නුම් කළේය. රුසියානු භාෂාවෙන් Ab Initio ගැන කිසිදු තොරතුරක් නොමැති තරම්ය, එබැවින් අපි Habré පිළිබඳ අපගේ අත්දැකීම් ගැන කතා කිරීමට තීරණය කළෙමු.

Ab Initio සතුව බොහෝ සම්භාව්‍ය සහ අසාමාන්‍ය පරිවර්තනයන් ඇත, එහි කේතය එහිම PDL භාෂාව භාවිතයෙන් දීර්ඝ කළ හැක. කුඩා ව්‍යාපාරයක් සඳහා, එවැනි ප්‍රබල මෙවලමක් අතිශයෝක්තියට පත් වනු ඇති අතර, එහි බොහෝ හැකියාවන් මිල අධික සහ භාවිතයට නොගත් ඒවා විය හැකිය. නමුත් ඔබේ පරිමාණය Sberov's ට ආසන්න නම්, Ab Initio ඔබට සිත්ගන්නා සුළු විය හැකිය.

එය ව්‍යාපාරයකට ගෝලීය වශයෙන් දැනුම රැස්කර ගැනීමට සහ පරිසර පද්ධතියක් සංවර්ධනය කිරීමට උපකාරී වන අතර, සංවර්ධකයෙකුට ETL හි ඔහුගේ කුසලතා වැඩි දියුණු කිරීමට, කවචය පිළිබඳ ඔහුගේ දැනුම වැඩි දියුණු කිරීමට, PDL භාෂාව ප්‍රගුණ කිරීමට අවස්ථාව ලබා දෙයි, පැටවීමේ ක්‍රියාවලීන් පිළිබඳ දෘශ්‍ය චිත්‍රයක් ලබා දෙයි, සහ සංවර්ධනය සරල කරයි. ක්රියාකාරී සංරචක බහුල වීම නිසා.

මෙම ලිපියෙන් මම Ab Initio හි හැකියාවන් ගැන කතා කරන අතර Hive සහ GreenPlum සමඟ එහි කාර්යයේ සංසන්දනාත්මක ලක්ෂණ ලබා දෙන්නෙමි.

  • MDW රාමුවේ විස්තරය සහ GreenPlum සඳහා එහි අභිරුචිකරණය පිළිබඳ වැඩ
  • Hive සහ GreenPlum අතර Ab Initio කාර්ය සාධන සංසන්දනය
  • ආසන්න තථ්‍ය කාල මාදිලියේ GreenPlum සමඟ Ab Initio වැඩ කිරීම


මෙම නිෂ්පාදනයේ ක්රියාකාරිත්වය ඉතා පුළුල් වන අතර අධ්යයනය කිරීමට බොහෝ කාලයක් අවශ්ය වේ. කෙසේ වෙතත්, නිසි වැඩ කුසලතා සහ නිවැරදි කාර්ය සාධන සැකසුම් සමඟ, දත්ත සැකසීමේ ප්රතිඵල ඉතා ආකර්ෂණීය වේ. සංවර්ධකයෙකු සඳහා Ab ​​Initio භාවිතා කිරීම රසවත් අත්දැකීමක් ලබා දිය හැක. මෙය ETL සංවර්ධනය පිළිබඳ නව ප්‍රවේශයකි, දෘශ්‍ය පරිසරයක් සහ ස්ක්‍රිප්ට් වැනි භාෂාවකින් බාගත කිරීමේ සංවර්ධනය අතර දෙමුහුන් වේ.

ව්‍යාපාර ඔවුන්ගේ පරිසර පද්ධති සංවර්ධනය කරමින් සිටින අතර මෙම මෙවලම වෙන කවරදාටත් වඩා ප්‍රයෝජනවත් වේ. Ab Initio සමඟින්, ඔබට ඔබේ වර්තමාන ව්‍යාපාරය පිළිබඳ දැනුම රැස් කර ගත හැකි අතර පැරණි සහ නව ව්‍යාපාර පුළුල් කිරීමට මෙම දැනුම භාවිතා කළ හැකිය. Ab Initio සඳහා විකල්ප අතර දෘශ්‍ය සංවර්ධන පරිසරයන් Informatica BDM සහ දෘශ්‍ය නොවන සංවර්ධන පරිසරයන් Apache Spark ඇතුළත් වේ.

Ab Initio හි විස්තරය

Ab Initio, අනෙකුත් ETL මෙවලම් මෙන්, නිෂ්පාදන එකතුවකි.

ඔබට Sber පරිමාණයන් ඇති විට. Hive සහ GreenPlum සමඟ Ab Initio භාවිතා කිරීම

Ab Initio GDE (Graphical Development Environment) යනු සංවර්ධකයා සඳහා ඔහු දත්ත පරිවර්තනයන් වින්‍යාස කර ඊතල ආකාරයෙන් දත්ත ප්‍රවාහයන් සමඟ සම්බන්ධ කරන පරිසරයකි. මෙම අවස්ථාවෙහිදී, එවැනි පරිවර්තන කට්ටලයක් ප්රස්ථාරයක් ලෙස හැඳින්වේ:

ඔබට Sber පරිමාණයන් ඇති විට. Hive සහ GreenPlum සමඟ Ab Initio භාවිතා කිරීම

ක්‍රියාකාරී සංරචකවල ආදාන සහ ප්‍රතිදාන සම්බන්ධතා වරායන් වන අතර පරිවර්තනයන් තුළ ගණනය කරන ලද ක්ෂේත්‍ර අඩංගු වේ. ඒවා ක්‍රියාත්මක කිරීමේ අනුපිළිවෙලට ඊතල ආකාරයෙන් ප්‍රවාහ මගින් සම්බන්ධ කරන ලද ප්‍රස්ථාර කිහිපයක් සැලැස්මක් ලෙස හැඳින්වේ.

ක්‍රියාකාරී සංරචක සිය ගණනක් ඇත, එය බොහෝ ය. ඔවුන්ගෙන් බොහෝ දෙනෙක් ඉතා විශේෂිතයි. Ab Initio හි සම්භාව්‍ය පරිවර්තනයන්හි හැකියාවන් අනෙකුත් ETL මෙවලම්වලට වඩා පුළුල් වේ. උදාහරණයක් ලෙස, Join බහු ප්‍රතිදානයන් ඇත. දත්ත කට්ටල සම්බන්ධ කිරීමේ ප්‍රතිඵලයට අමතරව, යතුරු සම්බන්ධ කළ නොහැකි වූ ආදාන දත්ත කට්ටලවල ප්‍රතිදාන වාර්තා ඔබට ලබා ගත හැක. ඔබට ප්‍රතික්ෂේප කිරීම්, දෝෂ සහ පරිවර්තන මෙහෙයුමේ ලොගයක් ද ලබා ගත හැකිය, එය පෙළ ගොනුවක් ලෙස එකම තීරුවෙන් කියවිය හැකි අතර වෙනත් පරිවර්තනයන් සමඟ සැකසිය හැකිය:

ඔබට Sber පරිමාණයන් ඇති විට. Hive සහ GreenPlum සමඟ Ab Initio භාවිතා කිරීම

නැතහොත්, උදාහරණයක් ලෙස, ඔබට වගුවක ස්වරූපයෙන් දත්ත ග්‍රාහකයක් ද්‍රව්‍යකරණය කර එම තීරුවෙන්ම දත්ත කියවිය හැකිය.

මුල් පරිවර්තනයන් ඇත. උදාහරණයක් ලෙස, ස්කෑන් පරිවර්තනය විශ්ලේෂණාත්මක ශ්‍රිතවලට සමාන ක්‍රියාකාරීත්වයක් ඇත. ස්වයං-පැහැදිලි නාමයන් සමඟ පරිවර්තනයන් ඇත: දත්ත සාදන්න, Excel කියවන්න, සාමාන්‍යකරණය කරන්න, කණ්ඩායම් තුළ වර්ග කරන්න, වැඩසටහන ධාවනය කරන්න, SQL ධාවනය කරන්න, DB සමඟ සම්බන්ධ වන්න, යනාදිය. ප්‍රස්ථාරවලට පරාමිති පසුකිරීමේ හැකියාව ඇතුළුව ධාවන කාල පරාමිති භාවිතා කළ හැක. මෙහෙයුම් පද්ධතිය . ප්‍රස්ථාරයට යවන ලද සූදානම් කළ පරාමිති කට්ටලයක් සහිත ගොනු පරාමිති කට්ටල (psets) ලෙස හැඳින්වේ.

අපේක්ෂා කළ පරිදි, Ab Initio GDE සතුව EME (Enterprise Meta Environment) නමින් තමන්ගේම ගබඩාවක් ඇත. සංවර්ධකයින්ට කේතවල දේශීය අනුවාද සමඟ වැඩ කිරීමට සහ ඔවුන්ගේ වර්ධනයන් මධ්‍යම ගබඩාවට පරීක්ෂා කිරීමට අවස්ථාව තිබේ.

ක්‍රියාත්මක කිරීමේදී හෝ ප්‍රස්ථාරය ක්‍රියාත්මක කිරීමෙන් පසුව, පරිවර්තනය සම්බන්ධ කරන ඕනෑම ප්‍රවාහයක් මත ක්ලික් කර මෙම පරිවර්තනයන් අතර සම්මත වූ දත්ත දෙස බැලීමට හැකිය:

ඔබට Sber පරිමාණයන් ඇති විට. Hive සහ GreenPlum සමඟ Ab Initio භාවිතා කිරීම

ඕනෑම ප්‍රවාහයක් මත ක්ලික් කර ලුහුබැඳීමේ විස්තර බැලීමට ද හැකිය - පරිවර්තනය සමාන්තර කීයක් තුළ ක්‍රියා කළේද, කුමන සමාන්තරවලට රේඛා සහ බයිට් කීයක් පටවා තිබේද:

ඔබට Sber පරිමාණයන් ඇති විට. Hive සහ GreenPlum සමඟ Ab Initio භාවිතා කිරීම

ප්‍රස්ථාරය ක්‍රියාත්මක කිරීම අදියරවලට බෙදිය හැකි අතර සමහර පරිවර්තනයන් පළමුව (ශුන්‍ය අවධියේදී), ඊළඟ ඒවා පළමු අදියරේදී, ඊළඟ ඒවා දෙවන අදියරේදී සිදු කළ යුතු බව සලකුණු කළ හැකිය.

එක් එක් පරිවර්තනය සඳහා, ඔබට ඊනියා පිරිසැලසුම (එය ක්රියාත්මක කරනු ලබන ස්ථානය) තෝරා ගත හැකිය: සමාන්තර නොමැතිව හෝ සමාන්තර නූල්වලින්, ඒවායේ සංඛ්යාව නියම කළ හැකිය. ඒ අතරම, පරිවර්තන ක්‍රියාත්මක වන විට Ab Initio විසින් නිර්මාණය කරන තාවකාලික ගොනු සේවාදායක ගොනු පද්ධතිය තුළ සහ HDFS තුළ තැබිය හැක.

සෑම පරිවර්තනයකදීම, පෙරනිමි අච්චුව මත පදනම්ව, ඔබට PDL හි ඔබේම ස්ක්‍රිප්ට් එකක් සෑදිය හැක, එය තරමක් කවචයක් වැනිය.

PDL සමඟින් ඔබට පරිවර්තනවල ක්‍රියාකාරීත්වය දීර්ඝ කළ හැකි අතර, විශේෂයෙන්ම, ඔබට ගතිකව (ධාවන වේලාවේදී) ධාවන කාල පරාමිතීන් මත පදනම්ව අත්තනෝමතික කේත කොටස් ජනනය කළ හැකිය.

Ab Initio සතුව shell හරහා OS සමඟ හොඳින් සංවර්ධිත ඒකාබද්ධතාවයක් ද ඇත. විශේෂයෙන්, Sberbank linux ksh භාවිතා කරයි. ඔබට කවචය සමඟ විචල්‍ය හුවමාරු කර ඒවා ප්‍රස්ථාර පරාමිතීන් ලෙස භාවිතා කළ හැකිය. ඔබට කවචයෙන් Ab Initio ප්‍රස්තාර ක්‍රියාත්මක කිරීම ඇමතීමට සහ Ab Initio පරිපාලනය කළ හැක.

Ab Initio GDE වලට අමතරව, තවත් බොහෝ නිෂ්පාදන බෙදා හැරීමට ඇතුළත් වේ. මෙහෙයුම් පද්ධතියක් ලෙස හැඳින්වීමට හිමිකම් පෑමක් සහිත තමන්ගේම Co>Operation System ඇත. ඔබට බාගැනීම් ප්‍රවාහයන් උපලේඛනගත කිරීමට සහ අධීක්ෂණය කිරීමට පාලන>මධ්‍යස්ථානයක් ඇත. Ab Initio GDE ඉඩ දෙනවාට වඩා ප්‍රාථමික මට්ටමින් සංවර්ධනය කිරීම සඳහා නිෂ්පාදන තිබේ.

MDW රාමුවේ විස්තරය සහ GreenPlum සඳහා එහි අභිරුචිකරණය පිළිබඳ වැඩ

එහි නිෂ්පාදන සමඟින්, වෙළෙන්දා විසින් MDW (Metadata Driven Warehouse) නිෂ්පාදනය සපයයි, එය දත්ත ගබඩා හෝ දත්ත සුරක්ෂිතාගාර ජනනය කිරීමේ සාමාන්‍ය කාර්යයන් සඳහා උපකාර කිරීමට නිර්මාණය කර ඇති ප්‍රස්ථාර වින්‍යාසකාරකයකි.

එහි අභිරුචි (ව්‍යාපෘති-විශේෂිත) පාර-දත්ත විග්‍රහ කරන්නන් සහ කොටුවෙන් පිටත සූදානම් කළ කේත උත්පාදක අඩංගු වේ.

ඔබට Sber පරිමාණයන් ඇති විට. Hive සහ GreenPlum සමඟ Ab Initio භාවිතා කිරීම
ආදානය ලෙස, MDW හට දත්ත ආකෘතියක්, දත්ත සමුදායකට (Oracle, Teradata හෝ Hive) සම්බන්ධතාවයක් සැකසීම සඳහා වින්‍යාස ගොනුවක් සහ වෙනත් සැකසුම් ලැබේ. උදාහරණයක් ලෙස, ව්‍යාපෘති-විශේෂිත කොටස, ආකෘතිය දත්ත ගබඩාවකට යොදවයි. නිෂ්පාදනයේ කොටුවෙන් පිටත කොටස ආකෘති වගු වෙත දත්ත පැටවීමෙන් ඒවා සඳහා ප්‍රස්ථාර සහ වින්‍යාස ගොනු උත්පාදනය කරයි. මෙම අවස්ථාවෙහිදී, ප්‍රස්ථාර (සහ psets) නිර්මාණය කරනු ලබන්නේ ආයතන යාවත්කාලීන කිරීමේදී ආරම්භක සහ වර්ධක වැඩ කිරීමේ ක්‍රම කිහිපයක් සඳහා ය.

Hive සහ RDBMS අවස්ථා වලදී, ආරම්භ කිරීම සහ වර්ධක දත්ත යාවත්කාලීන කිරීම සඳහා විවිධ ප්‍රස්ථාර ජනනය වේ.

Hive වලදී, පැමිණෙන ඩෙල්ටා දත්ත යාවත්කාලීන කිරීමට පෙර වගුවේ තිබූ දත්ත සමඟ Ab Initio Join හරහා සම්බන්ධ වේ. MDW හි දත්ත පූරක (Hive සහ RDBMS යන දෙකෙහිම) ඩෙල්ටාවෙන් නව දත්ත ඇතුළු කරනවා පමණක් නොව, ඩෙල්ටාවේ ප්‍රාථමික යතුරු ලැබුණු දත්තවල අදාළ කාල සීමාවන් වසා දමයි. ඊට අමතරව, ඔබට දත්තවල වෙනස් නොවූ කොටස නැවත ලිවිය යුතුය. නමුත් Hive හි මකාදැමීමේ හෝ යාවත්කාලීන කිරීමේ මෙහෙයුම් නොමැති නිසා මෙය කළ යුතුය.

ඔබට Sber පරිමාණයන් ඇති විට. Hive සහ GreenPlum සමඟ Ab Initio භාවිතා කිරීම

RDBMS සම්බන්ධයෙන් ගත් කල, වර්ධක දත්ත යාවත්කාලීන කිරීම සඳහා ප්‍රස්ථාර වඩාත් ප්‍රශස්ත ලෙස පෙනේ, මන්ද RDBMS හට සැබෑ යාවත්කාලීන කිරීමේ හැකියාව ඇත.

ඔබට Sber පරිමාණයන් ඇති විට. Hive සහ GreenPlum සමඟ Ab Initio භාවිතා කිරීම

ලැබුණු ඩෙල්ටා දත්ත ගබඩාවේ අතරමැදි වගුවකට පටවනු ලැබේ. මෙයින් පසු, ඩෙල්ටා යාවත්කාලීන කිරීමට පෙර වගුවේ තිබූ දත්ත වලට සම්බන්ධ වේ. තවද මෙය ජනනය කරන ලද SQL විමසුමක් භාවිතයෙන් SQL භාවිතයෙන් සිදු කෙරේ. මීලඟට, SQL විධානය භාවිතා කරමින්, delete+insert, ඩෙල්ටාවෙන් නව දත්ත ඉලක්ක වගුවට ඇතුළු කරනු ලබන අතර ඩෙල්ටාවේ ප්‍රාථමික යතුරු ලැබුණු දත්තවල අදාළ කාල සීමාවන් වසා ඇත.
වෙනස් නොවන දත්ත නැවත ලිවීමට අවශ්‍ය නැත.

ඉතින් අපි නිගමනයට ආවා Hive එකේ නම් MDW එකට සම්පූර්ණ table එක rewrite කරන්න යන්න වෙන්නේ Hive එකේ update function එකක් නැති නිසා. යාවත්කාලීන කිරීම සොයාගෙන ඇති විට දත්ත සම්පූර්ණයෙන්ම නැවත ලිවීමට වඩා හොඳ කිසිවක් නැත. RDBMS සම්බන්ධයෙන් ගත් කල, ඊට පටහැනිව, නිෂ්පාදනයේ නිර්මාතෘවරුන් විසින් SQL භාවිතය සඳහා වගු සම්බන්ධ කිරීම සහ යාවත්කාලීන කිරීම භාර දීමට අවශ්‍ය බව සොයා ගත්හ.

Sberbank හි ව්‍යාපෘතියක් සඳහා, අපි GreenPlum සඳහා දත්ත සමුදා පූරකයක නව, නැවත භාවිතා කළ හැකි ක්‍රියාත්මක කිරීමක් නිර්මාණය කළෙමු. MDW විසින් Teradata සඳහා ජනනය කරන අනුවාදය මත පදනම්ව මෙය සිදු කරන ලදී. මේ සඳහා වඩාත් සමීප වූයේ ටෙරාඩාටා මිස ඔරකල් නොවේ, මන්ද ... MPP පද්ධතියක් ද වේ. Teradata සහ GreenPlum හි වැඩ කිරීමේ ක්‍රම මෙන්ම වාක්‍ය ඛණ්ඩයද සමාන විය.

විවිධ RDBMS අතර MDW-විවේචනාත්මක වෙනස්කම් සඳහා උදාහරණ පහත පරිදි වේ. GreenPlum හි, Teradata මෙන් නොව, වගු නිර්මාණය කිරීමේදී ඔබ වගන්තියක් ලිවිය යුතුය

distributed by

Teradata මෙසේ ලියයි.

delete <table> all

, සහ GreenPlum හි ඔවුන් ලියයි

delete from <table>

ඔරකල් හි, ප්‍රශස්තිකරණ අරමුණු සඳහා ඔවුන් ලියයි

delete from t where rowid in (<соединение t с дельтой>)

, සහ Teradata සහ GreenPlum ලියන්න

delete from t where exists (select * from delta where delta.pk=t.pk)

Ab Initio හට GreenPlum සමඟ වැඩ කිරීමට නම්, Ab Initio පොකුරේ සියලුම නෝඩ් මත GreenPlum සේවාදායකයා ස්ථාපනය කිරීම අවශ්‍ය වූ බව අපි සටහන් කරමු. මෙයට හේතුව අපි අපගේ පොකුරේ සියලුම නෝඩ් වලින් එකවර GreenPlum වෙත සම්බන්ධ වීමයි. ග්‍රීන්ප්ලම් වෙතින් කියවීම සමාන්තරව සහ සෑම සමාන්තර Ab Initio ත්‍රෙඩ් එකක්ම GreenPlum වෙතින් තමන්ගේම දත්ත කොටසක් කියවීමට නම්, අපට Ab Initio විසින් අවබෝධ කරගත් ඉදිකිරීමක් SQL විමසුම්වල “තැන්” කොටසෙහි තැබීමට සිදු විය.

where ABLOCAL()

සහ පරිවර්තන දත්ත ගබඩාවෙන් පරාමිති කියවීම නියම කිරීමෙන් මෙම ඉදිකිරීමේ වටිනාකම තීරණය කරන්න

ablocal_expr=«string_concat("mod(t.", string_filter_out("{$TABLE_KEY}","{}"), ",", (decimal(3))(number_of_partitions()),")=", (decimal(3))(this_partition()))»

, වැනි දෙයකට සම්පාදනය කරයි

mod(sk,10)=3

, i.e. ඔබට එක් එක් කොටස සඳහා පැහැදිලි පෙරහනක් සමඟ GreenPlum විමසිය යුතුය. අනෙකුත් දත්ත සමුදායන් සඳහා (Teradata, Oracle), Ab Initio හට මෙම සමාන්තරකරණය ස්වයංක්‍රීයව සිදු කළ හැක.

Hive සහ GreenPlum අතර Ab Initio කාර්ය සාධන සංසන්දනය

Sberbank විසින් Hive සම්බන්ධව සහ GreenPlum සම්බන්ධව MDW-ජනනය කරන ලද ප්‍රස්ථාරවල ක්‍රියාකාරිත්වය සංසන්දනය කිරීමට අත්හදා බැලීමක් සිදු කරන ලදී. අත්හදා බැලීමේ කොටසක් ලෙස, Hive නඩුවේදී Ab Initio ලෙස එකම පොකුරේ නෝඩ් 5 ක් තිබූ අතර GreenPlum සම්බන්ධයෙන් වෙනම පොකුරක් මත නෝඩ් 4 ක් තිබුණි. එම. ග්‍රීන්ප්ලම් වලට වඩා හයිව්ට යම් දෘඪාංග වාසියක් තිබුණි.

Hive සහ GreenPlum හි දත්ත යාවත්කාලීන කිරීමේ එකම කාර්යය ඉටු කරන ප්‍රස්ථාර යුගල දෙකක් අපි සලකා බැලුවෙමු. ඒ සමගම, MDW වින්‍යාසකරු විසින් ජනනය කරන ලද ප්‍රස්ථාර දියත් කරන ලදී:

  • ආරම්භක භාරය + අහඹු ලෙස ජනනය කරන ලද දත්තවල වර්ධක භාරය Hive වගුවකට
  • ආරම්භක භාරය + අහඹු ලෙස උත්පාදනය කරන ලද දත්තවල වර්ධක භාරය එකම GreenPlum වගුවට

අවස්ථා දෙකේදීම (Hive සහ GreenPlum) ඔවුන් එකම Ab Initio පොකුරේ සමාන්තර නූල් 10කට උඩුගත කිරීම් ක්‍රියාත්මක කළා. Ab Initio HDFS හි ගණනය කිරීම් සඳහා අතරමැදි දත්ත සුරකින ලදී (Ab Initio අනුව, HDFS භාවිතා කරන MFS පිරිසැලසුම භාවිතා කරන ලදී). අහඹු ලෙස ජනනය කරන ලද දත්ත එක් පේළියක් අවස්ථා දෙකේදීම බයිට් 200ක් අල්ලාගෙන ඇත.

ප්රතිඵලය මෙසේ විය:

වඩාත් කාර්යබහුල අවධියක්:

Hive හි මූලික පැටවීම

පේළි ඇතුල් කර ඇත
6 000 000
60 000 000
600 000 000

ආරම්භක කාලය
තත්පර කිහිපයකින් බාගැනීම්
41
203
1 601

Hive හි වර්ධක පැටවීම

ලබා ගත හැකි පේළි ගණන
අත්හදා බැලීමේ ආරම්භයේ ඉලක්ක වගුව
6 000 000
60 000 000
600 000 000

යොදන ලද ඩෙල්ටා රේඛා ගණන
අත්හදා බැලීම අතරතුර ඉලක්ක වගුව
6 000 000
6 000 000
6 000 000

වර්ධක කාලය
තත්පර කිහිපයකින් බාගැනීම්
88
299
2 541

GreenPlum:

GreenPlum හි මූලික පැටවීම

පේළි ඇතුල් කර ඇත
6 000 000
60 000 000
600 000 000

ආරම්භක කාලය
තත්පර කිහිපයකින් බාගැනීම්
72
360
3 631

GreenPlum හි වර්ධක පැටවීම

ලබා ගත හැකි පේළි ගණන
අත්හදා බැලීමේ ආරම්භයේ ඉලක්ක වගුව
6 000 000
60 000 000
600 000 000

යොදන ලද ඩෙල්ටා රේඛා ගණන
අත්හදා බැලීම අතරතුර ඉලක්ක වගුව
6 000 000
6 000 000
6 000 000

වර්ධක කාලය
තත්පර කිහිපයකින් බාගැනීම්
159
199
321

Hive සහ GreenPlum යන දෙකෙහිම ආරම්භක පැටවීමේ වේගය රේඛීයව දත්ත ප්‍රමාණය මත රඳා පවතින අතර, වඩා හොඳ දෘඪාංග හේතූන් මත, එය GreenPlum සඳහා වඩා Hive සඳහා තරමක් වේගවත් බව අපට පෙනේ.

Hive හි වර්ධක පැටවීම ඉලක්ක වගුවේ ඇති කලින් පූරණය කරන ලද දත්තවල පරිමාව මත රේඛීයව රඳා පවතින අතර පරිමාව වර්ධනය වන විට තරමක් සෙමින් ඉදිරියට යයි. මෙයට හේතුව ඉලක්ක වගුව සම්පූර්ණයෙන්ම නැවත ලිවීමේ අවශ්‍යතාවයයි. මෙයින් අදහස් කරන්නේ විශාල වගු සඳහා කුඩා වෙනස්කම් යෙදීම Hive සඳහා හොඳ භාවිතයක් නොවන බවයි.

GreenPlum හි වර්ධක පූරණය දුර්වල ලෙස ඉලක්ක වගුවේ ඇති කලින් පටවන ලද දත්ත පරිමාව මත රඳා පවතින අතර ඉතා ඉක්මනින් ඉදිරියට යයි. මෙය සිදු වූයේ SQL Joins සහ GreenPlum ගෘහ නිර්මාණ ශිල්පයට ස්තූතිවන්ත වන අතර එය මකාදැමීමේ මෙහෙයුමට ඉඩ සලසයි.

එබැවින්, GreenPlum මකන්න+ ඇතුළු කිරීමේ ක්‍රමය භාවිතයෙන් ඩෙල්ටා එකතු කරයි, නමුත් Hive හට මකා දැමීම හෝ යාවත්කාලීන කිරීමේ මෙහෙයුම් නොමැත, එබැවින් වර්ධක යාවත්කාලීන කිරීමේදී සම්පූර්ණ දත්ත අරාව සම්පූර්ණයෙන්ම නැවත ලිවීමට බල කෙරුනි. තද අකුරින් උද්දීපනය කරන ලද සෛල සංසන්දනය වඩාත් හෙළිදරව් කරයි, මන්ද එය සම්පත්-දැඩි බාගැනීම් භාවිතා කිරීම සඳහා වඩාත් පොදු විකල්පයට අනුරූප වේ. මෙම පරීක්ෂණයේදී GreenPlum Hive පරාජය කළ බව අපට පෙනේ.

ආසන්න තථ්‍ය කාල මාදිලියේ GreenPlum සමඟ Ab Initio වැඩ කිරීම

මෙම අත්හදා බැලීමේදී, අපි ආසන්න තථ්‍ය කාලය තුළ අහඹු ලෙස ජනනය කරන ලද දත්ත කොටස් සමඟ GreenPlum වගුව යාවත්කාලීන කිරීමට Ab Initio ගේ හැකියාව පරීක්ෂා කරන්නෙමු. අපි වැඩ කරන GreenPlum වගුව dev42_1_db_usl.TESTING_SUBJ_org_finval සලකා බලමු.

අපි එය සමඟ වැඩ කිරීමට Ab Initio ප්‍රස්ථාර තුනක් භාවිතා කරන්නෙමු:

1) Create_test_data.mp ප්‍රස්තාරය - සමාන්තර නූල් 10 කින් පේළි 6 ක් සහිත HDFS හි දත්ත ගොනු නිර්මාණය කරයි. දත්ත අහඹු වේ, එහි ව්යුහය අපගේ වගුවට ඇතුල් කිරීම සඳහා සංවිධානය කර ඇත

ඔබට Sber පරිමාණයන් ඇති විට. Hive සහ GreenPlum සමඟ Ab Initio භාවිතා කිරීම

ඔබට Sber පරිමාණයන් ඇති විට. Hive සහ GreenPlum සමඟ Ab Initio භාවිතා කිරීම

2) mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset ප්‍රස්තාරය – සමාන්තර නූල් 10 කින් අපගේ වගුවට දත්ත ඇතුළු කිරීම ආරම්භ කිරීමෙන් MDW ප්‍රස්තාරය ජනනය කරන ලදී (ප්‍රස්ථාරය (1) මගින් ජනනය කරන ලද පරීක්ෂණ දත්ත භාවිතා කරයි)

ඔබට Sber පරිමාණයන් ඇති විට. Hive සහ GreenPlum සමඟ Ab Initio භාවිතා කිරීම

3) ප්‍රස්තාරය mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset - ප්‍රස්ථාරය (10) මගින් ජනනය කරන ලද නැවුම් ලැබුණු දත්ත (ඩෙල්ටා) කොටසක් භාවිතයෙන් සමාන්තර නූල් 1 කින් අපගේ වගුව වර්ධක යාවත්කාලීන කිරීම සඳහා MDW විසින් ජනනය කරන ලද ප්‍රස්ථාරයකි.

ඔබට Sber පරිමාණයන් ඇති විට. Hive සහ GreenPlum සමඟ Ab Initio භාවිතා කිරීම

පහත ස්ක්‍රිප්ට් එක NRT මාදිලියේ ධාවනය කරමු:

  • පරීක්ෂණ මාර්ග 6 ජනනය කරන්න
  • ආරම්භක භාරයක් හිස් වගුවකට පරීක්ෂණ පේළි 6ක් ඇතුල් කරන්න
  • වර්ධක බාගත කිරීම් 5 වතාවක් නැවත නැවත කරන්න
    • පරීක්ෂණ මාර්ග 6 ජනනය කරන්න
    • වගුව තුළට පරීක්ෂණ පේළි 6 ක වර්ධක ඇතුළු කිරීමක් සිදු කරන්න (මෙම අවස්ථාවේදී, වලංගු_to_ts කල් ඉකුත්වන කාලය පැරණි දත්තවලට සකසා ඇති අතර එම ප්‍රාථමික යතුර සමඟ වඩාත් මෑතකාලීන දත්ත ඇතුළත් කර ඇත)

මෙම දර්ශනය යම් ව්‍යාපාර පද්ධතියක සැබෑ ක්‍රියාකාරීත්වයේ ආකාරය අනුකරණය කරයි - නව දත්තවල තරමක් විශාල කොටසක් තත්‍ය කාලීනව දිස්වන අතර වහාම GreenPlum වෙත වත් කරනු ලැබේ.

දැන් අපි script එකේ log එක බලමු.

2020-06-04 11:49:11 ට Create_test_data.input.pset ආරම්භ කරන්න
Create_test_data.input.pset 2020-06-04 11:49:37 ට අවසන් කරන්න
42-1-2020 06:04:11 ට mdw_load.day_one.current.dev49_37_db_usl_testing_subj_org_finval.pset ආරම්භ කරන්න
mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset 2020-06-04 11:50:42 ට අවසන් කරන්න
2020-06-04 11:50:42 ට Create_test_data.input.pset ආරම්භ කරන්න
Create_test_data.input.pset 2020-06-04 11:51:06 ට අවසන් කරන්න
42-1-2020 06:04:11 ට mdw_load.regular.current.dev51_06_db_usl_testing_subj_org_finval.pset ආරම්භ කරන්න
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset 2020-06-04 11:53:41 ට අවසන් කරන්න
2020-06-04 11:53:41 ට Create_test_data.input.pset ආරම්භ කරන්න
Create_test_data.input.pset 2020-06-04 11:54:04 ට අවසන් කරන්න
42-1-2020 06:04:11 ට mdw_load.regular.current.dev54_04_db_usl_testing_subj_org_finval.pset ආරම්භ කරන්න
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset 2020-06-04 11:56:51 ට අවසන් කරන්න
2020-06-04 11:56:51 ට Create_test_data.input.pset ආරම්භ කරන්න
Create_test_data.input.pset 2020-06-04 11:57:14 ට අවසන් කරන්න
42-1-2020 06:04:11 ට mdw_load.regular.current.dev57_14_db_usl_testing_subj_org_finval.pset ආරම්භ කරන්න
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset 2020-06-04 11:59:55 ට අවසන් කරන්න
2020-06-04 11:59:55 ට Create_test_data.input.pset ආරම්භ කරන්න
Create_test_data.input.pset 2020-06-04 12:00:23 ට අවසන් කරන්න
42-1-2020 06:04:12 ට mdw_load.regular.current.dev00_23_db_usl_testing_subj_org_finval.pset ආරම්භ කරන්න
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset 2020-06-04 12:03:23 ට අවසන් කරන්න
2020-06-04 12:03:23 ට Create_test_data.input.pset ආරම්භ කරන්න
Create_test_data.input.pset 2020-06-04 12:03:49 ට අවසන් කරන්න
42-1-2020 06:04:12 ට mdw_load.regular.current.dev03_49_db_usl_testing_subj_org_finval.pset ආරම්භ කරන්න
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset 2020-06-04 12:06:46 ට අවසන් කරන්න

එය මෙම පින්තූරය හැරෙනවා:

ප්රස්ථාරය
ආරම්භක කාලය
කාලය අවසන් කරන්න
දිග

Create_test_data.input.pset
04.06.2020 11: 49: 11
04.06.2020 11: 49: 37
00:00:26

mdw_load.day_one.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 11: 49: 37
04.06.2020 11: 50: 42
00:01:05

Create_test_data.input.pset
04.06.2020 11: 50: 42
04.06.2020 11: 51: 06
00:00:24

mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 11: 51: 06
04.06.2020 11: 53: 41
00:02:35

Create_test_data.input.pset
04.06.2020 11: 53: 41
04.06.2020 11: 54: 04
00:00:23

mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 11: 54: 04
04.06.2020 11: 56: 51
00:02:47

Create_test_data.input.pset
04.06.2020 11: 56: 51
04.06.2020 11: 57: 14
00:00:23

mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 11: 57: 14
04.06.2020 11: 59: 55
00:02:41

Create_test_data.input.pset
04.06.2020 11: 59: 55
04.06.2020 12: 00: 23
00:00:28

mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 12: 00: 23
04.06.2020 12: 03: 23
00:03:00

Create_test_data.input.pset
04.06.2020 12: 03: 23
04.06.2020 12: 03: 49
00:00:26

mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 12: 03: 49
04.06.2020 12: 06: 46
00:02:57

වර්ධක රේඛා 6 ක් මිනිත්තු 000 කින් සකසන බව අපට පෙනේ, එය තරමක් වේගවත් ය.
ඉලක්ක වගුවේ දත්ත පහත පරිදි බෙදා හැර ඇත:

select valid_from_ts, valid_to_ts, count(1), min(sk), max(sk) from dev42_1_db_usl.TESTING_SUBJ_org_finval group by valid_from_ts, valid_to_ts order by 1,2;

ඔබට Sber පරිමාණයන් ඇති විට. Hive සහ GreenPlum සමඟ Ab Initio භාවිතා කිරීම
ප්‍රස්ථාර දියත් කළ වේලාවට ඇතුළත් කළ දත්තවල ලිපි හුවමාරුව ඔබට දැක ගත හැකිය.
මෙයින් අදහස් කරන්නේ ඔබට ඉතා ඉහළ සංඛ්‍යාතයකින් Ab Initio හි GreenPlum වෙත වර්ධක දත්ත පැටවීම ක්‍රියාත්මක කළ හැකි අතර මෙම දත්ත GreenPlum වෙත ඇතුළත් කිරීමේ ඉහළ වේගයක් නිරීක්ෂණය කළ හැකි බවයි. ඇත්ත වශයෙන්ම, ඕනෑම ETL මෙවලමක් මෙන් Ab Initio හට දියත් කළ විට "ආරම්භ කිරීමට" කාලය අවශ්‍ය වන බැවින්, තත්පරයකට වරක් දියත් කිරීමට නොහැකි වනු ඇත.

නිගමනය

Ab Initio දැනට Sberbank හි Unified Semantic Data Layer (ESS) තැනීමට භාවිතා කරයි. මෙම ව්‍යාපෘතියට විවිධ බැංකු ව්‍යාපාරික ආයතනවල රාජ්‍යයේ ඒකාබද්ධ අනුවාදයක් ගොඩනැගීම ඇතුළත් වේ. තොරතුරු විවිධ මූලාශ්‍රවලින් ලැබෙන අතර, ඒවායේ අනුරූ Hadoop මත සකස් කර ඇත. ව්‍යාපාරික අවශ්‍යතා මත පදනම්ව, දත්ත ආකෘතියක් සකස් කර දත්ත පරිවර්තනයන් විස්තර කෙරේ. Ab Initio විසින් ESN වෙත තොරතුරු පූරණය කරන අතර බාගත කරන ලද දත්ත ව්‍යාපාරයට උනන්දුවක් දක්වනවා පමණක් නොව, දත්ත ගබඩා ගොඩනැගීම සඳහා මූලාශ්‍රයක් ලෙසද ක්‍රියා කරයි. ඒ අතරම, නිෂ්පාදනයේ ක්‍රියාකාරීත්වය මඟින් ඔබට ග්‍රාහකයක් (Hive, Greenplum, Teradata, Oracle) ලෙස විවිධ පද්ධති භාවිතා කිරීමට ඉඩ සලසයි, එමඟින් ව්‍යාපාරයක් සඳහා අවශ්‍ය විවිධ ආකෘතිවලින් දත්ත පහසුවෙන් සකස් කිරීමට හැකි වේ.

Ab Initio හි හැකියාවන් පුළුල් ය; උදාහරණයක් ලෙස, ඇතුළත් කර ඇති MDW රාමුව මඟින් තාක්ෂණික සහ ව්‍යාපාරික ඓතිහාසික දත්ත කොටුවෙන් පිටත ගොඩනගා ගැනීමට හැකි වේ. සංවර්ධකයින් සඳහා, Ab Initio මඟින් රෝදය ප්‍රතිනිර්මාණය කිරීම නොව, දත්ත සමඟ වැඩ කිරීමේදී අත්‍යවශ්‍යයෙන්ම අවශ්‍ය පුස්තකාල වන බොහෝ ක්‍රියාකාරී සංරචක භාවිතා කිරීමට හැකි වේ.

කතුවරයා Sberbank SberProfi DWH/BigData හි වෘත්තීය ප්‍රජාවේ විශේෂඥයෙකි. SberProfi DWH/BigData වෘත්තීය ප්‍රජාව Hadoop පරිසර පද්ධතිය, Teradata, Oracle DB, GreenPlum, මෙන්ම BI මෙවලම් Qlik, SAP BO, Tableau වැනි ක්ෂේත්‍රවල නිපුණතා වර්ධනය කිරීම සඳහා වගකිව යුතුය.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න