عندما يكون لديك موازين سبير. استخدام Ab Initio مع Hive و GreenPlum

منذ بعض الوقت، واجهنا مسألة اختيار أداة ETL للعمل مع البيانات الضخمة. لم يكن حل Informatica BDM المستخدم سابقًا يناسبنا بسبب وظائفه المحدودة. تم تقليص استخدامه إلى إطار عمل لإطلاق أوامر الشرارة. لم يكن هناك الكثير من نظائرها في السوق القادرة، من حيث المبدأ، على العمل مع حجم البيانات التي نتعامل معها كل يوم. في النهاية اخترنا Ab Initio. أثناء العروض التجريبية، أظهر المنتج سرعة عالية جدًا في معالجة البيانات. لا توجد معلومات تقريبًا عن Ab Initio باللغة الروسية، لذلك قررنا التحدث عن تجربتنا في حبري.

لدى Ab Initio العديد من التحولات الكلاسيكية وغير العادية، والتي يمكن توسيع كودها باستخدام لغة PDL الخاصة بها. بالنسبة للشركات الصغيرة، من المرجح أن تكون هذه الأداة القوية مبالغة فيها، وقد تكون معظم قدراتها باهظة الثمن وغير مستخدمة. ولكن إذا كان مقياسك قريبًا من مقياس Sberov، فقد يكون Ab Initio مثيرًا للاهتمام بالنسبة لك.

يساعد الأعمال التجارية على تجميع المعرفة عالميًا وتطوير النظام البيئي، ويساعد المطور على تحسين مهاراته في ETL، وتحسين معرفته في الصدفة، ويوفر الفرصة لإتقان لغة PDL، ويعطي صورة مرئية لعمليات التحميل، ويبسط التطوير بسبب وفرة المكونات الوظيفية.

سأتحدث في هذا المنشور عن إمكانيات Ab Initio وسأقدم الخصائص المقارنة لعمله مع Hive وGreenPlum.

  • وصف إطار عمل MDW والعمل على تخصيصه لـ GreenPlum
  • مقارنة أداء Ab Initio بين Hive وGreenPlum
  • العمل مع Ab Initio مع GreenPlum في وضع الوقت الفعلي القريب


وظائف هذا المنتج واسعة جدًا وتتطلب الكثير من الوقت لدراستها. ومع ذلك، مع مهارات العمل المناسبة وإعدادات الأداء الصحيحة، تكون نتائج معالجة البيانات مثيرة للإعجاب للغاية. يمكن أن يوفر استخدام Ab Initio للمطور تجربة مثيرة للاهتمام. هذه نظرة جديدة على تطوير ETL، وهو مزيج بين البيئة المرئية وتطوير التنزيل بلغة تشبه البرنامج النصي.

تعمل الشركات على تطوير أنظمتها البيئية، وهذه الأداة أصبحت مفيدة أكثر من أي وقت مضى. مع Ab Initio، يمكنك تجميع المعرفة حول عملك الحالي واستخدام هذه المعرفة لتوسيع الأعمال القديمة وفتح أعمال تجارية جديدة. تشمل بدائل Ab Initio بيئات التطوير المرئية Informatica BDM وبيئات التطوير غير المرئية Apache Spark.

وصف أب إنيتيو

Ab Initio، مثل أدوات ETL الأخرى، عبارة عن مجموعة من المنتجات.

عندما يكون لديك موازين سبير. استخدام Ab Initio مع Hive و GreenPlum

Ab Initio GDE (بيئة التطوير الرسومية) هي بيئة للمطور يقوم فيها بتكوين تحويلات البيانات وربطها بتدفقات البيانات على شكل أسهم. في هذه الحالة، تسمى مجموعة التحويلات هذه بالرسم البياني:

عندما يكون لديك موازين سبير. استخدام Ab Initio مع Hive و GreenPlum

اتصالات الإدخال والإخراج للمكونات الوظيفية هي منافذ وتحتوي على حقول محسوبة ضمن التحويلات. تسمى العديد من الرسوم البيانية المرتبطة بالتدفقات على شكل أسهم بترتيب تنفيذها بالخطة.

هناك عدة مئات من المكونات الوظيفية، وهو عدد كبير. كثير منهم متخصصون للغاية. تعد إمكانيات التحويلات الكلاسيكية في Ab Initio أوسع من أدوات ETL الأخرى. على سبيل المثال، الانضمام لديه مخرجات متعددة. بالإضافة إلى نتيجة ربط مجموعات البيانات، يمكنك الحصول على سجلات الإخراج لمجموعات بيانات الإدخال التي لا يمكن توصيل مفاتيحها. يمكنك أيضًا الحصول على حالات الرفض والأخطاء وسجل عملية التحويل، والتي يمكن قراءتها في نفس العمود كملف نصي ومعالجتها بتحويلات أخرى:

عندما يكون لديك موازين سبير. استخدام Ab Initio مع Hive و GreenPlum

أو على سبيل المثال، يمكنك إنشاء مستقبل بيانات على شكل جدول وقراءة البيانات منه في نفس العمود.

هناك التحولات الأصلية. على سبيل المثال، يحتوي تحويل المسح على وظائف مشابهة للوظائف التحليلية. هناك تحويلات بأسماء تشرح نفسها بنفسها: إنشاء البيانات، وقراءة Excel، والتطبيع، والفرز داخل المجموعات، وتشغيل البرنامج، وتشغيل SQL، والانضمام إلى قاعدة البيانات، وما إلى ذلك. يمكن للرسوم البيانية استخدام معلمات وقت التشغيل، بما في ذلك إمكانية تمرير المعلمات من أو إلى نظام التشغيل . تسمى الملفات التي تحتوي على مجموعة جاهزة من المعلمات التي تم تمريرها إلى الرسم البياني مجموعات المعلمات (psets).

كما هو متوقع، لدى Ab Initio GDE مستودع خاص بها يسمى EME (Enterprise Meta Environment). يتمتع المطورون بفرصة العمل مع الإصدارات المحلية من التعليمات البرمجية والتحقق من تطوراتهم في المستودع المركزي.

من الممكن أثناء التنفيذ أو بعد تنفيذ الرسم البياني النقر على أي تدفق يربط التحويل وإلقاء نظرة على البيانات التي مرت بين هذه التحويلات:

عندما يكون لديك موازين سبير. استخدام Ab Initio مع Hive و GreenPlum

من الممكن أيضًا النقر على أي دفق والاطلاع على تفاصيل التتبع - عدد المتوازيات التي تم التحويل فيها، وعدد الأسطر والبايتات التي تم تحميلها في أي من المتوازيات:

عندما يكون لديك موازين سبير. استخدام Ab Initio مع Hive و GreenPlum

من الممكن تقسيم تنفيذ الرسم البياني إلى مراحل وتحديد أن بعض التحولات يجب تنفيذها أولاً (في المرحلة الصفرية)، والتحويلات التالية في المرحلة الأولى، والتحويلات التالية في المرحلة الثانية، وما إلى ذلك.

لكل تحويل، يمكنك اختيار ما يسمى بالتخطيط (حيث سيتم تنفيذه): بدون موازية أو في خيوط متوازية، يمكن تحديد عددها. وفي الوقت نفسه، يمكن وضع الملفات المؤقتة التي ينشئها Ab Initio عند تشغيل التحويلات في نظام ملفات الخادم وفي HDFS.

في كل تحويل، استنادًا إلى القالب الافتراضي، يمكنك إنشاء البرنامج النصي الخاص بك في PDL، والذي يشبه إلى حد ما الصدفة.

باستخدام PDL، يمكنك توسيع وظائف التحويلات، وعلى وجه الخصوص، يمكنك إنشاء أجزاء تعليمات برمجية عشوائية (في وقت التشغيل) ديناميكيًا اعتمادًا على معلمات وقت التشغيل.

يتمتع Ab Initio أيضًا بتكامل متطور مع نظام التشغيل عبر Shell. على وجه التحديد، يستخدم سبيربنك Linux KSH. يمكنك تبادل المتغيرات مع الصدفة واستخدامها كمعلمات للرسم البياني. يمكنك استدعاء تنفيذ الرسوم البيانية Ab Initio من Shell وإدارة Ab Initio.

بالإضافة إلى Ab Initio GDE، يتم تضمين العديد من المنتجات الأخرى في التسليم. يوجد نظام تشغيل مشترك خاص به يُدعى بأنه نظام تشغيل. يوجد مركز تحكم>مركز حيث يمكنك جدولة تدفقات التنزيل ومراقبتها. هناك منتجات للقيام بالتطوير على مستوى أكثر بدائية مما يسمح به Ab Initio GDE.

وصف إطار عمل MDW والعمل على تخصيصه لـ GreenPlum

إلى جانب منتجاته، يوفر البائع منتج MDW (Metadata Driven Warehouse)، وهو عبارة عن مكون رسم بياني مصمم للمساعدة في المهام النموذجية لملء مستودعات البيانات أو خزائن البيانات.

يحتوي على موزعي بيانات وصفية مخصصة (خاصة بالمشروع) ومولدات أكواد جاهزة جاهزة للاستخدام.

عندما يكون لديك موازين سبير. استخدام Ab Initio مع Hive و GreenPlum
كمدخل، يتلقى MDW نموذج بيانات وملف تكوين لإعداد اتصال بقاعدة بيانات (Oracle أو Teradata أو Hive) وبعض الإعدادات الأخرى. على سبيل المثال، يقوم الجزء الخاص بالمشروع بنشر النموذج إلى قاعدة بيانات. يقوم الجزء الجاهز من المنتج بإنشاء رسوم بيانية وملفات تكوين لها عن طريق تحميل البيانات في جداول النماذج. في هذه الحالة، يتم إنشاء الرسوم البيانية (والمجموعات) لعدة أوضاع للتهيئة والعمل المتزايد على تحديث الكيانات.

في حالات Hive وRDBMS، يتم إنشاء رسوم بيانية مختلفة للتهيئة وتحديثات البيانات المتزايدة.

في حالة Hive، يتم ربط بيانات الدلتا الواردة عبر Ab Initio Join مع البيانات التي كانت موجودة في الجدول قبل التحديث. لا تقوم أدوات تحميل البيانات في MDW (سواء في Hive أو RDBMS) بإدراج بيانات جديدة من الدلتا فحسب، بل تقوم أيضًا بإغلاق الفترات ذات الصلة بالبيانات التي تلقت مفاتيحها الأساسية الدلتا. بالإضافة إلى ذلك، يجب عليك إعادة كتابة الجزء الذي لم يتغير من البيانات. ولكن يجب القيام بذلك لأن Hive لا تحتوي على عمليات حذف أو تحديث.

عندما يكون لديك موازين سبير. استخدام Ab Initio مع Hive و GreenPlum

في حالة RDBMS، تبدو الرسوم البيانية لتحديث البيانات المتزايدة أكثر مثالية، لأن RDBMS يتمتع بقدرات تحديث حقيقية.

عندما يكون لديك موازين سبير. استخدام Ab Initio مع Hive و GreenPlum

يتم تحميل الدلتا المستلمة في جدول متوسط ​​في قاعدة البيانات. بعد ذلك يتم ربط الدلتا بالبيانات التي كانت موجودة في الجدول قبل التحديث. ويتم ذلك باستخدام SQL باستخدام استعلام SQL تم إنشاؤه. بعد ذلك، باستخدام أوامر SQL حذف + إدراج، يتم إدراج بيانات جديدة من الدلتا في الجدول الهدف ويتم إغلاق فترات أهمية البيانات التي تلقت مفاتيحها الأساسية الدلتا.
ليست هناك حاجة لإعادة كتابة البيانات التي لم تتغير.

لذلك توصلنا إلى استنتاج مفاده أنه في حالة Hive، يجب على MDW إعادة كتابة الجدول بأكمله لأن Hive لا تحتوي على وظيفة التحديث. وليس هناك أفضل من إعادة كتابة البيانات بالكامل عند اختراع التحديث. في حالة RDBMS، على العكس من ذلك، وجد منشئو المنتج أنه من الضروري تكليف اتصال الجداول وتحديثها باستخدام SQL.

بالنسبة لمشروع في Sberbank، قمنا بإنشاء تطبيق جديد قابل لإعادة الاستخدام لمحمل قاعدة البيانات لـ GreenPlum. تم ذلك بناءً على الإصدار الذي ينشئه MDW لـ Teradata. لقد كانت Teradata، وليس Oracle، هي الأقرب والأفضل في هذا الصدد، لأن... هو أيضًا نظام MPP. تبين أن أساليب العمل، وكذلك بناء الجملة، متشابهة في Teradata وGreenPlum.

فيما يلي أمثلة على الاختلافات الحرجة لـ MDW بين أنظمة RDBMS المختلفة. في GreenPlum، على عكس Teradata، عند إنشاء الجداول تحتاج إلى كتابة جملة

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، كان من الضروري تثبيت عميل 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

، أي. يجب عليك مطالبة GreenPlum بفلتر واضح لكل قسم. بالنسبة لقواعد البيانات الأخرى (Teradata، Oracle)، يستطيع Ab Initio إجراء هذه الموازاة تلقائيًا.

مقارنة أداء Ab Initio بين Hive وGreenPlum

أجرى Sberbank تجربة لمقارنة أداء الرسوم البيانية التي تم إنشاؤها بواسطة MDW فيما يتعلق بـ Hive وفيما يتعلق بـ GreenPlum. كجزء من التجربة، في حالة Hive كان هناك 5 عقد في نفس المجموعة مثل Ab Initio، وفي حالة GreenPlum كان هناك 4 عقد في مجموعة منفصلة. أولئك. تتمتع Hive ببعض مزايا الأجهزة مقارنة بـ GreenPlum.

لقد نظرنا في زوجين من الرسوم البيانية يؤديان نفس مهمة تحديث البيانات في Hive وGreenPlum. في الوقت نفسه، تم إطلاق الرسوم البيانية التي تم إنشاؤها بواسطة مكون MDW:

  • التحميل الأولي + التحميل المتزايد للبيانات التي تم إنشاؤها عشوائيًا في جدول الخلية
  • التحميل الأولي + التحميل المتزايد للبيانات التي تم إنشاؤها عشوائيًا في نفس جدول GreenPlum

في كلتا الحالتين (Hive وGreenPlum)، قاموا بتشغيل التحميلات إلى 10 سلاسل متوازية على نفس مجموعة Ab Initio. قام Ab Initio بحفظ البيانات المتوسطة لإجراء العمليات الحسابية في HDFS (فيما يتعلق بـ Ab Initio، تم استخدام تخطيط MFS باستخدام HDFS). احتل سطر واحد من البيانات التي تم إنشاؤها عشوائيًا 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

تم إدراج الصفوف
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 تعتمد خطيًا على كمية البيانات، ولأسباب تتعلق بتحسين الأجهزة، فهي أسرع قليلاً بالنسبة لـ Hive مقارنة بـ GreenPlum.

يعتمد التحميل المتزايد في Hive أيضًا بشكل خطي على حجم البيانات المحملة مسبقًا والمتوفرة في الجدول الهدف ويستمر ببطء شديد مع نمو الحجم. يحدث هذا بسبب الحاجة إلى إعادة كتابة الجدول الهدف بالكامل. وهذا يعني أن تطبيق تغييرات صغيرة على الجداول الضخمة ليس حالة استخدام جيدة لـ Hive.

يعتمد التحميل المتزايد في GreenPlum بشكل ضعيف على حجم البيانات المحملة مسبقًا والمتوفرة في الجدول المستهدف ويستمر بسرعة كبيرة. حدث هذا بفضل SQL Joins وبنية GreenPlum، التي تسمح بعملية الحذف.

لذلك، يضيف GreenPlum الدلتا باستخدام طريقة الحذف + الإدراج، لكن Hive لا تحتوي على عمليات حذف أو تحديث، لذلك تم إجبار مصفوفة البيانات بأكملها على إعادة كتابتها بالكامل أثناء التحديث التزايدي. تعتبر المقارنة بين الخلايا المميزة بالخط العريض أكثر وضوحًا، لأنها تتوافق مع الخيار الأكثر شيوعًا لاستخدام التنزيلات كثيفة الاستخدام للموارد. نرى أن GreenPlum فاز على Hive في هذا الاختبار بـ 8 مرات.

العمل مع Ab Initio مع GreenPlum في وضع الوقت الفعلي القريب

في هذه التجربة، سنختبر قدرة Ab Initio على تحديث جدول GreenPlum بأجزاء من البيانات التي تم إنشاؤها عشوائيًا في الوقت الفعلي تقريبًا. لنفكر في جدول GreenPlum dev42_1_db_usl.TESTING_SUBJ_org_finval، الذي سنعمل معه.

سوف نستخدم ثلاثة رسوم بيانية من نوع Ab Initio للتعامل معها:

1) الرسم البياني Create_test_data.mp - ينشئ ملفات بيانات في HDFS تحتوي على 10 صف في 6 خيوط متوازية. البيانات عشوائية، وبنيتها منظمة لإدراجها في جدولنا

عندما يكون لديك موازين سبير. استخدام Ab Initio مع Hive و GreenPlum

عندما يكون لديك موازين سبير. استخدام Ab Initio مع Hive و GreenPlum

2) الرسم البياني mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset - رسم بياني تم إنشاؤه بواسطة MDW عن طريق تهيئة إدراج البيانات في جدولنا في 10 خيوط متوازية (يتم استخدام بيانات الاختبار التي تم إنشاؤها بواسطة الرسم البياني (1))

عندما يكون لديك موازين سبير. استخدام Ab Initio مع Hive و GreenPlum

3) الرسم البياني mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset - رسم بياني تم إنشاؤه بواسطة MDW للتحديث المتزايد لجدولنا في 10 خيوط متوازية باستخدام جزء من البيانات المستلمة حديثًا (دلتا) التي تم إنشاؤها بواسطة الرسم البياني (1)

عندما يكون لديك موازين سبير. استخدام Ab Initio مع Hive و GreenPlum

لنقم بتشغيل البرنامج النصي أدناه في وضع NRT:

  • إنشاء 6 خط اختبار
  • قم بإجراء تحميل أولي، وأدخل 6 صف اختبار في جدول فارغ
  • كرر التنزيل المتزايد 5 مرات
    • إنشاء 6 خط اختبار
    • إجراء إدراج تزايدي لـ 6 صف اختبار في الجدول (في هذه الحالة، يتم تعيين وقت انتهاء الصلاحية valid_to_ts على البيانات القديمة ويتم إدراج البيانات الأحدث بنفس المفتاح الأساسي)

يحاكي هذا السيناريو طريقة التشغيل الحقيقية لنظام أعمال معين - يظهر جزء كبير إلى حد ما من البيانات الجديدة في الوقت الفعلي ويتم سكبها على الفور في GreenPlum.

الآن دعونا نلقي نظرة على سجل البرنامج النصي:

ابدأ إنشاء_test_data.input.pset في 2020-06-04 11:49:11
قم بإنهاء إنشاء_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
ابدأ إنشاء_test_data.input.pset في 2020-06-04 11:50:42
قم بإنهاء إنشاء_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
ابدأ إنشاء_test_data.input.pset في 2020-06-04 11:53:41
قم بإنهاء إنشاء_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
ابدأ إنشاء_test_data.input.pset في 2020-06-04 11:56:51
قم بإنهاء إنشاء_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
ابدأ إنشاء_test_data.input.pset في 2020-06-04 11:59:55
قم بإنهاء إنشاء_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
ابدأ إنشاء_test_data.input.pset في 2020-06-04 12:03:23
قم بإنهاء إنشاء_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;

عندما يكون لديك موازين سبير. استخدام Ab Initio مع Hive و GreenPlum
يمكنك رؤية تطابق البيانات المدرجة مع الأوقات التي تم فيها إطلاق الرسوم البيانية.
هذا يعني أنه يمكنك تشغيل التحميل المتزايد للبيانات إلى 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 البيئي، وTeradata، وOracle DB، وGreenPlum، بالإضافة إلى أدوات BI Qlik، وSAP BO، وTableau، وما إلى ذلك.

المصدر: www.habr.com

إضافة تعليق