Quandu avete scale Sber. Utilizendu Ab Initio cù Hive è GreenPlum

Qualchì tempu fà, avemu avutu a quistione di sceglie un strumentu ETL per travaglià cù Big Data. A suluzione Informatica BDM usata prima ùn ci cunvene per via di funziunalità limitata. U so usu hè statu ridutta à un quadru per lanciari cumandamenti spark-submit. Ùn ci era micca assai analoghi nantu à u mercatu chì eranu, in principiu, capaci di travaglià cù u voluminu di dati chì avemu trattatu ogni ghjornu. À a fine avemu sceltu Ab Initio. Duranti dimustrazioni pilotu, u pruduttu dimustrava assai altu vitezza di trasfurmazioni di dati. Ùn ci hè quasi nisuna infurmazione nantu à Ab Initio in Russu, cusì avemu decisu di parlà di a nostra sperienza nantu à Habré.

Ab Initio hà assai trasfurmazioni classici è inusual, u codice di quale pò esse allargatu cù a so propria lingua PDL. Per una piccula impresa, un strumentu cusì putente serà prubabilmente eccessivu, è a maiò parte di e so capacità pò esse caru è micca utilizatu. Ma se a vostra scala hè vicinu à Sberov, allora Ab Initio pò esse interessante per voi.

Aiuta una impresa à accumulà cunniscenze in u mondu è sviluppà un ecosistema, è un sviluppatore per migliurà e so cumpetenze in ETL, migliurà a so cunniscenza in a cunchiglia, furnisce l'uppurtunità di maestru di a lingua PDL, dà una figura visuale di i prucessi di carica, è simplificà u sviluppu. per via di l'abbundanza di cumpunenti funziunali.

In questu post, parraraghju di e capacità di Ab Initio è furnisce e caratteristiche comparative di u so travagliu cù Hive è GreenPlum.

  • Descrizzione di u framework MDW è u travagliu nantu à a so persunalizazione per GreenPlum
  • Comparazione di prestazioni Ab Initio trà Hive è GreenPlum
  • U travagliu Ab Initio cù GreenPlum in modu quasi Reale


A funziunalità di stu pruduttu hè assai largu è richiede assai tempu per studià. In ogni casu, cù e cumpetenze di u travagliu propiu è i paràmetri di u rendiment ghjustu, i risultati di u trattamentu di dati sò assai impressiunanti. Utilizà Ab Initio per un sviluppatore pò furnisce una sperienza interessante. Questa hè una nova presa di u sviluppu ETL, un hibridu trà un ambiente visuale è u sviluppu di scaricamentu in una lingua script-like.

L'imprese sviluppanu i so ecosistemi è questu strumentu hè utile più cà mai. Cù Ab Initio, pudete accumulà cunniscenze nantu à a vostra attività attuale è aduprà sta cunniscenza per espansione vechji è apre novi imprese. Alternative à Ab Initio include ambienti di sviluppu visuale Informatica BDM è ambienti di sviluppu non visual Apache Spark.

Descrizzione di Ab Initio

Ab Initio, cum'è l'altri strumenti ETL, hè una cullizzioni di prudutti.

Quandu avete scale Sber. Utilizendu Ab Initio cù Hive è GreenPlum

Ab Initio GDE (Ambiente di Sviluppu Graficu) hè un ambiente per u sviluppatore in quale cunfigurà trasfurmazioni di dati è li cunnetta cù flussi di dati in forma di frecce. In questu casu, un tali inseme di trasfurmazioni hè chjamatu graficu:

Quandu avete scale Sber. Utilizendu Ab Initio cù Hive è GreenPlum

I cunnessione di input è output di cumpunenti funziunali sò porti è cuntenenu campi calculati in trasfurmazioni. Parechji grafici cunnessi da i flussi in forma di frecce in l'ordine di a so esecuzione sò chjamati un pianu.

Ci sò parechji centu cumpunenti funziunali, chì hè assai. Parechji di elli sò assai specializati. E capacità di trasfurmazioni classiche in Ab Initio sò più largu chè in altri strumenti ETL. Per esempiu, Join hà parechje outputs. In più di u risultatu di cunnessu datasets, pudete ottene record di output di datasets input chì e chjave ùn puderanu micca esse cunnessi. Pudete ancu ottene rifiuti, errori è un logu di l'operazione di trasfurmazioni, chì pò esse leghje in a listessa colonna cum'è un schedariu di testu è trattatu cù altre trasfurmazioni:

Quandu avete scale Sber. Utilizendu Ab Initio cù Hive è GreenPlum

O, per esempiu, pudete materializà un receptore di dati in a forma di una tavula è leghje dati da ellu in a listessa colonna.

Ci sò trasfurmazioni originali. Per esempiu, a trasfurmazioni Scan hà funziunalità simili à e funzioni analitiche. Ci sò trasfurmazioni cù nomi auto-spiegativi: Crea Dati, Leghjite Excel, Normalize, Sort inside Groups, Run Program, Run SQL, Join with DB, etc. I grafici ponu utilizà paràmetri di run-time, cumprese a pussibilità di passà paràmetri da o à. u sistema operatore. I schedari cù un set di parametri pronti passati à u gràficu sò chjamati setti di paràmetri (psets).

Cum'è previstu, Ab Initio GDE hà u so propiu repository chjamatu EME (Enterprise Meta Environment). I sviluppatori anu l'uppurtunità di travaglià cù versioni lucali di codice è verificate in i so sviluppi in u repositoriu cintrali.

Hè pussibule, durante l'esekzione o dopu à eseguisce u gràficu, per cliccà nantu à qualsiasi flussu chì cunnetta a trasfurmazioni è fighjà i dati chì passanu trà sti trasfurmazioni:

Quandu avete scale Sber. Utilizendu Ab Initio cù Hive è GreenPlum

Hè ancu pussibule di cliccà nantu à qualsiasi flussu è vede i dettagli di seguimentu - quantu paralleli a trasfurmazioni hà travagliatu, quante linee è byte sò stati caricati in quale di i paralleli:

Quandu avete scale Sber. Utilizendu Ab Initio cù Hive è GreenPlum

Hè pussibule di dividisce l'esekzione di u graficu in fasi è marcate chì alcune trasfurmazioni anu da esse realizatu prima (in a fase zero), i prossimi in a prima fase, i prossimi in a seconda fase, etc.

Per ogni trasfurmazioni, pudete sceglie u layout chjamatu (induve serà eseguitu): senza paralleli o in fili paralleli, u numeru di quale pò esse specificatu. À u listessu tempu, i schedarii tempurane chì Ab Initio crea quandu e trasfurmazioni sò in esecuzione ponu esse posti in u sistema di schedari di u servitore è in HDFS.

In ogni trasfurmazioni, basatu annantu à u mudellu predeterminatu, pudete creà u vostru propiu script in PDL, chì hè un pocu cum'è una cunchiglia.

Cù PDL, pudete allargà a funziunalità di trasfurmazioni è, in particulare, pudete generà dinamicamente (in runtime) frammenti di codice arbitrariu secondu i paràmetri di runtime.

Ab Initio hà ancu una integrazione ben sviluppata cù l'OS via shell. In particulare, Sberbank usa linux ksh. Pudete scambià variàbili cù a cunchiglia è l'utilizanu cum'è paràmetri di gràficu. Pudete chjamà l'esekzione di i grafici Ab Initio da a cunchiglia è amministrà Ab Initio.

In più di Ab Initio GDE, assai altri prudutti sò inclusi in a spedizione. Ci hè u so propiu Sistema di Co>Operazione cù una pretensione per esse chjamatu sistema operatore. Ci hè un Control>Centru induve pudete pianificà è monitorà i flussi di scaricamentu. Ci sò prudutti per fà u sviluppu à un livellu più primitivu chì Ab Initio GDE permette.

Descrizzione di u framework MDW è u travagliu nantu à a so persunalizazione per GreenPlum

Inseme cù i so prudutti, u venditore furnisce u produttu MDW (Metadata Driven Warehouse), chì hè un configuratore graficu cuncepitu per aiutà cù i travaglii tipici di populazione di magazzini di dati o vaults di dati.

Contene parsers di metadati persunalizati (specifici di u prugettu) è generatori di codice pronti fora di a scatula.

Quandu avete scale Sber. Utilizendu Ab Initio cù Hive è GreenPlum
Cum'è input, MDW riceve un mudellu di dati, un schedariu di cunfigurazione per stabilisce una cunnessione à una basa di dati (Oracle, Teradata o Hive) è altri paràmetri. A parte specifica di u prughjettu, per esempiu, implementa u mudellu à una basa di dati. A parte fora di u pruduttu genera grafici è schedarii di cunfigurazione per elli carichendu dati in tavule di mudelli. In questu casu, i grafici (è psets) sò creati per parechji modi di inizializazione è u travagliu incrementale nantu à l'aghjurnamentu di l'entità.

In i casi di Hive è RDBMS, diversi grafici sò generati per l'inizializazione è l'aghjurnamenti di dati incrementali.

In u casu di Hive, i dati di delta entranti sò cunnessi via Ab Initio Join cù e dati chì eranu in a tavula prima di l'aghjurnamentu. I caricatori di dati in MDW (sia in Hive è RDBMS) ùn sò micca solu inseriti novi dati da u delta, ma ancu chjude i periodi di rilevanza di e dati chì i chjavi primari anu ricevutu u delta. Inoltre, avete da riscriva a parte invariata di e dati. Ma questu deve esse fattu perchè Hive ùn hà micca operazioni di sguassà o aghjurnà.

Quandu avete scale Sber. Utilizendu Ab Initio cù Hive è GreenPlum

In u casu di RDBMS, i grafici per l'aghjurnamentu di dati incrementali parenu più ottimali, perchè RDBMS anu capacità di aghjurnamentu reale.

Quandu avete scale Sber. Utilizendu Ab Initio cù Hive è GreenPlum

U delta ricevutu hè carricu in una tavula intermedia in a basa di dati. Dopu questu, u delta hè cunnessu cù e dati chì eranu in a tavula prima di l'aghjurnamentu. È questu hè fattu cù SQL utilizendu una dumanda SQL generata. In seguitu, utilizendu i cumandamenti SQL delete + inserisce, novi dati da u delta sò inseriti in a tavola di destinazione è i periodi di pertinenza di e dati chì e chjave primarie anu ricevutu u delta sò chjusi.
Ùn ci hè bisognu di riscrittura di dati invariati.

Allora avemu ghjuntu à a cunclusione chì in u casu di Hive, MDW hà da andà à riscrive a tavola sana perchè Hive ùn hà micca una funzione d'aghjurnamentu. È nunda di megliu cà riscrittu cumplettamente i dati quandu l'aghjurnamentu hè statu inventatu. In u casu di RDBMS, à u cuntrariu, i creatori di u produttu anu truvatu necessariu di confià a cunnessione è l'aghjurnamentu di e tavule à l'usu di SQL.

Per un prughjettu in Sberbank, avemu creatu una implementazione nova, riutilizabile di un caricatore di basa di dati per GreenPlum. Questu hè statu fattu basatu annantu à a versione chì MDW genera per Teradata. Era Teradata, è micca Oracle, chì hè stata più vicinu è megliu per questu, perchè ... hè ancu un sistema MPP. I metudi di travagliu, cum'è a sintassi, di Teradata è GreenPlum sò stati simili.

Esempii di differenze critiche MDW trà e diverse RDBMS sò i seguenti. In GreenPlum, à u cuntrariu di Teradata, quandu creanu tavule, avete bisognu di scrive una clause

distributed by

Teradata scrive:

delete <table> all

, è in GreenPlum scrivenu

delete from <table>

In Oracle, per scopi di ottimisazione scrivenu

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

, è Teradata è GreenPlum scrivenu

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

Avemu ancu nutatu chì per Ab Initio per travaglià cù GreenPlum, era necessariu installà u cliente GreenPlum in tutti i nodi di u cluster Ab Initio. Questu hè chì avemu cunnessu à GreenPlum simultaneamente da tutti i nodi in u nostru cluster. È per chì a lettura da GreenPlum sia parallella è ogni filu parallelu di Ab Initio per leghje a so propria parte di dati da GreenPlum, avemu avutu à mette una custruzzione cumpresa da Ab Initio in a sezione "induve" di e dumande SQL.

where ABLOCAL()

è determina u valore di sta custruzzione specificendu a lettura di paràmetri da a basa di dati di trasfurmazioni

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

, chì compile à qualcosa cum'è

mod(sk,10)=3

, i.e. avete bisognu à GreenPlum cù un filtru esplicitu per ogni partizione. Per altre basa di dati (Teradata, Oracle), Ab Initio pò realizà sta parallelizazione automaticamente.

Comparazione di prestazioni Ab Initio trà Hive è GreenPlum

Sberbank hà realizatu un esperimentu per paragunà u rendiment di i grafici generati da MDW in relazione à Hive è in relazione à GreenPlum. Comu parte di l'esperimentu, in u casu di Hive, ci sò stati 5 nodi nantu à u stessu cluster cum'è Ab Initio, è in u casu di GreenPlum ci sò stati 4 nodi nantu à un cluster separatu. Quelli. Hive hà avutu qualchì vantaghju hardware annantu à GreenPlum.

Avemu cunsideratu duie coppie di grafici chì facenu u listessu compitu di aghjurnà e dati in Hive è GreenPlum. À u listessu tempu, i grafici generati da u configuratore MDW sò stati lanciati:

  • carica iniziale + carica incrementale di dati generati aleatoriamente in una tavola Hive
  • carica iniziale + carica incrementale di dati generati aleatoriamente in a stessa tavola GreenPlum

In i dui casi (Hive è GreenPlum) anu purtatu uploads à 10 fili paralleli nantu à u stessu cluster Ab Initio. Ab Initio hà salvatu dati intermedii per i calculi in HDFS (in termini di Ab Initio, u layout MFS cù HDFS hè stata utilizata). Una linea di dati generati aleatoriamente occupava 200 bytes in i dui casi.

U risultatu era cusì:

Bugnu:

Carica iniziale in Hive

Righe inserite
6 000 000
60 000 000
600 000 000

Durata di l'inizializazione
scaricate in seconde
41
203
1 601

Carica incrementale in Hive

Numeru di fila dispunibule in
tavula di destinazione à u principiu di l'esperimentu
6 000 000
60 000 000
600 000 000

Numero di linee delta applicate
tavola di destinazione durante l'esperimentu
6 000 000
6 000 000
6 000 000

Durata incrementale
scaricate in seconde
88
299
2 541

GreenPlum:

Carica iniziale in GreenPlum

Righe inserite
6 000 000
60 000 000
600 000 000

Durata di l'inizializazione
scaricate in seconde
72
360
3 631

Carica incrementale in GreenPlum

Numeru di fila dispunibule in
tavula di destinazione à u principiu di l'esperimentu
6 000 000
60 000 000
600 000 000

Numero di linee delta applicate
tavola di destinazione durante l'esperimentu
6 000 000
6 000 000
6 000 000

Durata incrementale
scaricate in seconde
159
199
321

Avemu vistu chì a velocità di carica iniziale sia in Hive sia in GreenPlum dipende linearmente da a quantità di dati è, per ragioni di un hardware megliu, hè un pocu più veloce per Hive cà per GreenPlum.

A carica incrementale in Hive dipende ancu linearmente da u voluminu di dati caricati previamente dispunibili in a tavola di destinazione è prucede abbastanza lentamente mentre u voluminu cresce. Questu hè causatu da a necessità di riscriva cumplitamenti a tavola di destinazione. Questu significa chì l'applicazione di picculi cambiamenti à e tavule enormi ùn hè micca un bonu casu d'usu per Hive.

A carica incrementale in GreenPlum dipende debbilmente da u voluminu di dati caricati previamente dispunibili in a tavola di destinazione è procede abbastanza rapidamente. Questu hè accadutu grazia à SQL Joins è l'architettura GreenPlum, chì permette l'operazione di sguassà.

Dunque, GreenPlum aghjusta u delta utilizendu u metudu di eliminazione + inserimentu, ma Hive ùn hà micca operazioni di sguassate o aghjurnà, cusì tutta a matrice di dati hè stata furzata à esse riscritta cumpletamente durante una aghjurnazione incrementale. A comparazione di e cellule evidenziate in grassu hè a più revelativa, postu chì currisponde à l'opzione più cumuna per l'usu di scaricamentu intensivi di risorse. Avemu vistu chì GreenPlum batte Hive in questa prova per 8 volte.

U travagliu Ab Initio cù GreenPlum in modu quasi Reale

In questu esperimentu, testeremu a capacità di Ab Initio per aghjurnà a tavola GreenPlum cù pezzi di dati generati aleatoriamente in quasi tempu reale. Fighjemu a tavola GreenPlum dev42_1_db_usl.TESTING_SUBJ_org_finval, cù quale avemu da travaglià.

Adupremu trè grafici Ab Initio per travaglià cun ellu:

1) Graph Create_test_data.mp - crea schedarii di dati in HDFS cù 10 fila in 6 fili paralleli. I dati sò casuali, a so struttura hè urganizata per inserisce in a nostra tavula

Quandu avete scale Sber. Utilizendu Ab Initio cù Hive è GreenPlum

Quandu avete scale Sber. Utilizendu Ab Initio cù Hive è GreenPlum

2) Graficu mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset - Graficu generatu da MDW inizializzandu l'inserimentu di dati in a nostra tavula in 10 fili paralleli (i dati di prova generati da u graficu (1) sò usati)

Quandu avete scale Sber. Utilizendu Ab Initio cù Hive è GreenPlum

3) Graficu mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset - un graficu generatu da MDW per l'aghjurnamentu incrementale di a nostra tavula in 10 fili paralleli utilizendu una parte di dati appena ricevuti (delta) generati da u graficu (1)

Quandu avete scale Sber. Utilizendu Ab Initio cù Hive è GreenPlum

Eseguimu u script sottu in modu NRT:

  • generà 6 linee di teste
  • eseguite una carica iniziale inserisce 6 file di prova in una tavola viota
  • ripetite a scaricazione incrementale 5 volte
    • generà 6 linee di teste
    • eseguite un inserimentu incrementale di 6 fila di teste in a tavula (in questu casu, u tempu di scadenza valid_to_ts hè stabilitu à i dati antichi è dati più recenti cù a listessa chjave primaria hè inserita)

Stu scenariu emula u modu di funziunamentu veru di un certu sistema di cummerciale - una parte abbastanza grande di novi dati appare in tempu reale è hè immediatamente versatu in GreenPlum.

Avà fighjemu u logu di u script:

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

Risulta sta stampa:

Graficu
Start time
Finisce u tempu
Length

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

Avemu vistu chì 6 increment line sò processati in 000 minuti, chì hè abbastanza veloce.
I dati in a tavola di destinazione sò stati distribuiti cum'è seguente:

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;

Quandu avete scale Sber. Utilizendu Ab Initio cù Hive è GreenPlum
Pudete vede a currispundenza di i dati inseriti à i tempi chì i grafici sò stati lanciati.
Questu significa chì pudete eseguisce una carica incrementale di dati in GreenPlum in Ab Initio cù una freccia assai alta è osservate una alta velocità di inserisce queste dati in GreenPlum. Di sicuru, ùn serà micca pussibule di lancià una volta à u sicondu, postu chì Ab Initio, cum'è qualsiasi strumentu ETL, hà bisognu di tempu per "inizià" quandu hè lanciatu.

cunchiusioni

Ab Initio hè attualmente utilizatu in Sberbank per custruisce un Unified Semantic Data Layer (ESS). Stu prughjettu implica a custruzzione di una versione unificata di u statu di diverse entità cummerciale bancarie. L'infurmazioni venenu da diverse fonti, e repliche di quale sò preparate nantu à Hadoop. Basatu nantu à i bisogni di l'affari, un mudellu di dati hè preparatu è e trasfurmazioni di dati sò descritte. Ab Initio carica l'infurmazioni in l'ESN è i dati scaricati ùn sò micca solu di interessu à l'affari in sè stessu, ma serve ancu com'è una fonte per a custruzzione di data mart. À u listessu tempu, a funziunalità di u pruduttu permette di utilizà diversi sistemi cum'è un receptore (Hive, Greenplum, Teradata, Oracle), chì permette di preparà facilmente e dati per un affari in i diversi formati chì esige.

E capacità di Ab Initio sò largu; per esempiu, u quadru MDW inclusu permette di custruisce dati storici tecnichi è cummerciale fora di a scatula. Per i sviluppatori, Ab Initio permette micca di reinventà a rota, ma d'utilizà parechji cumpunenti funziunali esistenti, chì sò essenzialmente biblioteche necessarie per travaglià cù dati.

L'autore hè un espertu in a cumunità prufessiunale di Sberbank SberProfi DWH / BigData. A cumunità prufessiunale SberProfi DWH / BigData hè rispunsevule per u sviluppu di cumpetenze in settori cum'è l'ecosistema Hadoop, Teradata, Oracle DB, GreenPlum, è ancu i strumenti BI Qlik, SAP BO, Tableau, etc.

Source: www.habr.com

Add a comment