جڏهن توهان وٽ Sber اسڪيل آهي. Hive ۽ GreenPlum سان Ab Initio استعمال ڪندي

ڪجهه وقت اڳ، اسان کي بگ ڊيٽا سان ڪم ڪرڻ لاء ETL اوزار چونڊڻ جي سوال سان منهن ڪيو ويو. اڳ ۾ استعمال ٿيل Informatica BDM حل محدود ڪارڪردگي جي ڪري اسان کي مناسب نه ڪيو. ان جو استعمال گھٽجي ويو آھي فريم ورڪ کي شروع ڪرڻ لاءِ اسپارڪ-جمع ڪمانڊ. مارڪيٽ تي ڪيتريون ئي اينالاگون نه هيون، جيڪي اصولي طور تي، ڊيٽا جي مقدار سان ڪم ڪرڻ جي قابل هئا جيڪي اسان هر روز سان ڊيل ڪندا آهيون. آخر ۾ اسان چونڊيو Ab Initio. پائلٽ جي مظاهرن دوران، پيداوار تمام تيز ڊيٽا پروسيسنگ جي رفتار ڏيکاري ٿي. روسي ۾ Ab Initio جي باري ۾ تقريبا ڪا ڄاڻ ناهي، تنهنڪري اسان Habré تي اسان جي تجربي بابت ڳالهائڻ جو فيصلو ڪيو.

Ab Initio ۾ ڪيتريون ئي شاندار ۽ غير معمولي تبديليون آهن، جن جو ڪوڊ وڌايو وڃي ٿو پنهنجي PDL ٻولي استعمال ڪندي. هڪ ننڍڙي ڪاروبار لاءِ، اهڙو طاقتور اوزار غالباً ختم ٿي ويندو، ۽ ان جون گهڻيون صلاحيتون قيمتي ۽ غير استعمال ٿيل هونديون. پر جيڪڏهن توهان جو پيمانو Sberov جي ويجهو آهي، ته پوءِ Ab Initio توهان لاءِ دلچسپ ٿي سگهي ٿو.

اهو هڪ ڪاروبار کي عالمي سطح تي علم گڏ ڪرڻ ۽ هڪ ماحولياتي نظام کي ترقي ڪرڻ ۾ مدد ڪري ٿو، ۽ هڪ ڊولپر کي ETL ۾ پنهنجون صلاحيتون بهتر ڪرڻ، شيل ۾ پنهنجي ڄاڻ کي بهتر بنائڻ، PDL ٻولي ۾ مهارت حاصل ڪرڻ جو موقعو فراهم ڪري ٿو، لوڊ ڪرڻ جي عمل جي هڪ بصري تصوير ڏئي ٿو، ۽ ترقي کي آسان بڻائي ٿو. فنڪشنل اجزاء جي گهڻائي جي ڪري.

هن پوسٽ ۾ آئون Ab Initio جي صلاحيتن بابت ڳالهائيندس ۽ Hive ۽ GreenPlum سان ان جي ڪم جي تقابلي خاصيتون مهيا ڪندس.

  • MDW فريم ورڪ جي وضاحت ۽ GreenPlum لاءِ ان جي ڪسٽمائيزيشن تي ڪم
  • Hive ۽ GreenPlum جي وچ ۾ Ab Initio ڪارڪردگي جو مقابلو
  • ريئل ٽائيم موڊ جي ويجهو GreenPlum سان Ab Initio ڪم ڪري رهيو آهي


هن پيداوار جي ڪارڪردگي تمام وسيع آهي ۽ مطالعي لاء گهڻو وقت جي ضرورت آهي. بهرحال، صحيح ڪم جي صلاحيتن ۽ صحيح ڪارڪردگي سيٽنگن سان، ڊيٽا پروسيسنگ جا نتيجا تمام متاثر کن آهن. ڊولپر لاءِ Ab Initio استعمال ڪندي هڪ دلچسپ تجربو مهيا ڪري سگھي ٿو. هي ETL ترقي تي هڪ نئون قدم آهي، هڪ بصري ماحول جي وچ ۾ هڪ هائبرڊ ۽ اسڪرپٽ-جهڙي ٻولي ۾ ڊولپمينٽ ڊائون لوڊ.

ڪاروبار ترقي ڪري رهيا آهن انهن جي ماحولياتي نظام ۽ هي اوزار هميشه کان وڌيڪ هٿ ۾ اچي ٿو. Ab Initio سان، توهان پنهنجي موجوده ڪاروبار بابت ڄاڻ گڏ ڪري سگهو ٿا ۽ پراڻي ۽ نئين ڪاروبار کي کولڻ لاءِ هن علم کي استعمال ڪري سگهو ٿا. Ab Initio جا متبادل شامل آهن بصري ترقي ماحول انفارميٽيڪا 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 اوزارن جي ڀيٽ ۾ وسيع آھن. مثال طور، شامل ٿيڻ جا ڪيترائي نتيجا آهن. ڊيٽا سيٽن کي ڳنڍڻ جي نتيجي ۾، توهان حاصل ڪري سگهو ٿا ان پٽ ڊيٽا سيٽن جا آئوٽ پُٽ رڪارڊ جن جي ڪنيڪشن نه ٿي سگهي. توهان پڻ حاصل ڪري سگهو ٿا رد، غلطيون ۽ ٽرانسفارميشن آپريشن جو لاگ، جيڪو ساڳئي ڪالمن ۾ ٽيڪسٽ فائل جي طور تي پڙهي سگهجي ٿو ۽ ٻين تبديلين سان پروسيس ڪيو وڃي ٿو:

جڏهن توهان وٽ Sber اسڪيل آهي. Hive ۽ GreenPlum سان Ab Initio استعمال ڪندي

يا، مثال طور، توهان ٽيبل جي صورت ۾ ڊيٽا وصول ڪندڙ کي مادي ڪري سگهو ٿا ۽ ان مان ڊيٽا پڙهي سگهو ٿا ساڳئي ڪالمن ۾.

اصل تبديليون آهن. مثال طور، اسڪين جي تبديليءَ جي ڪارڪردگيءَ ۾ تجزياتي ڪمن جي جھڙي آھي. خود وضاحتي نالن سان تبديليون آھن: ڊيٽا ٺاھيو، ايڪسل پڙھو، نارملائز ڪريو، گروپن ۾ ترتيب ڏيو، پروگرام ھلايو، SQL کي هلائڻ، ڊي بي سان شامل ٿيو، وغيره. آپريٽنگ سسٽم. فائلن کي پيراميٽر جي تيار ڪيل سيٽ سان گراف ڏانهن منتقل ڪيو وڃي ٿو پيرا ميٽر سيٽ (psets).

جيئن توقع ڪئي وئي، Ab Initio GDE وٽ ان جو پنهنجو مخزن آهي EME (انٽرپرائز ميٽا ماحوليات). ڊولپرز کي ڪوڊ جي مقامي ورزن سان ڪم ڪرڻ ۽ انهن جي ترقيات کي مرڪزي مخزن ۾ چيڪ ڪرڻ جو موقعو آهي.

اهو ممڪن آهي، عملدرآمد دوران يا گراف تي عمل ڪرڻ کان پوء، تبديلي کي ڳنڍيندڙ ڪنهن به وهڪري تي ڪلڪ ڪرڻ ۽ ڊيٽا کي ڏسو جيڪي انهن تبديلين جي وچ ۾ گذري ويا آهن:

جڏهن توهان وٽ Sber اسڪيل آهي. Hive ۽ GreenPlum سان Ab Initio استعمال ڪندي

اهو پڻ ممڪن آهي ته ڪنهن به وهڪرو تي ڪلڪ ڪريو ۽ ٽريڪنگ تفصيلات ڏسو - ڪيترا متوازي تبديلين ۾ ڪم ڪيو ويو، ڪيتريون لائينون ۽ بائيٽ لوڊ ڪيون ويون آهن ڪهڙي متوازي ۾:

جڏهن توهان وٽ Sber اسڪيل آهي. Hive ۽ GreenPlum سان Ab Initio استعمال ڪندي

اهو ممڪن آهي ته گراف جي عمل کي مرحلن ۾ ورهايو وڃي ۽ نشان لڳايو ته ڪجهه تبديلين کي انجام ڏيڻ جي ضرورت آهي پهرين (صفر مرحلي ۾)، ايندڙ پهرين مرحلي ۾، ايندڙ ٻئي مرحلي ۾، وغيره.

هر تبديلي لاء، توهان نام نهاد ترتيب (جتي اهو عمل ڪيو ويندو) چونڊي سگهو ٿا: متوازي يا متوازي سلسلا ۾، جن جو تعداد بيان ڪري سگهجي ٿو. ساڳئي وقت، عارضي فائلون جيڪي Ab Initio ٺاهي ٿي جڏهن تبديليون هلائي رهيا آهن سرور فائل سسٽم ۽ HDFS ۾ رکيل هوندا.

هر تبديلي ۾، ڊفالٽ ٽيمپليٽ جي بنياد تي، توهان PDL ۾ پنهنجو اسڪرپٽ ٺاهي سگهو ٿا، جيڪو ٿورڙي شيل وانگر آهي.

PDL سان توهان تبديلين جي ڪارڪردگي کي وڌائي سگهو ٿا، ۽ خاص طور تي، توهان متحرڪ طور تي (رن ٽائم تي) رن ٽائم پيٽرولر جي بنياد تي صوابديدي ڪوڊ جا ٽڪرا ٺاهي سگهو ٿا.

Ab Initio پڻ شيل ذريعي او ايس سان گڏ ترقي يافته انضمام آهي. خاص طور تي، Sberbank استعمال ڪري ٿو لينڪس ksh. توهان شيل سان متغير مٽائي سگهو ٿا ۽ انهن کي گراف پيٽرولر طور استعمال ڪري سگهو ٿا. توهان شيل مان Ab Initio گرافس جي عمل کي ڪال ڪري سگهو ٿا ۽ Ab Initio کي ترتيب ڏيو.

Ab Initio GDE کان علاوه، ڪيترائي ٻيا پراڊڪٽس ترسيل ۾ شامل آھن. اتي ان جو پنهنجو Co>آپريشن سسٽم آهي جنهن کي دعويٰ سان آپريٽنگ سسٽم سڏيو وڃي ٿو. هتي هڪ ڪنٽرول> سينٽر آهي جتي توهان شيڊول ڪري سگهو ٿا ۽ ڊائون لوڊ جي وهڪري جي نگراني ڪري سگهو ٿا. Ab Initio GDE جي اجازت کان وڌيڪ ابتدائي سطح تي ترقي ڪرڻ لاءِ پراڊڪٽس موجود آهن.

MDW فريم ورڪ جي وضاحت ۽ GreenPlum لاءِ ان جي ڪسٽمائيزيشن تي ڪم

ان جي پروڊڪٽس سان گڏ، وينڊر فراهم ڪري ٿو MDW (Metadata Driven Warehouse) پراڊڪٽ، جيڪو هڪ گراف ترتيب ڏيڻ وارو آهي جيڪو ڊيٽا گودامن يا ڊيٽا وولٽس کي آباد ڪرڻ جي عام ڪمن ۾ مدد لاءِ ٺهيل آهي.

ان ۾ ڪسٽم (پراجيڪٽ جي مخصوص) ميٽا ڊيٽا پارسر ۽ تيار ٿيل ڪوڊ جنريٽر شامل آهن.

جڏهن توهان وٽ Sber اسڪيل آهي. Hive ۽ GreenPlum سان Ab Initio استعمال ڪندي
ان پٽ جي طور تي، MDW هڪ ڊيٽا ماڊل وصول ڪري ٿو، ڊيٽابيس سان ڪنيڪشن قائم ڪرڻ لاءِ هڪ ترتيب واري فائيل (Oracle، Teradata يا Hive) ۽ ڪجهه ٻيون سيٽنگون. پروجيڪٽ جي مخصوص حصي، مثال طور، ماڊل کي ڊيٽابيس ۾ ترتيب ڏئي ٿو. پراڊڪٽ جو آئوٽ آف دي باڪس حصو ماڊل جدولن ۾ ڊيٽا لوڊ ڪندي انهن لاءِ گرافس ۽ ڪنفيگريشن فائلون ٺاهي ٿو. انهي صورت ۾، گرافس (۽ پي سيٽس) ٺاهيا ويا آهن ڪيترن ئي طريقن جي شروعاتي ۽ واڌاري جي ڪم لاء ادارن کي اپڊيٽ ڪرڻ تي.

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 حڪمن کي استعمال ڪندي حذف + داخل ڪريو، ڊيلٽا مان نئون ڊيٽا ٽارگيٽ ٽيبل ۾ داخل ڪيو ويو آھي ۽ ڊيٽا جي مطابقت جي مدت جن جي بنيادي ڪنجيون ڊيلٽا حاصل ڪيون ويون آھن بند ٿيل آھن.
غير تبديل ٿيل ڊيٽا کي ٻيهر لکڻ جي ڪا ضرورت ناهي.

تنهنڪري اسان ان نتيجي تي پهتاسين ته Hive جي صورت ۾، MDW کي سڄي ٽيبل کي ٻيهر لکڻ لاءِ وڃڻو پوندو ڇو ته Hive وٽ ڪا اپڊيٽ فنڪشن ناهي. ۽ ڊيٽا کي مڪمل طور تي ٻيهر لکڻ کان بهتر ناهي جڏهن تازه ڪاري ايجاد ڪئي وئي آهي. RDBMS جي صورت ۾، ان جي ابتڙ، پراڊڪٽ جي ٺاهيندڙن کي اهو ضروري سمجهيو ويو ته ڪنيڪشن ۽ جدولن جي تازه ڪاري کي SQL جي استعمال لاءِ.

Sberbank ۾ هڪ پروجيڪٽ لاءِ، اسان GreenPlum لاءِ ڊيٽابيس لوڊر جو نئون، ٻيهر قابل استعمال عمل درآمد ڪيو. اهو ڪيو ويو ان نسخي جي بنياد تي جيڪو MDW ٺاهي ٿو Teradata لاءِ. اهو Teradata هو، ۽ Oracle نه، جيڪو هن لاء تمام ويجهو ۽ بهترين آيو، ڇاڪاڻ ته ... هڪ ايم پي پي سسٽم پڻ آهي. ڪم ڪرڻ جا طريقا، گڏوگڏ نحو، Teradata ۽ GreenPlum جا ساڳيا نڪتا.

مختلف RDBMSs جي وچ ۾ MDW-نازڪ اختلافن جا مثال ھيٺ ڏنل آھن. GreenPlum ۾، Teradata جي برعڪس، جڏهن ٽيبل ٺاهي رهيا آهيو توهان کي هڪ شق لکڻ جي ضرورت آهي

distributed by

Teradata لکي ٿو:

delete <table> all

، ۽ GreenPlum ۾ اهي لکندا آهن

delete from <table>

Oracle ۾، اصلاح جي مقصدن لاءِ اھي لکن ٿا

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 سان ڪم ڪرڻ لاءِ، اهو ضروري هو ته GreenPlum ڪلائنٽ کي انسٽال ڪرڻ تمام نوڊس تي Ab Initio ڪلستر. اهو ئي سبب آهي ته اسان اسان جي ڪلستر ۾ سڀني نوڊس مان هڪ ئي وقت 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

، i.e. توهان کي هر ورهاڱي لاء واضح فلٽر سان GreenPlum کي تڪڙو ڪرڻو پوندو. ٻين ڊيٽابيسس لاءِ (Teradata، Oracle)، Ab Initio هن متوازي کي خودڪار طريقي سان انجام ڏئي سگهي ٿو.

Hive ۽ GreenPlum جي وچ ۾ Ab Initio ڪارڪردگي جو مقابلو

Sberbank Hive جي حوالي سان ۽ GreenPlum جي سلسلي ۾ MDW-generated گرافس جي ڪارڪردگي جو مقابلو ڪرڻ لاءِ هڪ تجربو ڪيو. تجربي جي حصي جي طور تي، Hive جي صورت ۾ اتي 5 نوڊس ساڳئي ڪلستر تي Ab Initio وانگر، ۽ GreenPlum جي صورت ۾ 4 نوڊس الڳ ڪلستر تي هئا. اهي. Hive کي GreenPlum تي ڪجهه هارڊويئر فائدو حاصل هو.

اسان غور ڪيو گراف جي ٻن جوڙن کي Hive ۽ GreenPlum ۾ ڊيٽا کي اپڊيٽ ڪرڻ جو ساڳيو ڪم انجام ڏئي رهيو آهي. ساڳئي وقت، MDW ترتيب ڏيندڙ پاران ٺاهيل گراف شروع ڪيا ويا:

  • شروعاتي لوڊ + بي ترتيب سان ٺاهيل ڊيٽا جو وڌندڙ لوڊ Hive ٽيبل ۾
  • شروعاتي لوڊ + ساڳئي گرين پلم ٽيبل ۾ بي ترتيب ٺاهيل ڊيٽا جو وڌندڙ لوڊ

ٻنهي صورتن ۾ (Hive ۽ GreenPlum) اهي 10 متوازي موضوعن تي اپلوڊ ڪيا ويا ساڳئي Ab Initio ڪلستر تي. 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 ۾ شروعاتي لوڊشيڊنگ

قطارون داخل ڪيون ويون
6 000 000
60 000 000
600 000 000

شروعاتي مدت
سيڪنڊن ۾ ڊائون لوڊ
72
360
3 631

گرين پلم ۾ وڌندڙ لوڊشيڊنگ

۾ موجود قطارن جو تعداد
تجربي جي شروعات ۾ ٽارگيٽ ٽيبل
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.

گرين پلم ۾ وڌندڙ لوڊشيڊنگ ڪمزور طور تي ٽارگيٽ ٽيبل ۾ موجود اڳ لوڊ ٿيل ڊيٽا جي مقدار تي منحصر آهي ۽ تمام جلدي اڳتي وڌندي آهي. اهو ٿيو SQL جوائنز ۽ گرين پلم آرڪيٽيڪچر جي مهرباني، جيڪا اجازت ڏئي ٿي حذف آپريشن.

تنهن ڪري، GreenPlum ڊيلٽا کي شامل ڪري ٿو حذف + داخل ڪرڻ جو طريقو استعمال ڪندي، پر Hive کي حذف يا تازه ڪاري عمل نه آهي، تنهنڪري سڄي ڊيٽا جي صف کي مڪمل طور تي ٻيهر لکڻ تي مجبور ڪيو ويو هڪ واڌارو اپڊيٽ دوران. بولڊ ۾ نمايان ٿيل سيلز جو مقابلو سڀ کان وڌيڪ پڌرو آهي، ڇاڪاڻ ته اهو وسيلن سان لاڳاپيل ڊائون لوڊ استعمال ڪرڻ لاء سڀ کان وڌيڪ عام اختيار سان ملندو آهي. اسان ڏسون ٿا ته GreenPlum هن ٽيسٽ ۾ Hive کي 8 ڀيرا شڪست ڏني.

ريئل ٽائيم موڊ جي ويجهو GreenPlum سان Ab Initio ڪم ڪري رهيو آهي

هن تجربي ۾، اسان ٽيسٽ ڪنداسين Ab Initio جي قابليت کي اپڊيٽ ڪرڻ جي گرين پلم ٽيبل کي بي ترتيب سان ٺاهيل ٽڪڙن سان گڏ ڊيٽا جي ويجهو حقيقي وقت ۾. اچو ته غور ڪريون GreenPlum ٽيبل dev42_1_db_usl.TESTING_SUBJ_org_finval، جنهن سان اسين ڪم ڪنداسين.

اسان ان سان ڪم ڪرڻ لاء ٽي Ab Initio گراف استعمال ڪنداسين:

1) گراف Create_test_data.mp - HDFS ۾ ڊيٽا فائلون ٺاهي ٿو 10 قطارن سان 6 متوازي موضوعن ۾. ڊيٽا بي ترتيب آهي، ان جي جوڙجڪ اسان جي ٽيبل ۾ داخل ڪرڻ لاء منظم ڪئي وئي آهي

جڏهن توهان وٽ 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 – MDW ٺاهيل گراف اسان جي جدول ۾ ڊيٽا داخل ڪرڻ جي شروعات ڪندي 10 متوازي سلسلي ۾ (ٽيسٽ ڊيٽا ٺاهيل گراف (1) استعمال ڪيو ويندو آهي)

جڏهن توهان وٽ Sber اسڪيل آهي. Hive ۽ GreenPlum سان Ab Initio استعمال ڪندي

3) گراف mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset – ھڪڙو گراف جيڪو MDW پاران ٺاھيو ويو آھي اسان جي جدول جي وڌ کان وڌ اپڊيٽ ڪرڻ لاءِ 10 متوازي ٿريڊن ۾ تازو حاصل ڪيل ڊيٽا جو ھڪڙو حصو استعمال ڪندي (ڊيلٽا)

جڏهن توهان وٽ Sber اسڪيل آهي. Hive ۽ GreenPlum سان Ab Initio استعمال ڪندي

اچو ته هيٺ ڏنل اسڪرپٽ کي NRT موڊ ۾ هلون:

  • 6 ٽيسٽ لائينون ٺاھيو
  • شروعاتي لوڊ ڪريو 6 ٽيسٽ قطارون خالي ٽيبل ۾ داخل ڪريو
  • ورجائي واڌارو ڊائون لوڊ 5 ڀيرا
    • 6 ٽيسٽ لائينون ٺاھيو
    • جدول ۾ 6 ٽيسٽ قطارن جي وڌ ۾ وڌ داخل ڪريو (هن صورت ۾، صحيح_to_ts ختم ٿيڻ جو وقت پراڻي ڊيٽا تي مقرر ڪيو ويو آهي ۽ ساڳئي پرائمري چيڪ سان وڌيڪ تازي ڊيٽا داخل ڪئي وئي آهي)

اهو منظر هڪ خاص ڪاروباري نظام جي حقيقي آپريشن جي موڊ کي نقل ڪري ٿو - نئين ڊيٽا جو هڪ وڏو حصو حقيقي وقت ۾ ظاهر ٿئي ٿو ۽ فوري طور تي گرين پلم ۾ داخل ڪيو ويو آهي.

هاڻي اچو ته اسڪرپٽ جي لاگ کي ڏسو:

2020-06-04 11:49:11 تي Create_test_data.input.pset شروع ڪريو
2020-06-04 11:49:37 تي Create_test_data.input.pset ختم ڪريو
شروع ڪريو 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 تي
2020-06-04 11:50:42 تي Create_test_data.input.pset شروع ڪريو
2020-06-04 11:51:06 تي Create_test_data.input.pset ختم ڪريو
شروع ڪريو 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 تي
2020-06-04 11:53:41 تي Create_test_data.input.pset شروع ڪريو
2020-06-04 11:54:04 تي Create_test_data.input.pset ختم ڪريو
شروع ڪريو 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 تي
2020-06-04 11:56:51 تي Create_test_data.input.pset شروع ڪريو
2020-06-04 11:57:14 تي Create_test_data.input.pset ختم ڪريو
شروع ڪريو 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 تي
2020-06-04 11:59:55 تي Create_test_data.input.pset شروع ڪريو
2020-06-04 12:00:23 تي Create_test_data.input.pset ختم ڪريو
شروع ڪريو 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 تي
2020-06-04 12:03:23 تي Create_test_data.input.pset شروع ڪريو
2020-06-04 12:03:49 تي Create_test_data.input.pset ختم ڪريو
شروع ڪريو 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 اسڪيل آهي. Hive ۽ GreenPlum سان Ab Initio استعمال ڪندي
توھان ڏسي سگھوٿا داخل ٿيل ڊيٽا جو خطوط ان وقت تائين جڏھن گراف شروع ڪيا ويا.
ان جو مطلب آھي توھان ھلائي سگھوٿا ڊيٽا جي وڌندڙ لوڊشيڊنگ کي GreenPlum ۾ Ab Initio ۾ تمام گھڻي تعدد سان ۽ ھن ڊيٽا کي GreenPlum ۾ داخل ڪرڻ جي تيز رفتار جو مشاهدو ڪريو. يقينن، اهو ممڪن نه ٿيندو ته هڪ سيڪنڊ ۾ هڪ ڀيرو لانچ ڪيو وڃي، ڇو ته Ab Initio، ڪنهن به ETL اوزار وانگر، شروع ٿيڻ وقت "شروع" ڪرڻ لاء وقت جي ضرورت آهي.

ٿڪل

Ab Initio هن وقت Sberbank تي استعمال ڪيو ويو آهي هڪ متحد سيمينٽڪ ڊيٽا پرت (ESS) ٺاهڻ لاءِ. ھن پروجيڪٽ ۾ مختلف بئنڪنگ ڪاروباري ادارن جي رياست جو گڏيل ورزن تعمير ڪرڻ شامل آھي. معلومات مختلف ذريعن کان اچي ٿي، جن جون نقلون Hadoop تي تيار ڪيون ويون آهن. ڪاروباري ضرورتن جي بنياد تي، هڪ ڊيٽا ماڊل تيار ڪيو ويو آهي ۽ ڊيٽا جي تبديلين کي بيان ڪيو ويو آهي. Ab Initio معلومات کي ESN ۾ لوڊ ڪري ٿو ۽ ڊائون لوڊ ڪيل ڊيٽا نه رڳو پاڻ ۾ ڪاروبار لاءِ دلچسپي رکي ٿي، پر ڊيٽا مارٽس جي تعمير لاءِ هڪ ذريعو طور پڻ ڪم ڪري ٿي. ساڳئي وقت، پراڊڪٽ جي ڪارڪردگي توهان کي مختلف سسٽم کي وصول ڪندڙ (Hive، Greenplum، Teradata، Oracle) طور استعمال ڪرڻ جي اجازت ڏئي ٿي، جيڪا آساني سان ڪاروبار لاء ڊيٽا تيار ڪرڻ ممڪن بڻائي ٿي مختلف فارميٽ ۾ ان کي گهربل.

Ab Initio جون صلاحيتون وسيع آهن؛ مثال طور، شامل ڪيل MDW فريم ورڪ اهو ممڪن بڻائي ٿو ته ٽيڪنيڪل ۽ ڪاروباري تاريخي ڊيٽا کي دٻي کان ٻاهر ٺاهيو. ڊولپرز لاءِ، Ab Initio ان کي ممڪن بڻائي ٿو ته ڦيٿي کي بحال ڪرڻ نه، پر ڪيترن ئي موجوده فنڪشنل اجزاء کي استعمال ڪرڻ لاء، جيڪي لازمي طور تي لائبريريون آهن جڏهن ڊيٽا سان ڪم ڪرڻ جي ضرورت آهي.

ليکڪ Sberbank SberProfi DWH/BigData جي پروفيشنل ڪميونٽي ۾ ماهر آهي. SberProfi DWH/BigData پروفيشنل ڪميونٽي اهڙن علائقن ۾ صلاحيتون پيدا ڪرڻ جي ذميوار آهي جيئن ته Hadoop ecosystem، Teradata، Oracle DB، GreenPlum، گڏوگڏ BI اوزار Qlik، SAP BO، Tableau، وغيره.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو