As jo ​​hawwe Sber skalen. Ab Initio brûke mei Hive en GreenPlum

In skoft lyn waarden wy konfrontearre mei de fraach fan it kiezen fan in ETL-ark foar wurkjen mei Big Data. De earder brûkte Informatica BDM-oplossing paste ús net fanwegen beheinde funksjonaliteit. It gebrûk is fermindere ta in ramt foar it lansearjen fan spark-submit kommando's. D'r wiene net in protte analogen op 'e merk dy't yn prinsipe yn steat wiene om te wurkjen mei it folume fan gegevens dy't wy elke dei omgeane. Uteinlik hawwe wy keazen foar Ab Initio. Tidens pilotdemonstraasjes toande it produkt heul hege gegevensferwurkingssnelheid. D'r is hast gjin ynformaasje oer Ab Initio yn it Russysk, dus wy besletten om te praten oer ús ûnderfining op Habré.

Ab Initio hat in protte klassike en ûngewoane transformaasjes, wêrfan de koade kin wurde útwreide mei in eigen PDL-taal. Foar in lyts bedriuw sil sa'n krêftich ark wierskynlik tefolle wêze, en de measte fan har mooglikheden kinne djoer en net brûkt wurde. Mar as jo skaal ticht by Sberov's is, dan kin Ab Initio jo ynteressant wêze.

It helpt in bedriuw om wrâldwiid kennis te sammeljen en in ekosysteem te ûntwikkeljen, en in ûntwikkelder om syn feardigens yn ETL te ferbetterjen, syn kennis yn 'e shell te ferbetterjen, jout de kâns om de PDL-taal te behearskjen, jout in fisueel byld fan laden prosessen, en ferienfâldiget ûntwikkeling fanwege de oerfloed fan funksjonele komponinten.

Yn dizze post sil ik prate oer de mooglikheden fan Ab Initio en ferlykjende skaaimerken leverje fan har wurk mei Hive en GreenPlum.

  • Beskriuwing fan it MDW-ramt en wurk oan syn oanpassing foar GreenPlum
  • Ab Initio prestaasjes ferliking tusken Hive en GreenPlum
  • Wurkje Ab Initio mei GreenPlum yn Near Real Time-modus


De funksjonaliteit fan dit produkt is heul breed en freget in protte tiid om te studearjen. Mei de juste wurkfeardigens en de juste prestaasjesynstellingen binne de resultaten fan gegevensferwurking lykwols heul yndrukwekkend. It brûken fan Ab Initio foar in ûntwikkelder kin in nijsgjirrige ûnderfining leverje. Dit is in nije take op ETL-ûntwikkeling, in hybride tusken in fisuele omjouwing en downloadûntwikkeling yn in skript-achtige taal.

Bedriuwen ûntwikkelje har ekosystemen en dit ark komt mear fan pas dan ea. Mei Ab Initio kinne jo kennis sammelje oer jo hjoeddeistige bedriuw en dizze kennis brûke om âlde en nije bedriuwen út te wreidzjen. Alternativen foar Ab Initio omfetsje fisuele ûntwikkelingsomjouwings Informatica BDM en net-fisuele ûntwikkelingsomjouwings Apache Spark.

Beskriuwing fan Ab Initio

Ab Initio, lykas oare ETL-ark, is in kolleksje fan produkten.

As jo ​​hawwe Sber skalen. Ab Initio brûke mei Hive en GreenPlum

Ab Initio GDE (Graphical Development Environment) is in omjouwing foar de ûntwikkelder wêryn hy gegevenstransformaasjes konfigurearret en ferbynt se mei gegevensstreamen yn 'e foarm fan pylken. Yn dit gefal wurdt sa'n set fan transformaasjes in grafyk neamd:

As jo ​​hawwe Sber skalen. Ab Initio brûke mei Hive en GreenPlum

De ynfier- en útfierferbiningen fan funksjonele komponinten binne havens en befetsje fjilden berekkene binnen transformaasjes. Ferskate grafiken ferbûn troch streamen yn 'e foarm fan pylken yn' e folchoarder fan har útfiering wurde in plan neamd.

D'r binne ferskate hûnderten funksjonele komponinten, wat in protte is. In protte fan harren binne tige spesjalisearre. De mooglikheden fan klassike transformaasjes yn Ab Initio binne breder dan yn oare ETL-ark. Join hat bygelyks meardere útgongen. Neist it resultaat fan it ferbinen fan datasets, kinne jo útfierrecords krije fan ynfierdatasets wêrfan de kaaien net kinne wurde ferbûn. Jo kinne ek ôfwizings, flaters en in log fan 'e transformaasjeoperaasje krije, dy't yn deselde kolom as in tekstbestân lêzen wurde kinne en ferwurke wurde mei oare transformaasjes:

As jo ​​hawwe Sber skalen. Ab Initio brûke mei Hive en GreenPlum

Of, bygelyks, kinne jo materialisearje in gegevens ûntfanger yn 'e foarm fan in tabel en lêze gegevens út it yn deselde kolom.

D'r binne orizjinele transformaasjes. Bygelyks, de Scan-transformaasje hat funksjonaliteit fergelykber mei analytyske funksjes. Der binne transformaasjes mei selsferklearjende nammen: Gegevens oanmeitsje, Excel lêze, Normalisearje, Sortearje binnen groepen, Programma útfiere, SQL útfiere, Join mei DB, ensfh. it bestjoeringssysteem. Triemmen mei in klearmakke set parameters dy't trochjûn binne oan 'e grafyk wurde parametersets (psets) neamd.

As ferwachte hat Ab Initio GDE in eigen repository neamd EME (Enterprise Meta Environment). Untwikkelders hawwe de kâns om te wurkjen mei lokale ferzjes fan koade en kontrolearje har ûntwikkelingen yn it sintrale repository.

It is mooglik, tidens de útfiering of nei it útfieren fan 'e grafyk, te klikken op elke stream dy't de transformaasje ferbynt en te sjen nei de gegevens dy't trochgien binne tusken dizze transformaasjes:

As jo ​​hawwe Sber skalen. Ab Initio brûke mei Hive en GreenPlum

It is ek mooglik om op elke stream te klikken en trackingdetails te sjen - hoefolle parallellen de transformaasje wurke yn, hoefolle rigels en bytes waarden laden yn hokker fan 'e parallellen:

As jo ​​hawwe Sber skalen. Ab Initio brûke mei Hive en GreenPlum

It is mooglik om de útfiering fan 'e grafyk te ferdielen yn fazen en markearje dat guon transformaasjes earst moatte wurde útfierd (yn 'e nulfaze), de folgjende yn' e earste faze, de folgjende yn 'e twadde faze, ensfh.

Foar elke transformaasje kinne jo de saneamde yndieling kieze (wêr't it sil wurde útfierd): sûnder parallellen of yn parallelle triedden, wêrfan it oantal kin wurde opjûn. Tagelyk kinne tydlike bestannen dy't Ab Initio makket as transformaasjes rinne kinne wurde pleatst sawol yn it tsjinnerbestânsysteem as yn HDFS.

Yn elke transformaasje, basearre op it standert sjabloan, kinne jo jo eigen skript meitsje yn PDL, dat is in bytsje as in shell.

Mei PDL kinne jo de funksjonaliteit fan transformaasjes útwreidzje en, benammen, kinne jo dynamysk (by runtime) willekeurige koadefragminten generearje ôfhinklik fan runtimeparameters.

Ab Initio hat ek goed ûntwikkele yntegraasje mei it OS fia shell. Spesifyk brûkt Sberbank linux ksh. Jo kinne fariabelen útwikselje mei de shell en brûke se as grafykparameters. Jo kinne de útfiering fan Ab Initio-grafiken út 'e shell neame en Ab Initio administrearje.

Neist Ab Initio GDE binne in protte oare produkten opnommen yn 'e levering. D'r is in eigen Co>Operaasjesysteem mei in bewearing om in bestjoeringssysteem te hjitten. D'r is in Control> Center wêr't jo downloadstreamen kinne plannen en kontrolearje. D'r binne produkten foar it dwaan fan ûntwikkeling op in primitiver nivo dan Ab Initio GDE tastiet.

Beskriuwing fan it MDW-ramt en wurk oan syn oanpassing foar GreenPlum

Tegearre mei har produkten leveret de ferkeaper it MDW (Metadata Driven Warehouse) produkt, dat is in grafyske konfigurator ûntworpen om te helpen mei typyske taken fan it befolkjen fan gegevenspakhuzen as gegevensgevels.

It befettet oanpaste (projektspesifike) metadata-parsers en klearmakke koade-generators út 'e doaze.

As jo ​​hawwe Sber skalen. Ab Initio brûke mei Hive en GreenPlum
As ynfier ûntfangt MDW in gegevensmodel, in konfiguraasjetriem foar it opsetten fan in ferbining mei in databank (Oracle, Teradata of Hive) en wat oare ynstellings. It projektspesifike diel set it model bygelyks yn in databank. It out-of-the-box diel fan it produkt genereart grafiken en konfiguraasjebestannen foar har troch gegevens yn modeltabellen te laden. Yn dit gefal wurde grafiken (en psets) makke foar ferskate manieren fan inisjalisearjen en inkrementeel wurk oan it bywurkjen fan entiteiten.

Yn 'e gefallen fan Hive en RDBMS wurde ferskate grafiken generearre foar inisjalisaasje en inkrementele gegevensupdates.

Yn it gefal fan Hive binne de ynkommende deltagegevens ferbûn fia Ab Initio Join mei de gegevens dy't yn 'e tabel wiene foar de fernijing. Gegevensladers yn MDW (sawol yn Hive as RDBMS) ynfoegje net allinich nije gegevens út 'e delta, mar slute ek de perioaden fan relevânsje fan' e gegevens wêrfan de primêre kaaien de delta ûntfange. Derneist moatte jo it net feroare diel fan 'e gegevens opnij skriuwe. Mar dit moat dien wurde om't Hive gjin wiskje- of bywurkingsoperaasjes hat.

As jo ​​hawwe Sber skalen. Ab Initio brûke mei Hive en GreenPlum

Yn it gefal fan RDBMS sjogge grafiken foar inkrementele bywurking fan gegevens optimaler, om't RDBMS echte bywurkingsmooglikheden hawwe.

As jo ​​hawwe Sber skalen. Ab Initio brûke mei Hive en GreenPlum

De ûntfongen delta wurdt laden yn in tuskentabel yn 'e databank. Hjirnei is de delta ferbûn mei de gegevens dy't yn 'e tabel wiene foar de fernijing. En dit wurdt dien mei SQL mei in oanmakke SQL-query. Folgjende, mei help fan de SQL-kommando's wiskje + ynfoegje, wurde nije gegevens fan 'e delta yn' e doeltabel ynfoege en de perioaden fan relevânsje fan 'e gegevens wêrfan de primêre kaaien de delta krigen hawwe sluten.
D'r is gjin ferlet om net feroare gegevens oer te skriuwen.

Dat wy kamen ta de konklúzje dat yn it gefal fan Hive, MDW moat gean om de hiele tabel te herskriuwen, om't Hive gjin updatefunksje hat. En neat better dan it folslein oerskriuwen fan de gegevens as it bywurkjen is útfûn. Yn it gefal fan RDBMS, krekt oarsom, de makkers fan it produkt fûnen it nedich om de ferbining en it aktualisearjen fan tabellen oan it brûken fan SQL te fertrouwen.

Foar in projekt by Sberbank hawwe wy in nije, werbrûkbere ymplemintaasje makke fan in databanklader foar GreenPlum. Dit waard dien basearre op de ferzje dy't MDW genereart foar Teradata. It wie Teradata, en net Oracle, dy't hjir it tichtst en it bêste foar kaam, om't ... is ek in MPP systeem. De wurkwizen, lykas de syntaksis, fan Teradata en GreenPlum bliken ferlykber te wêzen.

Foarbylden fan MDW-krityske ferskillen tusken ferskate RDBMS's binne as folget. Yn GreenPlum, yn tsjinstelling ta Teradata, moatte jo by it meitsjen fan tabellen in klausel skriuwe

distributed by

Teradata skriuwt:

delete <table> all

, en yn GreenPlum skriuwe se

delete from <table>

Yn Oracle skriuwe se foar optimalisaasjedoelen

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

, en Teradata en GreenPlum skriuwe

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

Wy konstatearje ek dat foar Ab Initio om mei GreenPlum te wurkjen, it nedich wie om de GreenPlum-kliïnt te ynstallearjen op alle knopen fan it Ab Initio-kluster. Dit is om't wy tagelyk ferbûn binne mei GreenPlum fan alle knopen yn ús kluster. En om it lêzen fan GreenPlum parallel te wêzen en elke parallelle Ab Initio-thread in eigen diel fan gegevens fan GreenPlum te lêzen, moasten wy in konstruksje pleatse begrepen troch Ab Initio yn 'e seksje "wêr" fan SQL-queries

where ABLOCAL()

en bepale de wearde fan dizze konstruksje troch it opjaan fan de parameterlêzing út de transformaasjedatabank

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

, dy't kompilearret ta wat as

mod(sk,10)=3

, d.w.s. jo moatte GreenPlum freegje mei in eksplisite filter foar elke partysje. Foar oare databases (Teradata, Oracle) kin Ab Initio dizze parallelisaasje automatysk útfiere.

Ab Initio prestaasjes ferliking tusken Hive en GreenPlum

Sberbank hat in eksperimint útfierd om de prestaasjes fan MDW-generearre grafiken te fergelykjen yn relaasje ta Hive en yn relaasje ta GreenPlum. As ûnderdiel fan it eksperimint wiene d'r yn it gefal fan Hive 5 knopen op deselde kluster as Ab Initio, en yn it gefal fan GreenPlum wiene d'r 4 knopen op in aparte kluster. Dy. Hive hie wat foardiel boppe GreenPlum yn termen fan hardware.

Wy beskôgen twa pearen grafiken dy't deselde taak útfiere fan it bywurkjen fan gegevens yn Hive en GreenPlum. Tagelyk waarden de grafiken generearre troch de MDW-konfigurator lansearre:

  • initial lading + inkrementele lading fan willekeurich oanmakke gegevens yn in Hive tabel
  • initial lading + inkrementele lading fan willekeurich oanmakke gegevens yn deselde GreenPlum tabel

Yn beide gefallen (Hive en GreenPlum) rûnen se uploads nei 10 parallelle triedden op deselde Ab Initio-kluster. Ab Initio bewarre tuskenlizzende gegevens foar berekkeningen yn HDFS (yn termen fan Ab Initio waard MFS-opmaak mei HDFS brûkt). Ien rigel fan willekeurich oanmakke gegevens besette yn beide gefallen 200 bytes.

It resultaat wie sa:

korf:

Inisjele laden yn Hive

Rige ynfoege
6 000 000
60 000 000
600 000 000

Duration fan inisjalisaasje
downloads yn sekonden
41
203
1 601

Inkrementeel laden yn Hive

Oantal rigen beskikber yn
doeltabel oan it begjin fan it eksperimint
6 000 000
60 000 000
600 000 000

Oantal delta rigels tapast op
doeltabel tidens it eksperimint
6 000 000
6 000 000
6 000 000

Duration fan inkrementeel
downloads yn sekonden
88
299
2 541

GreenPlum:

Inisjele laden yn GreenPlum

Rige ynfoege
6 000 000
60 000 000
600 000 000

Duration fan inisjalisaasje
downloads yn sekonden
72
360
3 631

Inkrementele laden yn GreenPlum

Oantal rigen beskikber yn
doeltabel oan it begjin fan it eksperimint
6 000 000
60 000 000
600 000 000

Oantal delta rigels tapast op
doeltabel tidens it eksperimint
6 000 000
6 000 000
6 000 000

Duration fan inkrementeel
downloads yn sekonden
159
199
321

Wy sjogge dat de snelheid fan inisjele laden yn sawol Hive as GreenPlum lineêr hinget fan 'e hoemannichte gegevens en, om redenen fan bettere hardware, is it wat flugger foar Hive dan foar GreenPlum.

Inkrementeel laden yn Hive hinget ek lineêr ôf fan it folume fan earder laden gegevens beskikber yn 'e doeltabel en giet frij stadich troch as it folume groeit. Dit wurdt feroarsake troch de needsaak om de doeltabel folslein te herskriuwen. Dit betsjut dat it tapassen fan lytse wizigingen op enoarme tabellen gjin goed gebrûk is foar Hive.

Inkrementeel laden yn GreenPlum is swak ôfhinklik fan it folume fan earder laden gegevens beskikber yn 'e doeltabel en giet frij fluch. Dit barde tanksij SQL Joins en de GreenPlum-arsjitektuer, wêrtroch de wiskje-operaasje mooglik is.

Dat, GreenPlum foeget de delta ta mei de metoade wiskje + ynfoegje, mar Hive hat gjin wiskjen of bywurkjen fan operaasjes, sadat de heule gegevensarray twongen waard folslein opnij skreaun tidens in ynkrementele fernijing. De fergeliking fan de fet markearre sellen is it meast iepenbierend, om't it oerienkomt mei de meast foarkommende opsje foar it brûken fan boarne-yntinsive downloads. Wy sjogge dat GreenPlum Hive yn dizze test mei 8 kear fersloech.

Wurkje Ab Initio mei GreenPlum yn Near Real Time-modus

Yn dit eksperimint sille wy it fermogen fan Ab Initio testen om de GreenPlum-tabel te aktualisearjen mei willekeurich oanmakke stikken gegevens yn hast echt tiid. Litte wy de GreenPlum-tabel beskôgje dev42_1_db_usl.TESTING_SUBJ_org_finval, wêrmei wy sille wurkje.

Wy sille trije Ab Initio-grafiken brûke om dermei te wurkjen:

1) Graph Create_test_data.mp - makket gegevensbestannen yn HDFS mei 10 rigen yn 6 parallelle triedden. De gegevens binne willekeurich, har struktuer is organisearre foar ynfoegje yn ús tabel

As jo ​​hawwe Sber skalen. Ab Initio brûke mei Hive en GreenPlum

As jo ​​hawwe Sber skalen. Ab Initio brûke mei Hive en GreenPlum

2) Grafyk mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset - MDW-generearre grafyk troch inisjalisearjen fan gegevensynfoegje yn ús tabel yn 10 parallelle triedden (testgegevens generearre troch grafyk (1) wurde brûkt)

As jo ​​hawwe Sber skalen. Ab Initio brûke mei Hive en GreenPlum

3) Grafyk mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset - in grafyk oanmakke troch MDW foar inkrementele fernijing fan ús tabel yn 10 parallelle triedden mei in diel fan nij ûntfongen gegevens (delta) oanmakke troch grafyk (1)

As jo ​​hawwe Sber skalen. Ab Initio brûke mei Hive en GreenPlum

Litte wy it hjirûnder skript útfiere yn NRT-modus:

  • generearje 6 test rigels
  • útfiere in earste load ynfoegje 6 test rigen yn in lege tabel
  • werhelje inkrementele download 5 kear
    • generearje 6 test rigels
    • in ynkrementeel ynfoegje fan 6 testrigels yn 'e tabel útfiere (yn dit gefal is de ferfaltiid fan valid_to_ts ynsteld op 'e âlde gegevens en mear resinte gegevens mei deselde primêre kaai wurde ynfoege)

Dit senario emulearret de modus fan echte wurking fan in bepaald bedriuwssysteem - in frij grut diel fan nije gegevens ferskynt yn realtime en wurdt fuortendaliks yn GreenPlum getten.

Litte wy no nei it logboek fan it skript sjen:

Start Create_test_data.input.pset op 2020-06-04 11:49:11
Finish Create_test_data.input.pset op 2020-06-04 11:49:37
Start mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset op 2020-06-04 11:49:37
Finish mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset op 2020-06-04 11:50:42
Start Create_test_data.input.pset op 2020-06-04 11:50:42
Finish Create_test_data.input.pset op 2020-06-04 11:51:06
Start mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset op 2020-06-04 11:51:06
Finish mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset op 2020-06-04 11:53:41
Start Create_test_data.input.pset op 2020-06-04 11:53:41
Finish Create_test_data.input.pset op 2020-06-04 11:54:04
Start mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset op 2020-06-04 11:54:04
Finish mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset op 2020-06-04 11:56:51
Start Create_test_data.input.pset op 2020-06-04 11:56:51
Finish Create_test_data.input.pset op 2020-06-04 11:57:14
Start mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset op 2020-06-04 11:57:14
Finish mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset op 2020-06-04 11:59:55
Start Create_test_data.input.pset op 2020-06-04 11:59:55
Finish Create_test_data.input.pset op 2020-06-04 12:00:23
Start mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset op 2020-06-04 12:00:23
Finish mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset op 2020-06-04 12:03:23
Start Create_test_data.input.pset op 2020-06-04 12:03:23
Finish Create_test_data.input.pset op 2020-06-04 12:03:49
Start mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset op 2020-06-04 12:03:49
Finish mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset op 2020-06-04 12:06:46

It docht bliken dat dizze foto:

Grafyk
Begjintiid
Finish tiid
Lingte

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

Wy sjogge dat 6 ynkrementlinen wurde ferwurke yn 000 minuten, wat frij rap is.
De gegevens yn 'e doeltabel die bliken as folget te ferdield:

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;

As jo ​​hawwe Sber skalen. Ab Initio brûke mei Hive en GreenPlum
Jo kinne de korrespondinsje sjen fan 'e ynfoege gegevens nei de tiden dat de grafiken waarden lansearre.
Dit betsjut dat jo inkrementeel laden fan gegevens yn GreenPlum kinne útfiere yn Ab Initio mei in heul hege frekwinsje en in hege snelheid observearje fan it ynfoegjen fan dizze gegevens yn GreenPlum. Fansels sil it net mooglik wêze om ien kear in sekonde te starten, om't Ab Initio, lykas elk ETL-ark, tiid nedich hat om "op te starten" as it wurdt lansearre.

konklúzje

Ab Initio wurdt op it stuit brûkt by Sberbank om in Unified Semantic Data Layer (ESS) te bouwen. Dit projekt omfettet it bouwen fan in unifoarme ferzje fan 'e steat fan ferskate bankbedriuwsentiteiten. Ynformaasje komt út ferskate boarnen, wêrfan de replika's wurde taret op Hadoop. Op grûn fan saaklike behoeften wurdt in gegevensmodel taret en gegevenstransformaasjes beskreaun. Ab Initio laadt ynformaasje yn it ESN en de ynladen gegevens binne net allinich fan belang foar it bedriuw op himsels, mar tsjinnet ek as boarne foar it bouwen fan datamarts. Tagelyk lit de funksjonaliteit fan it produkt jo ferskate systemen brûke as ûntfanger (Hive, Greenplum, Teradata, Oracle), wat it mooglik makket om gegevens maklik te meitsjen foar in bedriuw yn 'e ferskate formaten dy't it fereasket.

De mooglikheden fan Ab Initio binne breed, bygelyks it opnommen MDW-ramt makket it mooglik om technyske en saaklike histoaryske gegevens út 'e doaze te bouwen. Foar ûntwikkelders makket Ab Initio it mooglik om it tsjil net opnij út te finen, mar in protte besteande funksjonele komponinten te brûken, dy't yn essinsje bibleteken binne nedich by it wurkjen mei gegevens.

De skriuwer is in ekspert yn 'e profesjonele mienskip fan Sberbank SberProfi DWH/BigData. De profesjonele mienskip fan SberProfi DWH/BigData is ferantwurdlik foar it ûntwikkeljen fan kompetinsjes yn gebieten lykas it Hadoop-ekosysteem, Teradata, Oracle DB, GreenPlum, lykas BI-ark Qlik, SAP BO, Tableau, ensfh.

Boarne: www.habr.com

Add a comment