உங்களிடம் Sber செதில்கள் இருக்கும்போது. ஹைவ் மற்றும் கிரீன்பிளமுடன் Ab Initio ஐப் பயன்படுத்துதல்

சில காலத்திற்கு முன்பு, பிக் டேட்டாவுடன் பணிபுரிய ETL கருவியைத் தேர்ந்தெடுக்கும் கேள்வியை நாங்கள் எதிர்கொண்டோம். முன்னர் பயன்படுத்தப்பட்ட Informatica BDM தீர்வு வரையறுக்கப்பட்ட செயல்பாட்டின் காரணமாக எங்களுக்குப் பொருந்தவில்லை. அதன் பயன்பாடு தீப்பொறி-சமர்ப்பி கட்டளைகளை தொடங்குவதற்கான ஒரு கட்டமைப்பாக குறைக்கப்பட்டுள்ளது. சந்தையில் பல ஒப்புமைகள் இல்லை, அவை கொள்கையளவில், ஒவ்வொரு நாளும் நாங்கள் கையாளும் தரவின் அளவோடு வேலை செய்யும் திறன் கொண்டவை. இறுதியில் நாங்கள் Ab Initio ஐ தேர்வு செய்தோம். பைலட் ஆர்ப்பாட்டங்களின் போது, ​​தயாரிப்பு மிக அதிக தரவு செயலாக்க வேகத்தைக் காட்டியது. ரஷ்ய மொழியில் Ab Initio பற்றி கிட்டத்தட்ட எந்த தகவலும் இல்லை, எனவே Habré இல் எங்கள் அனுபவத்தைப் பற்றி பேச முடிவு செய்தோம்.

Ab Initio பல உன்னதமான மற்றும் அசாதாரண மாற்றங்களைக் கொண்டுள்ளது, அதன் குறியீடு அதன் சொந்த PDL மொழியைப் பயன்படுத்தி நீட்டிக்கப்படலாம். ஒரு சிறு வணிகத்தைப் பொறுத்தவரை, அத்தகைய சக்திவாய்ந்த கருவி மிகையாக இருக்கும், மேலும் அதன் பெரும்பாலான திறன்கள் விலை உயர்ந்ததாகவும் பயன்படுத்தப்படாததாகவும் இருக்கலாம். ஆனால் உங்கள் அளவு ஸ்பெரோவின் அளவிற்கு நெருக்கமாக இருந்தால், Ab Initio உங்களுக்கு சுவாரஸ்யமாக இருக்கலாம்.

இது ஒரு வணிகத்திற்கு உலகளவில் அறிவைக் குவிக்கவும் சுற்றுச்சூழல் அமைப்பை உருவாக்கவும் உதவுகிறது, மேலும் ஒரு டெவலப்பர் ETL இல் தனது திறன்களை மேம்படுத்தவும், ஷெல்லில் தனது அறிவை மேம்படுத்தவும், PDL மொழியில் தேர்ச்சி பெறுவதற்கான வாய்ப்பை வழங்குகிறது, ஏற்றுதல் செயல்முறைகளின் காட்சிப் படத்தை வழங்குகிறது, மேலும் வளர்ச்சியை எளிதாக்குகிறது. ஏராளமான செயல்பாட்டு கூறுகள் காரணமாக.

இந்த இடுகையில் நான் Ab Initio இன் திறன்களைப் பற்றி பேசுவேன் மற்றும் Hive மற்றும் GreenPlum உடன் அதன் பணியின் ஒப்பீட்டு பண்புகளை வழங்குவேன்.

  • MDW கட்டமைப்பின் விளக்கம் மற்றும் GreenPlum க்கான அதன் தனிப்பயனாக்கத்திற்கான வேலை
  • ஹைவ் மற்றும் கிரீன் ப்ளம் இடையே Ab Initio செயல்திறன் ஒப்பீடு
  • நியர் டைம் பயன்முறையில் GreenPlum உடன் Ab Initio வேலை


இந்த தயாரிப்பின் செயல்பாடு மிகவும் விரிவானது மற்றும் படிக்க நிறைய நேரம் தேவைப்படுகிறது. இருப்பினும், சரியான வேலை திறன்கள் மற்றும் சரியான செயல்திறன் அமைப்புகளுடன், தரவு செயலாக்கத்தின் முடிவுகள் மிகவும் ஈர்க்கக்கூடியவை. ஒரு டெவலப்பருக்கு Ab Initio ஐப் பயன்படுத்துவது ஒரு சுவாரஸ்யமான அனுபவத்தை அளிக்கும். இது ETL மேம்பாட்டிற்கான ஒரு புதிய அம்சமாகும், இது காட்சி சூழல் மற்றும் ஸ்கிரிப்ட் போன்ற மொழியில் பதிவிறக்க மேம்பாட்டிற்கு இடையேயான கலப்பினமாகும்.

வணிகங்கள் தங்கள் சுற்றுச்சூழல் அமைப்புகளை உருவாக்கி வருகின்றன, மேலும் இந்த கருவி முன்னெப்போதையும் விட கைக்குள் வருகிறது. Ab Initio மூலம், உங்கள் தற்போதைய வணிகத்தைப் பற்றிய அறிவைப் பெறலாம் மற்றும் பழைய மற்றும் புதிய வணிகங்களை விரிவுபடுத்த இந்த அறிவைப் பயன்படுத்தலாம். Ab Initio விற்கு மாற்றாக காட்சி மேம்பாட்டு சூழல்கள் Informatica BDM மற்றும் காட்சி அல்லாத வளர்ச்சி சூழல்கள் Apache Spark ஆகியவை அடங்கும்.

Ab Initio இன் விளக்கம்

Ab Initio, மற்ற ETL கருவிகளைப் போலவே, தயாரிப்புகளின் தொகுப்பாகும்.

உங்களிடம் Sber செதில்கள் இருக்கும்போது. ஹைவ் மற்றும் கிரீன்பிளமுடன் Ab Initio ஐப் பயன்படுத்துதல்

Ab Initio GDE (வரைகலை மேம்பாட்டு சூழல்) என்பது டெவலப்பருக்கான ஒரு சூழலாகும், அதில் அவர் தரவு மாற்றங்களை உள்ளமைத்து அவற்றை அம்புகள் வடிவில் தரவு ஓட்டங்களுடன் இணைக்கிறார். இந்த வழக்கில், அத்தகைய மாற்றங்களின் தொகுப்பு வரைபடம் என்று அழைக்கப்படுகிறது:

உங்களிடம் Sber செதில்கள் இருக்கும்போது. ஹைவ் மற்றும் கிரீன்பிளமுடன் Ab Initio ஐப் பயன்படுத்துதல்

செயல்பாட்டுக் கூறுகளின் உள்ளீடு மற்றும் வெளியீடு இணைப்புகள் துறைமுகங்கள் மற்றும் உருமாற்றங்களுக்குள் கணக்கிடப்பட்ட புலங்களைக் கொண்டிருக்கும். அவற்றின் செயல்பாட்டின் வரிசையில் அம்புகள் வடிவில் ஓட்டங்கள் மூலம் இணைக்கப்பட்ட பல வரைபடங்கள் ஒரு திட்டம் என்று அழைக்கப்படுகின்றன.

பல நூறு செயல்பாட்டு கூறுகள் உள்ளன, இது நிறைய உள்ளது. அவர்களில் பலர் மிகவும் சிறப்பு வாய்ந்தவர்கள். Ab Initio இல் உள்ள கிளாசிக் மாற்றங்களின் திறன்கள் மற்ற ETL கருவிகளை விட பரந்த அளவில் உள்ளன. எடுத்துக்காட்டாக, Join பல வெளியீடுகளைக் கொண்டுள்ளது. தரவுத்தொகுப்புகளை இணைப்பதன் விளைவாக கூடுதலாக, விசைகளை இணைக்க முடியாத உள்ளீட்டு தரவுத்தொகுப்புகளின் வெளியீட்டு பதிவுகளை நீங்கள் பெறலாம். நீங்கள் நிராகரிப்புகள், பிழைகள் மற்றும் உருமாற்றச் செயல்பாட்டின் பதிவையும் பெறலாம், இது உரைக் கோப்பின் அதே நெடுவரிசையில் படிக்கப்படலாம் மற்றும் பிற மாற்றங்களுடன் செயலாக்கப்படும்:

உங்களிடம் Sber செதில்கள் இருக்கும்போது. ஹைவ் மற்றும் கிரீன்பிளமுடன் Ab Initio ஐப் பயன்படுத்துதல்

அல்லது, எடுத்துக்காட்டாக, ஒரு டேட்டா ரிசீவரை டேபிள் வடிவில் உருவாக்கி, அதிலிருந்து தரவை அதே நெடுவரிசையில் படிக்கலாம்.

அசல் மாற்றங்கள் உள்ளன. எடுத்துக்காட்டாக, ஸ்கேன் மாற்றமானது பகுப்பாய்வு செயல்பாடுகளைப் போன்ற செயல்பாட்டைக் கொண்டுள்ளது. சுய விளக்கப் பெயர்களுடன் மாற்றங்கள் உள்ளன: தரவை உருவாக்கவும், எக்செல் படிக்கவும், இயல்பாக்கவும், குழுக்களுக்குள் வரிசைப்படுத்தவும், நிரலை இயக்கவும், SQL ஐ இயக்கவும், DB உடன் சேரவும், முதலியன. வரைபடங்கள் இயக்க நேர அளவுருக்களைப் பயன்படுத்தலாம். இயக்க முறைமை. வரைபடத்திற்கு அனுப்பப்பட்ட அளவுருக்களின் ஆயத்த தொகுப்பு கொண்ட கோப்புகள் அளவுரு தொகுப்புகள் (psets) எனப்படும்.

எதிர்பார்த்தபடி, Ab Initio GDE அதன் சொந்த களஞ்சியமான EME (Enterprise Meta Environment) எனப்படும். டெவலப்பர்கள் குறியீட்டின் உள்ளூர் பதிப்புகளுடன் பணிபுரிய வாய்ப்பு உள்ளது மற்றும் அவற்றின் வளர்ச்சிகளை மைய களஞ்சியத்தில் சரிபார்க்கவும்.

செயல்பாட்டின் போது அல்லது வரைபடத்தை இயக்கிய பின், மாற்றத்தை இணைக்கும் எந்த ஓட்டத்தையும் கிளிக் செய்து, இந்த மாற்றங்களுக்கு இடையில் கடந்து செல்லும் தரவைப் பார்க்கவும்:

உங்களிடம் Sber செதில்கள் இருக்கும்போது. ஹைவ் மற்றும் கிரீன்பிளமுடன் Ab Initio ஐப் பயன்படுத்துதல்

எந்த ஸ்ட்ரீமையும் கிளிக் செய்து, கண்காணிப்பு விவரங்களைப் பார்க்கவும் முடியும் - மாற்றம் எத்தனை இணைகளில் வேலை செய்தது, எந்த இணைகளில் எத்தனை கோடுகள் மற்றும் பைட்டுகள் ஏற்றப்பட்டன:

உங்களிடம் Sber செதில்கள் இருக்கும்போது. ஹைவ் மற்றும் கிரீன்பிளமுடன் Ab Initio ஐப் பயன்படுத்துதல்

வரைபடத்தின் செயலாக்கத்தை கட்டங்களாகப் பிரித்து, சில மாற்றங்கள் முதலில் (பூஜ்ஜிய கட்டத்தில்), அடுத்தவை முதல் கட்டத்தில், அடுத்தவை இரண்டாம் கட்டத்தில், முதலியன செய்யப்பட வேண்டும் என்பதைக் குறிக்கலாம்.

ஒவ்வொரு மாற்றத்திற்கும், நீங்கள் தளவமைப்பு என்று அழைக்கப்படுவதைத் தேர்வு செய்யலாம் (அது செயல்படுத்தப்படும்): இணைகள் இல்லாமல் அல்லது இணையான நூல்களில், அவற்றின் எண்ணிக்கையை குறிப்பிடலாம். அதே நேரத்தில், மாற்றங்கள் இயங்கும் போது Ab Initio உருவாக்கும் தற்காலிக கோப்புகள் சர்வர் கோப்பு முறைமை மற்றும் HDFS இரண்டிலும் வைக்கப்படும்.

ஒவ்வொரு மாற்றத்திலும், இயல்புநிலை டெம்ப்ளேட்டின் அடிப்படையில், நீங்கள் PDL இல் உங்கள் சொந்த ஸ்கிரிப்டை உருவாக்கலாம், இது ஷெல் போன்றது.

PDL மூலம், நீங்கள் மாற்றங்களின் செயல்பாட்டை நீட்டிக்க முடியும், குறிப்பாக, இயக்க நேர அளவுருக்களைப் பொறுத்து நீங்கள் மாறும் வகையில் (இயக்க நேரத்தில்) தன்னிச்சையான குறியீடு துண்டுகளை உருவாக்கலாம்.

Ab Initio ஷெல் வழியாக OS உடன் நன்கு வளர்ந்த ஒருங்கிணைப்பையும் கொண்டுள்ளது. குறிப்பாக, Sberbank linux ksh ஐப் பயன்படுத்துகிறது. நீங்கள் ஷெல் மூலம் மாறிகளை பரிமாறி அவற்றை வரைபட அளவுருக்களாகப் பயன்படுத்தலாம். ஷெல்லில் இருந்து Ab Initio வரைபடங்களை செயல்படுத்துவதை நீங்கள் அழைக்கலாம் மற்றும் Ab Initio ஐ நிர்வகிக்கலாம்.

Ab Initio GDE ஐத் தவிர, பல பிற தயாரிப்புகளும் டெலிவரியில் சேர்க்கப்பட்டுள்ளன. இயங்குதளம் என்று அழைக்கப்படும் உரிமையுடன் அதன் சொந்த கூட்டுறவு>ஆப்பரேஷன் சிஸ்டம் உள்ளது. ஒரு கட்டுப்பாடு>மையம் உள்ளது, அங்கு நீங்கள் பதிவிறக்க ஓட்டங்களை திட்டமிடலாம் மற்றும் கண்காணிக்கலாம். Ab Initio GDE அனுமதிப்பதை விட மிகவும் பழமையான மட்டத்தில் மேம்பாடு செய்வதற்கான தயாரிப்புகள் உள்ளன.

MDW கட்டமைப்பின் விளக்கம் மற்றும் GreenPlum க்கான அதன் தனிப்பயனாக்கத்திற்கான வேலை

அதன் தயாரிப்புகளுடன், விற்பனையாளர் MDW (மெட்டாடேட்டா டிரைவன் வேர்ஹவுஸ்) தயாரிப்பை வழங்குகிறார், இது தரவுக் கிடங்குகள் அல்லது தரவு பெட்டகங்களை மக்கள்தொகைப்படுத்தும் வழக்கமான பணிகளுக்கு உதவ வடிவமைக்கப்பட்ட ஒரு வரைபட கட்டமைப்பாகும்.

இது தனிப்பயன் (திட்டம்-குறிப்பிட்ட) மெட்டாடேட்டா பாகுபடுத்திகள் மற்றும் பெட்டிக்கு வெளியே தயாராக தயாரிக்கப்பட்ட குறியீடு ஜெனரேட்டர்களைக் கொண்டுள்ளது.

உங்களிடம் Sber செதில்கள் இருக்கும்போது. ஹைவ் மற்றும் கிரீன்பிளமுடன் Ab Initio ஐப் பயன்படுத்துதல்
உள்ளீடாக, MDW ஒரு தரவு மாதிரியைப் பெறுகிறது, ஒரு தரவுத்தளத்திற்கான இணைப்பை அமைப்பதற்கான ஒரு கட்டமைப்பு கோப்பு (Oracle, Teradata அல்லது Hive) மற்றும் வேறு சில அமைப்புகளை. திட்ட-குறிப்பிட்ட பகுதி, எடுத்துக்காட்டாக, மாதிரியை ஒரு தரவுத்தளத்தில் வரிசைப்படுத்துகிறது. மாதிரி அட்டவணையில் தரவை ஏற்றுவதன் மூலம் தயாரிப்பின் வெளியே உள்ள பகுதி வரைபடங்கள் மற்றும் உள்ளமைவு கோப்புகளை உருவாக்குகிறது. இந்த வழக்கில், வரைபடங்கள் (மற்றும் psets) நிறுவனங்களை புதுப்பிப்பதற்கான துவக்க மற்றும் அதிகரிக்கும் வேலைகளின் பல முறைகளுக்காக உருவாக்கப்படுகின்றன.

ஹைவ் மற்றும் ஆர்.டி.பி.எம்.எஸ் நிகழ்வுகளில், துவக்க மற்றும் அதிகரிக்கும் தரவு புதுப்பிப்புகளுக்கு வெவ்வேறு வரைபடங்கள் உருவாக்கப்படுகின்றன.

ஹைவ் விஷயத்தில், இன்கமிங் டெல்டா டேட்டா அப்டேட் செய்வதற்கு முன் டேபிளில் இருந்த டேட்டாவுடன் Ab Initio Join வழியாக இணைக்கப்பட்டுள்ளது. MDW இல் உள்ள தரவு ஏற்றிகள் (ஹைவ் மற்றும் RDBMS இரண்டிலும்) டெல்டாவிலிருந்து புதிய தரவைச் செருகுவது மட்டுமல்லாமல், முதன்மை விசைகள் டெல்டாவைப் பெற்ற தரவின் தொடர்புடைய காலங்களையும் மூடும். கூடுதலாக, நீங்கள் தரவின் மாறாத பகுதியை மீண்டும் எழுத வேண்டும். ஆனால் ஹைவ் நீக்குதல் அல்லது புதுப்பித்தல் செயல்பாடுகள் இல்லாததால் இதைச் செய்ய வேண்டும்.

உங்களிடம் Sber செதில்கள் இருக்கும்போது. ஹைவ் மற்றும் கிரீன்பிளமுடன் Ab Initio ஐப் பயன்படுத்துதல்

RDBMS ஐப் பொறுத்தவரை, அதிகரிக்கும் தரவு புதுப்பிப்புக்கான வரைபடங்கள் மிகவும் உகந்ததாக இருக்கும், ஏனெனில் RDBMS உண்மையான புதுப்பித்தல் திறன்களைக் கொண்டுள்ளது.

உங்களிடம் Sber செதில்கள் இருக்கும்போது. ஹைவ் மற்றும் கிரீன்பிளமுடன் Ab Initio ஐப் பயன்படுத்துதல்

பெறப்பட்ட டெல்டா தரவுத்தளத்தில் ஒரு இடைநிலை அட்டவணையில் ஏற்றப்படுகிறது. இதற்குப் பிறகு, புதுப்பிப்புக்கு முன் அட்டவணையில் இருந்த தரவுகளுடன் டெல்டா இணைக்கப்பட்டுள்ளது. மேலும் இது உருவாக்கப்பட்ட SQL வினவலைப் பயன்படுத்தி SQL ஐப் பயன்படுத்தி செய்யப்படுகிறது. அடுத்து, SQL கட்டளைகளைப் பயன்படுத்தி, delete+insert, டெல்டாவிலிருந்து புதிய தரவு இலக்கு அட்டவணையில் செருகப்படுகிறது மற்றும் டெல்டாவைப் பெற்ற முதன்மை விசைகள் மூடப்பட்ட தரவின் தொடர்புடைய காலங்கள்.
மாறாத தரவை மீண்டும் எழுத வேண்டிய அவசியமில்லை.

எனவே ஹைவ் விஷயத்தில், MDW ஆனது முழு அட்டவணையையும் மீண்டும் எழுத வேண்டும் என்ற முடிவுக்கு வந்தோம், ஏனெனில் ஹைவ் புதுப்பிப்பு செயல்பாடு இல்லை. புதுப்பித்தல் கண்டுபிடிக்கப்பட்டபோது தரவை முழுமையாக மீண்டும் எழுதுவதை விட சிறந்தது எதுவுமில்லை. RDBMS விஷயத்தில், மாறாக, தயாரிப்பை உருவாக்கியவர்கள் SQL இன் பயன்பாட்டிற்கான இணைப்பு மற்றும் அட்டவணைகளின் புதுப்பிப்பை ஒப்படைக்க வேண்டியது அவசியம் என்று கண்டறிந்தனர்.

Sberbank இல் ஒரு திட்டத்திற்காக, GreenPlum க்கான தரவுத்தள ஏற்றியின் புதிய, மீண்டும் பயன்படுத்தக்கூடிய செயலாக்கத்தை நாங்கள் உருவாக்கியுள்ளோம். டெராடேட்டாவுக்காக MDW உருவாக்கும் பதிப்பின் அடிப்படையில் இது செய்யப்பட்டது. டெராடேட்டா தான் ஆரக்கிள் அல்ல, இதற்கு மிக அருகில் வந்தது, ஏனெனில்... MPP அமைப்பாகவும் உள்ளது. டெராடேட்டா மற்றும் கிரீன்பிளமின் வேலை முறைகள் மற்றும் தொடரியல் ஆகியவை ஒரே மாதிரியாக மாறியது.

வெவ்வேறு RDBMSகளுக்கு இடையிலான MDW-முக்கிய வேறுபாடுகளின் எடுத்துக்காட்டுகள் பின்வருமாறு. கிரீன்பிளமில், டெராடேட்டாவைப் போலன்றி, அட்டவணைகளை உருவாக்கும் போது நீங்கள் ஒரு விதியை எழுத வேண்டும்

distributed by

டெராடேட்டா எழுதுகிறார்:

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 உடன் இணைக்கப்பட்டுள்ளோம். மேலும் GreenPlum இலிருந்து வாசிப்பதற்கு இணையாகவும், ஒவ்வொரு இணையான Ab Initio நூலும் GreenPlum இலிருந்து அதன் சொந்த தரவைப் படிக்கவும், SQL வினவல்களின் "எங்கே" பிரிவில் Ab Initio புரிந்து கொண்ட ஒரு கட்டுமானத்தை வைக்க வேண்டும்.

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

, அதாவது ஒவ்வொரு பகிர்வுக்கும் ஒரு வெளிப்படையான வடிகட்டியுடன் GreenPlum ஐ கேட்க வேண்டும். பிற தரவுத்தளங்களுக்கு (Teradata, Oracle), Ab Initio இந்த இணையாக்கத்தை தானாகவே செய்ய முடியும்.

ஹைவ் மற்றும் கிரீன் ப்ளம் இடையே Ab Initio செயல்திறன் ஒப்பீடு

ஹைவ் தொடர்பாகவும் GreenPlum தொடர்பாகவும் MDW-உருவாக்கப்பட்ட வரைபடங்களின் செயல்திறனை ஒப்பிடுவதற்கு Sberbank ஒரு பரிசோதனையை நடத்தியது. சோதனையின் ஒரு பகுதியாக, ஹைவ் விஷயத்தில் Ab Initio போன்ற அதே கிளஸ்டரில் 5 முனைகள் இருந்தன, மேலும் GreenPlum விஷயத்தில் ஒரு தனி கிளஸ்டரில் 4 முனைகள் இருந்தன. அந்த. க்ரீன்பிளமை விட ஹைவ் சில வன்பொருள் நன்மைகளைக் கொண்டிருந்தது.

ஹைவ் மற்றும் கிரீன்பிளமில் தரவைப் புதுப்பிக்கும் அதே பணியைச் செய்யும் இரண்டு ஜோடி வரைபடங்களைக் கருத்தில் கொண்டோம். அதே நேரத்தில், MDW கட்டமைப்பாளரால் உருவாக்கப்பட்ட வரைபடங்கள் தொடங்கப்பட்டன:

  • ஆரம்ப சுமை + ஹைவ் டேபிளில் தோராயமாக உருவாக்கப்பட்ட தரவுகளின் அதிகரிக்கும் சுமை
  • ஆரம்ப சுமை + அதே GreenPlum அட்டவணையில் தோராயமாக உருவாக்கப்பட்ட தரவுகளின் அதிகரிக்கும் சுமை

இரண்டு நிகழ்வுகளிலும் (Hive மற்றும் GreenPlum) அவர்கள் ஒரே Ab Initio கிளஸ்டரில் 10 இணையான இழைகளுக்கு பதிவேற்றங்களை இயக்கினர். HDFS இல் கணக்கீடுகளுக்கான இடைநிலைத் தரவை Ab Initio சேமித்தது (Ab Initio அடிப்படையில், HDFS ஐப் பயன்படுத்தி MFS தளவமைப்பு பயன்படுத்தப்பட்டது). தோராயமாக உருவாக்கப்பட்ட தரவுகளின் ஒரு வரி இரண்டு நிகழ்வுகளிலும் 200 பைட்டுகளை ஆக்கிரமித்துள்ளது.

முடிவு இப்படி இருந்தது:

ஹைவ்:

ஹைவில் ஆரம்ப ஏற்றுதல்

வரிசைகள் செருகப்பட்டன
6 000 000
60 000 000
600 000 000

துவக்க காலம்
நொடிகளில் பதிவிறக்கம்
41
203
1 601

ஹைவில் அதிகரிக்கும் ஏற்றுதல்

கிடைக்கும் வரிசைகளின் எண்ணிக்கை
சோதனையின் தொடக்கத்தில் இலக்கு அட்டவணை
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

ஹைவ் மற்றும் கிரீன்பிளம் இரண்டிலும் ஆரம்ப ஏற்றுதலின் வேகம் நேரியல் தரவின் அளவைப் பொறுத்தது என்பதையும், சிறந்த வன்பொருள் காரணங்களுக்காக, க்ரீன்பிளமை விட ஹைவ் சற்று வேகமானது என்பதையும் நாங்கள் காண்கிறோம்.

ஹைவில் அதிகரிக்கும் ஏற்றுதல், இலக்கு அட்டவணையில் ஏற்கனவே ஏற்றப்பட்ட தரவின் அளவைப் பொறுத்து நேரியல் சார்ந்தது மற்றும் தொகுதி வளரும்போது மெதுவாகச் செல்கிறது. இலக்கு அட்டவணையை முழுமையாக மீண்டும் எழுத வேண்டியதன் அவசியத்தால் இது ஏற்படுகிறது. இதன் பொருள் பெரிய அட்டவணைகளில் சிறிய மாற்றங்களைப் பயன்படுத்துவது ஹைவ் ஒரு நல்ல பயன்பாடல்ல.

கிரீன்பிளமில் அதிகரிக்கும் ஏற்றுதல், இலக்கு அட்டவணையில் உள்ள முன்னர் ஏற்றப்பட்ட தரவின் அளவைப் பொறுத்தது மற்றும் மிக விரைவாகச் செல்கிறது. இது SQL Joins மற்றும் GreenPlum கட்டமைப்புக்கு நன்றி, இது நீக்கும் செயல்பாட்டை அனுமதிக்கிறது.

எனவே, GreenPlum டெலிட்+செர்ட் முறையைப் பயன்படுத்தி டெல்டாவைச் சேர்க்கிறது, ஆனால் ஹைவ் நீக்குதல் அல்லது புதுப்பித்தல் செயல்பாடுகளைக் கொண்டிருக்கவில்லை, எனவே முழு தரவு வரிசையும் அதிகரிக்கும் புதுப்பிப்பின் போது முழுவதுமாக மீண்டும் எழுத வேண்டிய கட்டாயம் ஏற்பட்டது. தடிமனாக உயர்த்தி காட்டப்பட்ட கலங்களின் ஒப்பீடு மிகவும் வெளிப்படுத்துகிறது, ஏனெனில் இது வள-தீவிர பதிவிறக்கங்களைப் பயன்படுத்துவதற்கான பொதுவான விருப்பத்திற்கு ஒத்திருக்கிறது. இந்த சோதனையில் கிரீன்பிளம் ஹைவ்வை 8 முறை வென்றதைக் காண்கிறோம்.

நியர் டைம் பயன்முறையில் GreenPlum உடன் Ab Initio வேலை

இந்தச் சோதனையில், தற்சமயம் தோராயமாக உருவாக்கப்பட்ட தரவுத் துண்டுகளுடன் GreenPlum அட்டவணையைப் புதுப்பிக்கும் Ab Initioவின் திறனை நாங்கள் சோதிப்போம். GreenPlum அட்டவணை dev42_1_db_usl.TESTING_SUBJ_org_finval ஐக் கருத்தில் கொள்வோம், அதனுடன் நாங்கள் வேலை செய்வோம்.

அதனுடன் வேலை செய்ய மூன்று Ab Initio வரைபடங்களைப் பயன்படுத்துவோம்:

1) வரைபடம் Create_test_data.mp – HDFS இல் தரவுக் கோப்புகளை 10 வரிசைகளுடன் 6 இணையான இழைகளில் உருவாக்குகிறது. தரவு சீரற்றது, அதன் அமைப்பு எங்கள் அட்டவணையில் செருகுவதற்கு ஒழுங்கமைக்கப்பட்டுள்ளது

உங்களிடம் Sber செதில்கள் இருக்கும்போது. ஹைவ் மற்றும் கிரீன்பிளமுடன் Ab Initio ஐப் பயன்படுத்துதல்

உங்களிடம் Sber செதில்கள் இருக்கும்போது. ஹைவ் மற்றும் கிரீன்பிளமுடன் Ab Initio ஐப் பயன்படுத்துதல்

2) வரைபடம் mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset – MDW ஆனது 10 இணையான இழைகளில் தரவுச் செருகலைத் துவக்குவதன் மூலம் வரைபடத்தை உருவாக்கியது (வரைபடம் (1) மூலம் உருவாக்கப்பட்ட சோதனைத் தரவு பயன்படுத்தப்படுகிறது)

உங்களிடம் Sber செதில்கள் இருக்கும்போது. ஹைவ் மற்றும் கிரீன்பிளமுடன் Ab Initio ஐப் பயன்படுத்துதல்

3) வரைபடம் mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset - வரைபடம் (10) மூலம் உருவாக்கப்பட்ட புதிதாகப் பெறப்பட்ட தரவுகளின் (டெல்டா) ஒரு பகுதியைப் பயன்படுத்தி 1 இணையான இழைகளில் எங்கள் அட்டவணையை அதிகரிக்கும் வகையில் மேம்படுத்துவதற்காக MDW ஆல் உருவாக்கப்பட்ட வரைபடம்

உங்களிடம் Sber செதில்கள் இருக்கும்போது. ஹைவ் மற்றும் கிரீன்பிளமுடன் Ab Initio ஐப் பயன்படுத்துதல்

கீழே உள்ள ஸ்கிரிப்டை NRT முறையில் இயக்குவோம்:

  • 6 சோதனை வரிகளை உருவாக்குகிறது
  • ஒரு ஆரம்ப சுமை 6 சோதனை வரிசைகளை வெற்று அட்டவணையில் செருகவும்
  • 5 முறை அதிகரிக்கும் பதிவிறக்கத்தை மீண்டும் செய்யவும்
    • 6 சோதனை வரிகளை உருவாக்குகிறது
    • அட்டவணையில் 6 சோதனை வரிசைகளை அதிகப்படியாகச் செருகவும் (இந்த வழக்கில், Valid_to_ts காலாவதி நேரம் பழைய தரவுக்கு அமைக்கப்பட்டுள்ளது மற்றும் அதே முதன்மை விசையுடன் சமீபத்திய தரவு செருகப்படுகிறது)

இந்த சூழ்நிலை ஒரு குறிப்பிட்ட வணிக அமைப்பின் உண்மையான செயல்பாட்டு முறையைப் பின்பற்றுகிறது - புதிய தரவின் மிகப் பெரிய பகுதி உண்மையான நேரத்தில் தோன்றும் மற்றும் உடனடியாக GreenPlum இல் ஊற்றப்படுகிறது.

இப்போது ஸ்கிரிப்ட்டின் பதிவைப் பார்ப்போம்:

Create_test_data.input.pset ஐ 2020-06-04 11:49:11 இல் தொடங்கவும்
Create_test_data.input.psetஐ 2020-06-04 11:49:37 இல் முடிக்கவும்
mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset 2020-06-04 11:49:37 இல் தொடங்கவும்
mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset 2020-06-04 11:50:42 இல் முடிக்கவும்
Create_test_data.input.pset ஐ 2020-06-04 11:50:42 இல் தொடங்கவும்
Create_test_data.input.psetஐ 2020-06-04 11:51:06 இல் முடிக்கவும்
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset ஐ 2020-06-04 11:51:06 இல் தொடங்கவும்
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset 2020-06-04 11:53:41 இல் முடிக்கவும்
Create_test_data.input.pset ஐ 2020-06-04 11:53:41 இல் தொடங்கவும்
Create_test_data.input.psetஐ 2020-06-04 11:54:04 இல் முடிக்கவும்
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset ஐ 2020-06-04 11:54:04 இல் தொடங்கவும்
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset 2020-06-04 11:56:51 இல் முடிக்கவும்
Create_test_data.input.pset ஐ 2020-06-04 11:56:51 இல் தொடங்கவும்
Create_test_data.input.psetஐ 2020-06-04 11:57:14 இல் முடிக்கவும்
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset ஐ 2020-06-04 11:57:14 இல் தொடங்கவும்
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset 2020-06-04 11:59:55 இல் முடிக்கவும்
Create_test_data.input.pset ஐ 2020-06-04 11:59:55 இல் தொடங்கவும்
Create_test_data.input.psetஐ 2020-06-04 12:00:23 இல் முடிக்கவும்
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset ஐ 2020-06-04 12:00:23 இல் தொடங்கவும்
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset 2020-06-04 12:03:23 இல் முடிக்கவும்
Create_test_data.input.pset ஐ 2020-06-04 12:03:23 இல் தொடங்கவும்
Create_test_data.input.psetஐ 2020-06-04 12:03:49 இல் முடிக்கவும்
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset ஐ 2020-06-04 12:03:49 இல் தொடங்கவும்
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 செதில்கள் இருக்கும்போது. ஹைவ் மற்றும் கிரீன்பிளமுடன் Ab Initio ஐப் பயன்படுத்துதல்
வரைபடங்கள் தொடங்கப்பட்ட நேரங்களுக்கு செருகப்பட்ட தரவின் கடிதப் பரிமாற்றத்தைக் காணலாம்.
இதன் பொருள், நீங்கள் மிக அதிக அதிர்வெண்ணுடன், Ab Initio இல் உள்ள GreenPlum இல் தரவுகளை அதிகப்படியாக ஏற்றுவதை இயக்கலாம் மற்றும் இந்த தரவை GreenPlum இல் அதிக வேகத்தில் செருகுவதைக் காணலாம். நிச்சயமாக, எந்தவொரு ETL கருவியையும் போலவே Ab Initio, தொடங்கும் போது "தொடக்க" நேரம் தேவைப்படுவதால், வினாடிக்கு ஒருமுறை தொடங்க முடியாது.

முடிவுக்கு

Ab Initio தற்போது Sberbank இல் யூனிஃபைட் செமாண்டிக் டேட்டா லேயரை (ESS) உருவாக்கப் பயன்படுத்தப்படுகிறது. இந்தத் திட்டமானது பல்வேறு வங்கி வணிக நிறுவனங்களின் மாநிலத்தின் ஒருங்கிணைந்த பதிப்பை உருவாக்குவதை உள்ளடக்கியது. பல்வேறு ஆதாரங்களில் இருந்து தகவல் வருகிறது, அதன் பிரதிகள் ஹடூப்பில் தயாரிக்கப்படுகின்றன. வணிகத் தேவைகளின் அடிப்படையில், தரவு மாதிரி தயாரிக்கப்பட்டு, தரவு மாற்றங்கள் விவரிக்கப்பட்டுள்ளன. Ab Initio ESN இல் தகவலை ஏற்றுகிறது மற்றும் பதிவிறக்கம் செய்யப்பட்ட தரவு வணிகத்திற்கு ஆர்வமாக இருப்பது மட்டுமல்லாமல், தரவு சந்தைகளை உருவாக்குவதற்கான ஆதாரமாகவும் செயல்படுகிறது. அதே நேரத்தில், தயாரிப்பின் செயல்பாடு பல்வேறு அமைப்புகளை பெறுநராக (ஹைவ், கிரீன்ப்ளம், டெராடேட்டா, ஆரக்கிள்) பயன்படுத்த உங்களை அனுமதிக்கிறது, இது ஒரு வணிகத்திற்குத் தேவையான பல்வேறு வடிவங்களில் தரவை எளிதாகத் தயாரிப்பதை சாத்தியமாக்குகிறது.

Ab Initio இன் திறன்கள் பரந்த அளவில் உள்ளன; எடுத்துக்காட்டாக, சேர்க்கப்பட்ட MDW கட்டமைப்பானது தொழில்நுட்ப மற்றும் வணிக வரலாற்றுத் தரவை பெட்டிக்கு வெளியே உருவாக்குவதை சாத்தியமாக்குகிறது. டெவலப்பர்களுக்கு, Ab Initio சக்கரத்தை மீண்டும் கண்டுபிடிப்பதை சாத்தியமாக்குகிறது, ஆனால் தற்போதுள்ள பல செயல்பாட்டு கூறுகளைப் பயன்படுத்துகிறது, அவை தரவுகளுடன் பணிபுரியும் போது அவசியமான நூலகங்கள் ஆகும்.

ஆசிரியர் Sberbank SberProfi DWH/BigData இன் தொழில்முறை சமூகத்தில் நிபுணர். SberProfi DWH/BigData தொழில்முறை சமூகம் ஹடூப் சுற்றுச்சூழல் அமைப்பு, டெராடேட்டா, ஆரக்கிள் டிபி, கிரீன்பிளம், அத்துடன் BI கருவிகளான Qlik, SAP BO, Tableau போன்ற பகுதிகளில் திறன்களை வளர்ப்பதற்கு பொறுப்பாகும்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்