Sber tərəzi olduqda. Hive və GreenPlum ilə Ab Initio-dan istifadə

Bir müddət əvvəl Big Data ilə işləmək üçün ETL alətinin seçilməsi məsələsi ilə qarşılaşdıq. Əvvəllər istifadə olunan Informatica BDM həlli məhdud funksionallıq səbəbindən bizə uyğun gəlmədi. Onun istifadəsi qığılcım göndərmə əmrlərini işə salmaq üçün çərçivəyə endirildi. Bazarda, prinsipcə, hər gün məşğul olduğumuz məlumatların həcmi ilə işləməyi bacaran bir çox analoq yox idi. Sonda biz Ab Initio seçdik. Pilot nümayişlər zamanı məhsul çox yüksək məlumat emal sürəti göstərdi. Rus dilində Ab Initio haqqında demək olar ki, heç bir məlumat yoxdur, ona görə də Habré-də təcrübəmiz haqqında danışmaq qərarına gəldik.

Ab Initio bir çox klassik və qeyri-adi çevrilmələrə malikdir, kodu öz PDL dilindən istifadə etməklə genişləndirilə bilər. Kiçik biznes üçün belə bir güclü alət çox güman ki, həddindən artıq yüklənəcək və onun imkanlarının əksəriyyəti bahalı və istifadə olunmamış ola bilər. Ancaq miqyasınız Sberov-a yaxındırsa, Ab Initio sizin üçün maraqlı ola bilər.

O, biznesə qlobal miqyasda bilik toplamağa və ekosistemi inkişaf etdirməyə, tərtibatçıya isə ETL üzrə bacarıqlarını təkmilləşdirməyə, qabıqda biliklərini təkmilləşdirməyə kömək edir, PDL dilini mənimsəmək imkanı verir, yükləmə proseslərinin vizual görüntüsünü verir və inkişafı asanlaşdırır. funksional komponentlərin bolluğuna görə.

Bu yazıda mən Ab Initio-nun imkanları haqqında danışacağam və onun Hive və GreenPlum ilə işinin müqayisəli xüsusiyyətlərini təqdim edəcəyəm.

  • MDW çərçivəsinin təsviri və onun GreenPlum üçün fərdiləşdirilməsi üzərində işləmək
  • Hive və GreenPlum arasında Ab Initio performans müqayisəsi
  • Near Real Time rejimində GreenPlum ilə Ab Initio işləyir


Bu məhsulun funksionallığı çox genişdir və öyrənmək üçün çox vaxt tələb olunur. Bununla belə, düzgün iş bacarıqları və düzgün performans parametrləri ilə məlumatların işlənməsinin nəticələri çox təsir edici olur. Tərtibatçı üçün Ab Initio-dan istifadə maraqlı təcrübə təmin edə bilər. Bu, vizual mühit və skriptə bənzər bir dildə endirmə inkişafı arasında hibrid olan ETL inkişafının yeni yanaşmasıdır.

Müəssisələr öz ekosistemlərini inkişaf etdirirlər və bu alət hər zamankindən daha çox işə yarayır. Ab Initio ilə siz cari biznesiniz haqqında bilik toplaya və bu biliklərdən köhnə və yeni biznesləri genişləndirmək üçün istifadə edə bilərsiniz. Ab Initio-ya alternativlərə vizual inkişaf mühitləri Informatica BDM və qeyri-vizual inkişaf mühitləri Apache Spark daxildir.

Ab Initio-nun təsviri

Ab Initio, digər ETL alətləri kimi, məhsullar toplusudur.

Sber tərəzi olduqda. Hive və GreenPlum ilə Ab Initio-dan istifadə

Ab Initio GDE (Qrafik İnkişaf Mühiti) tərtibatçı üçün verilənlərin transformasiyalarını konfiqurasiya etdiyi və onları oxlar şəklində məlumat axınları ilə birləşdirən mühitdir. Bu vəziyyətdə belə bir çevrilmə toplusu qrafik adlanır:

Sber tərəzi olduqda. Hive və GreenPlum ilə Ab Initio-dan istifadə

Funksional komponentlərin giriş və çıxış əlaqələri portlardır və transformasiyalar çərçivəsində hesablanmış sahələri ehtiva edir. İcra sırasına görə oxlar şəklində axınlarla birləşdirilən bir neçə qrafik plan adlanır.

Bir neçə yüz funksional komponent var ki, bu da çoxdur. Onların bir çoxu yüksək ixtisaslaşmışdır. Ab Initio-da klassik transformasiyaların imkanları digər ETL alətlərinə nisbətən daha genişdir. Məsələn, Qoşulun çoxlu çıxışları var. Məlumat dəstlərini birləşdirməyin nəticəsi ilə yanaşı, açarları qoşula bilməyən giriş məlumat dəstlərinin çıxış qeydlərini əldə edə bilərsiniz. Siz həmçinin mətn faylı ilə eyni sütunda oxuna bilən və digər transformasiyalarla işlənə bilən rəddlər, səhvlər və transformasiya əməliyyatı jurnalını əldə edə bilərsiniz:

Sber tərəzi olduqda. Hive və GreenPlum ilə Ab Initio-dan istifadə

Və ya, məsələn, məlumat qəbuledicisini cədvəl şəklində maddiləşdirə və ondan məlumatları eyni sütunda oxuya bilərsiniz.

Orijinal çevrilmələr var. Məsələn, Skan çevrilməsi analitik funksiyalara oxşar funksionallığa malikdir. Özünü izah edən adları olan transformasiyalar var: Məlumat yaradın, Excel oxuyun, Normallaşdırın, Qruplar daxilində çeşidləyin, Proqramı işə salın, SQL-i işə salın, DB ilə qoşulun və s. əməliyyat sistemi. Qrafikə ötürülən hazır parametrlər toplusu olan fayllar parametr dəstləri (psetlər) adlanır.

Gözlənildiyi kimi, Ab Initio GDE-nin EME (Enterprise Meta Environment) adlı öz deposu var. Tərtibatçıların kodun yerli versiyaları ilə işləmək və onların inkişaflarını mərkəzi depoda yoxlamaq imkanı var.

İcra zamanı və ya qrafiki yerinə yetirdikdən sonra transformasiyanı birləşdirən hər hansı axın üzərinə klikləmək və bu çevrilmələr arasında keçən məlumatlara baxmaq mümkündür:

Sber tərəzi olduqda. Hive və GreenPlum ilə Ab Initio-dan istifadə

İstənilən axın üzərinə klikləmək və izləmə təfərrüatlarına baxmaq da mümkündür - transformasiya neçə paraleldə işləmişdir, paralellərdən hansına neçə sətir və bayt yüklənmişdir:

Sber tərəzi olduqda. Hive və GreenPlum ilə Ab Initio-dan istifadə

Qrafikin icrasını fazalara bölmək və qeyd etmək olar ki, bəzi transformasiyaların əvvəlcə (sıfır mərhələsində), sonrakıların birinci mərhələdə, sonrakıların ikinci mərhələdə və s.

Hər bir transformasiya üçün siz qondarma layout seçə bilərsiniz (harada yerinə yetiriləcək): paralellər olmadan və ya paralel mövzularda, sayı müəyyən edilə bilər. Eyni zamanda, transformasiyalar işləyərkən Ab Initio-nun yaratdığı müvəqqəti fayllar həm server fayl sistemində, həm də HDFS-də yerləşdirilə bilər.

Hər bir transformasiyada standart şablon əsasında PDL-də öz skriptinizi yarada bilərsiniz ki, bu da bir az qabığa bənzəyir.

PDL ilə siz transformasiyaların funksional imkanlarını genişləndirə bilərsiniz və xüsusən də icra zamanı parametrlərindən asılı olaraq dinamik (işləmə zamanı) ixtiyari kod fraqmentləri yarada bilərsiniz.

Ab Initio həmçinin shell vasitəsilə ƏS ilə yaxşı inkişaf etmiş inteqrasiyaya malikdir. Xüsusilə, Sberbank linux ksh istifadə edir. Siz dəyişənləri qabıqla mübadilə edə və onları qrafik parametrləri kimi istifadə edə bilərsiniz. Siz qabıqdan Ab Initio qrafiklərinin icrasına zəng edə və Ab Initio-nu idarə edə bilərsiniz.

Ab Initio GDE ilə yanaşı, bir çox başqa məhsullar çatdırılmada yer alır. Əməliyyat sistemi adlandırılacaq bir iddia ilə öz Co>Operation System var. Yükləmə axınlarını planlaşdıra və izləyə biləcəyiniz Nəzarət>Mərkəz var. Ab Initio GDE-nin icazə verdiyindən daha primitiv səviyyədə inkişaf etmək üçün məhsullar var.

MDW çərçivəsinin təsviri və onun GreenPlum üçün fərdiləşdirilməsi üzərində işləmək

Məhsulları ilə yanaşı, satıcı MDW (Metadata Driven Warehouse) məhsulunu təmin edir, hansı ki, məlumat anbarlarının və ya məlumat anbarlarının doldurulması ilə bağlı tipik tapşırıqların yerinə yetirilməsi üçün nəzərdə tutulmuş qrafik konfiquratordur.

O, xüsusi (layihə üçün xüsusi) metadata təhlilçiləri və qutudan kənar hazır kod generatorlarını ehtiva edir.

Sber tərəzi olduqda. Hive və GreenPlum ilə Ab Initio-dan istifadə
Giriş kimi, MDW məlumat modeli, verilənlər bazası (Oracle, Teradata və ya Hive) ilə əlaqə qurmaq üçün konfiqurasiya faylını və bəzi digər parametrləri alır. Layihəyə aid olan hissə, məsələn, modeli verilənlər bazasına yerləşdirir. Məhsulun qutudan kənar hissəsi məlumatları model cədvəllərinə yükləməklə onlar üçün qrafiklər və konfiqurasiya faylları yaradır. Bu halda, qrafiklər (və psetlər) obyektlərin yenilənməsi üzrə başlanğıc və artımlı işlərin bir neçə rejimi üçün yaradılır.

Hive və RDBMS vəziyyətlərində başlanğıc və artımlı məlumat yeniləmələri üçün müxtəlif qrafiklər yaradılır.

Hive vəziyyətində, daxil olan delta məlumatları Ab Initio Join vasitəsilə yeniləmədən əvvəl cədvəldə olan məlumatlarla əlaqələndirilir. MDW-də (həm Hive, həm də RDBMS-də) məlumat yükləyiciləri təkcə deltadan yeni məlumatlar daxil etmir, həm də əsas açarları deltanı qəbul edən məlumatların aktuallıq dövrlərini bağlayır. Bundan əlavə, məlumatların dəyişməmiş hissəsini yenidən yazmalısınız. Ancaq bunu etmək lazımdır, çünki Hive-da silmə və ya yeniləmə əməliyyatları yoxdur.

Sber tərəzi olduqda. Hive və GreenPlum ilə Ab Initio-dan istifadə

RDBMS vəziyyətində, məlumatların artımlı yenilənməsi üçün qrafiklər daha optimal görünür, çünki RDBMS real yeniləmə imkanlarına malikdir.

Sber tərəzi olduqda. Hive və GreenPlum ilə Ab Initio-dan istifadə

Alınan delta verilənlər bazasında aralıq cədvələ yüklənir. Bundan sonra, delta yeniləmədən əvvəl cədvəldə olan məlumatlara qoşulur. Və bu yaradılan SQL sorğusundan istifadə edərək SQL istifadə edərək edilir. Sonra, sil+insert SQL əmrlərindən istifadə edərək, deltadan yeni məlumatlar hədəf cədvələ daxil edilir və əsas açarları deltanı qəbul edən məlumatların aktuallıq dövrləri bağlanır.
Dəyişməmiş məlumatları yenidən yazmağa ehtiyac yoxdur.

Beləliklə, biz belə nəticəyə gəldik ki, Hive vəziyyətində MDW bütün cədvəli yenidən yazmağa getməlidir, çünki Hive-da yeniləmə funksiyası yoxdur. Yeniləmə icad edildikdə məlumatları tamamilə yenidən yazmaqdan daha yaxşı bir şey yoxdur. RDBMS vəziyyətində isə əksinə, məhsulun yaradıcıları cədvəllərin qoşulmasını və yenilənməsini SQL-in istifadəsinə həvalə etməyi zəruri hesab etdilər.

Sberbank-da bir layihə üçün biz GreenPlum üçün verilənlər bazası yükləyicisinin yeni, təkrar istifadə edilə bilən tətbiqini yaratdıq. Bu, MDW-nin Teradata üçün yaratdığı versiya əsasında edilib. Bunun üçün ən yaxın və ən yaxşısı Oracle deyil, Teradata idi, çünki... həm də MPP sistemidir. Teradata və GreenPlum-un iş üsulları, eləcə də sintaksisi oxşar oldu.

Müxtəlif RDBMS-lər arasında MDW-kritik fərqlərin nümunələri aşağıdakılardır. GreenPlum-da, Teradata-dan fərqli olaraq, cədvəllər yaradan zaman bənd yazmaq lazımdır

distributed by

Teradata yazır:

delete <table> all

, və GreenPlum-da yazırlar

delete from <table>

Oracle-da optimallaşdırma məqsədləri üçün yazırlar

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

, və Teradata və GreenPlum yazır

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

Həmçinin qeyd edirik ki, Ab Initio-nun GreenPlum ilə işləməsi üçün Ab Initio klasterinin bütün qovşaqlarında GreenPlum müştərisini quraşdırmaq lazım idi. Bunun səbəbi GreenPlum-a klasterimizdəki bütün qovşaqlardan eyni vaxtda qoşulmağımızdır. GreenPlum-dan oxumağın paralel olması və hər bir paralel Ab Initio ipinin GreenPlum-dan verilənlərin öz hissəsini oxuması üçün biz Ab Initio tərəfindən başa düşülən konstruksiyanı SQL sorğularının “harada” bölməsinə yerləşdirməli olduq.

where ABLOCAL()

və transformasiya verilənlər bazasından parametr oxunmasını göstərməklə bu konstruksiyanın qiymətini təyin edin

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

kimi bir şey tərtib edən

mod(sk,10)=3

, yəni. hər bölmə üçün açıq filtrlə GreenPlum-a müraciət etməlisiniz. Digər verilənlər bazaları (Teradata, Oracle) üçün Ab Initio bu paralelləşdirməni avtomatik həyata keçirə bilər.

Hive və GreenPlum arasında Ab Initio performans müqayisəsi

Sberbank, Hive ilə əlaqəli və GreenPlum ilə əlaqəli MDW tərəfindən yaradılmış qrafiklərin performansını müqayisə etmək üçün bir təcrübə keçirdi. Təcrübənin bir hissəsi olaraq, Hive vəziyyətində Ab Initio ilə eyni klasterdə 5 qovşaq, GreenPlum vəziyyətində isə ayrıca klasterdə 4 qovşaq var idi. Bunlar. Hive GreenPlum-a nisbətən bəzi hardware üstünlüyünə malik idi.

Hive və GreenPlum-da məlumatların yenilənməsi kimi eyni vəzifəni yerinə yetirən iki cüt qrafiki nəzərdən keçirdik. Eyni zamanda, MDW konfiquratoru tərəfindən yaradılan qrafiklər işə salındı:

  • ilkin yük + Hive cədvəlinə təsadüfi yaradılan məlumatların artımlı yükü
  • ilkin yük + eyni GreenPlum cədvəlinə təsadüfi yaradılan məlumatların artımlı yükü

Hər iki halda (Hive və GreenPlum) eyni Ab Initio klasterində 10 paralel mövzuya yükləmələr həyata keçirdilər. Ab Initio HDFS-də hesablamalar üçün aralıq məlumatları saxladı (Ab Initio baxımından HDFS istifadə edərək MFS tərtibatı istifadə edildi). Hər iki halda təsadüfi yaradılan məlumatların bir sətri 200 bayt tutdu.

Nəticə belə oldu:

Arı şanı:

Hive-da ilkin yükləmə

Sətirlər daxil edildi
6 000 000
60 000 000
600 000 000

İnisiallaşdırma müddəti
saniyələr ərzində yüklənir
41
203
1 601

Hive-da artımlı yükləmə

Mövcud sıraların sayı
eksperimentin əvvəlində hədəf cədvəli
6 000 000
60 000 000
600 000 000

Tətbiq olunan delta xətlərinin sayı
təcrübə zamanı hədəf cədvəli
6 000 000
6 000 000
6 000 000

Artan müddəti
saniyələr ərzində yüklənir
88
299
2 541

Yaşıl gavalı:

GreenPlum-da ilkin yükləmə

Sətirlər daxil edildi
6 000 000
60 000 000
600 000 000

İnisiallaşdırma müddəti
saniyələr ərzində yüklənir
72
360
3 631

GreenPlum-da artımlı yükləmə

Mövcud sıraların sayı
eksperimentin əvvəlində hədəf cədvəli
6 000 000
60 000 000
600 000 000

Tətbiq olunan delta xətlərinin sayı
təcrübə zamanı hədəf cədvəli
6 000 000
6 000 000
6 000 000

Artan müddəti
saniyələr ərzində yüklənir
159
199
321

Görürük ki, həm Hive, həm də GreenPlum-da ilkin yükləmə sürəti xətti olaraq verilənlərin miqdarından asılıdır və daha yaxşı aparat səbəbiylə Hive üçün GreenPlum ilə müqayisədə bir qədər sürətlidir.

Hive-da artımlı yükləmə də xətti olaraq hədəf cədvəlində mövcud olan əvvəllər yüklənmiş məlumatların həcmindən asılıdır və həcm artdıqca olduqca yavaş davam edir. Bu, hədəf cədvəlini tamamilə yenidən yazmaq ehtiyacından qaynaqlanır. Bu o deməkdir ki, nəhəng cədvəllərə kiçik dəyişikliklərin tətbiqi Hive üçün yaxşı istifadə halı deyil.

GreenPlum-da artımlı yükləmə, hədəf cədvəlində mövcud olan əvvəllər yüklənmiş məlumatların həcmindən zəif asılıdır və olduqca tez davam edir. Bu, SQL Joins və silmə əməliyyatına imkan verən GreenPlum arxitekturası sayəsində baş verdi.

Beləliklə, GreenPlum Delta+insert metodundan istifadə edərək deltanı əlavə edir, lakin Hive-da silmə və ya yeniləmə əməliyyatları yoxdur, buna görə də artımlı yeniləmə zamanı bütün məlumat massivi tamamilə yenidən yazılmağa məcbur oldu. Qalın hərflərlə vurğulanan xanaların müqayisəsi ən açıqdır, çünki bu, resurs tutumlu yükləmələrdən istifadə üçün ən ümumi seçimə uyğundur. GreenPlum-un bu testdə Hive-ı 8 dəfə məğlub etdiyini görürük.

Near Real Time rejimində GreenPlum ilə Ab Initio işləyir

Bu təcrübədə biz Ab Initio-nun GreenPlum cədvəlini təsadüfi yaradılan məlumat parçaları ilə yaxın real vaxtda yeniləmək qabiliyyətini sınayacağıq. Gəlin işləyəcəyimiz GreenPlum dev42_1_db_usl.TESTING_SUBJ_org_finval cədvəlini nəzərdən keçirək.

Onunla işləmək üçün üç Ab Initio qrafikindən istifadə edəcəyik:

1) Create_test_data.mp qrafiki – HDFS-də 10 paralel iplikdə 6 cərgə ilə məlumat faylları yaradır. Məlumatlar təsadüfi, onun strukturu cədvəlimizə daxil etmək üçün təşkil edilmişdir

Sber tərəzi olduqda. Hive və GreenPlum ilə Ab Initio-dan istifadə

Sber tərəzi olduqda. Hive və GreenPlum ilə Ab Initio-dan istifadə

2) Qrafik mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset – 10 paralel başlıqda cədvəlimizə verilənlərin daxil edilməsini işə salmaqla MDW tərəfindən yaradılan qrafik (qrafik (1) ilə yaradılan test məlumatlarından istifadə olunur)

Sber tərəzi olduqda. Hive və GreenPlum ilə Ab Initio-dan istifadə

3) Qrafik mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset – qrafik (10) tərəfindən yaradılan təzə qəbul edilmiş məlumatların (delta) bir hissəsindən istifadə edərək 1 paralel mövzuda cədvəlimizin tədricən yenilənməsi üçün MDW tərəfindən yaradılan qrafik.

Sber tərəzi olduqda. Hive və GreenPlum ilə Ab Initio-dan istifadə

Aşağıdakı skripti NRT rejimində işə salaq:

  • 6 test xətti yaradın
  • ilkin yükləməni yerinə yetirmək üçün boş cədvələ 6 sınaq sətirini daxil edin
  • artımlı yükləməni 5 dəfə təkrarlayın
    • 6 test xətti yaradın
    • cədvələ 6 test sətirinin artımlı əlavəsini yerinə yetirin (bu halda, valid_to_ts istifadə müddəti köhnə dataya təyin edilir və eyni əsas açarla daha yeni məlumatlar daxil edilir)

Bu ssenari müəyyən bir biznes sisteminin real iş rejimini təqlid edir - yeni məlumatların kifayət qədər böyük bir hissəsi real vaxtda görünür və dərhal GreenPlum-a tökülür.

İndi skriptin jurnalına baxaq:

Create_test_data.input.pset-ə 2020-06-04 11:49:11-də başlayın
Create_test_data.input.pset-i 2020-06-04 11:49:37 tarixində bitirin
42-1-2020 06:04:11 tarixində mdw_load.day_one.current.dev49_37_db_usl_testing_subj_org_finval.pset-ə başlayın
mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset proqramını 2020-06-04 11:50:42-də bitirin
Create_test_data.input.pset-ə 2020-06-04 11:50:42-də başlayın
Create_test_data.input.pset-i 2020-06-04 11:51:06 tarixində bitirin
42-1-2020 06:04:11 tarixində mdw_load.regular.current.dev51_06_db_usl_testing_subj_org_finval.pset-ə başlayın
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset-i 2020-06-04 11:53:41 tarixində bitirin
Create_test_data.input.pset-ə 2020-06-04 11:53:41-də başlayın
Create_test_data.input.pset-i 2020-06-04 11:54:04 tarixində bitirin
42-1-2020 06:04:11 tarixində mdw_load.regular.current.dev54_04_db_usl_testing_subj_org_finval.pset-ə başlayın
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset-i 2020-06-04 11:56:51 tarixində bitirin
Create_test_data.input.pset-ə 2020-06-04 11:56:51-də başlayın
Create_test_data.input.pset-i 2020-06-04 11:57:14 tarixində bitirin
42-1-2020 06:04:11 tarixində mdw_load.regular.current.dev57_14_db_usl_testing_subj_org_finval.pset-ə başlayın
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset-i 2020-06-04 11:59:55 tarixində bitirin
Create_test_data.input.pset-ə 2020-06-04 11:59:55-də başlayın
Create_test_data.input.pset-i 2020-06-04 12:00:23 tarixində bitirin
42-1-2020 06:04:12 tarixində mdw_load.regular.current.dev00_23_db_usl_testing_subj_org_finval.pset-ə başlayın
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset-i 2020-06-04 12:03:23 tarixində bitirin
Create_test_data.input.pset-ə 2020-06-04 12:03:23-də başlayın
Create_test_data.input.pset-i 2020-06-04 12:03:49 tarixində bitirin
42-1-2020 06:04:12 tarixində mdw_load.regular.current.dev03_49_db_usl_testing_subj_org_finval.pset-ə başlayın
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset-i 2020-06-04 12:06:46 tarixində bitirin

Bu şəkil çıxır:

Qrafik
Vaxt başlamaq
Bitirmə vaxtı
Uzunluq

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 000 artım xəttinin 3 dəqiqə ərzində işləndiyini görürük ki, bu da kifayət qədər sürətlidir.
Hədəf cədvəlindəki məlumatların aşağıdakı kimi paylandığı ortaya çıxdı:

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 tərəzi olduqda. Hive və GreenPlum ilə Ab Initio-dan istifadə
Daxil edilmiş məlumatların qrafiklərin işə salındığı vaxtlara uyğunluğunu görə bilərsiniz.
Bu o deməkdir ki, siz Ab Initio-da çox yüksək tezlikdə məlumatların GreenPlum-a artımlı yüklənməsini həyata keçirə və bu məlumatı GreenPlum-a daxil etməyin yüksək sürətini müşahidə edə bilərsiniz. Əlbəttə ki, saniyədə bir dəfə işə salmaq mümkün olmayacaq, çünki Ab Initio, hər hansı bir ETL aləti kimi, işə salındıqda "başlamaq" üçün vaxt tələb edir.

Nəticə

Ab Initio hazırda Sberbank-da Vahid Semantik Məlumat Layeri (ESS) yaratmaq üçün istifadə olunur. Bu layihə müxtəlif bank biznes subyektlərinin vəziyyətinin vahid versiyasının qurulmasını nəzərdə tutur. Məlumatlar müxtəlif mənbələrdən alınır, onların replikaları Hadoop-da hazırlanır. Biznes ehtiyaclarına əsaslanaraq məlumat modeli hazırlanır və verilənlərin çevrilməsi təsvir olunur. Ab Initio məlumatı ESN-ə yükləyir və yüklənmiş məlumatlar təkcə biznesin özü üçün maraqlı deyil, həm də data marketlərin qurulması üçün mənbə rolunu oynayır. Eyni zamanda, məhsulun funksionallığı müxtəlif sistemlərdən qəbuledici (Hive, Greenplum, Teradata, Oracle) kimi istifadə etməyə imkan verir ki, bu da biznes üçün onun tələb etdiyi müxtəlif formatlarda məlumatları asanlıqla hazırlamağa imkan verir.

Ab Initio-nun imkanları genişdir; məsələn, daxil edilmiş MDW çərçivəsi texniki və biznes tarixi məlumatlarını qutudan kənarda qurmağa imkan verir. Tərtibatçılar üçün Ab Initio təkəri yenidən kəşf etməyə deyil, verilənlərlə işləyərkən mahiyyətcə lazım olan kitabxanalar olan bir çox mövcud funksional komponentlərdən istifadə etməyə imkan verir.

Müəllif Sberbank SberProfi DWH/BigData-nın peşəkar icmasının ekspertidir. SberProfi DWH/BigData peşəkar icması Hadoop ekosistemi, Teradata, Oracle DB, GreenPlum, eləcə də BI alətləri Qlik, SAP BO, Tableau və s. kimi sahələrdə səriştələrin inkişafına cavabdehdir.

Mənbə: www.habr.com

Добавить комментарий