Big and small data tester: tendenzi, teoria, a mo storia

Salute à tutti, mi chjamu Alexander, è sò un ingegnere di Data Quality chì verifica e dati per a so qualità. Questu articulu parlerà di cumu sò ghjuntu à questu è perchè in 2020 sta zona di teste era nantu à a cresta di una onda.

Big and small data tester: tendenzi, teoria, a mo storia

Tendenza globale

U mondu d'oghje campa una altra rivoluzione tecnologica, un aspettu di quale hè l'usu di dati accumulati da ogni tipu di cumpagnie per prumove u so propiu volante di vendita, prufitti è PR. Sembra chì a prisenza di dati boni (di qualità), è ancu i cervelli qualificati chì ponu guadagnà soldi da ellu (prucessa currettamente, visualizeghja, custruisce mudelli di machine learning, etc.), sò diventati a chjave per u successu per parechji oghje. Se 15-20 anni fà, e grande cumpagnie eranu principarmenti implicati in u travagliu intensivu cù l'accumulazione di dati è a monetizazione, oghje questu hè u lottu di quasi tutte e persone sane.

In questu sensu, parechji anni fà, tutti i portali dedicati à a ricerca di l'impieghi in u mondu anu cuminciatu à esse pieni di posti vacanti per Data Scientists, postu chì tutti era sicuru chì, avendu assuciatu un tali specialista, saria pussibule di custruisce un supermodel di machine learning. , predice u futuru è fà un "saltu quantum" per a cumpagnia. À u tempu, a ghjente hà capitu chì questu approcciu ùn funziona quasi mai in ogni locu, postu chì micca tutti i dati chì cascanu in e mani di tali specialisti sò adattati per mudelli di furmazione.

E dumande da i Data Scientists cuminciaru: "Compremu più dati da questi è quelli ...", "Ùn avemu micca abbastanza dati ...", "Avemu bisognu di più dati, preferibbilmente di alta qualità ..." . Basatu nantu à queste dumande, numerose interazzione cuminciaru à esse custruitu trà cumpagnie chì pussede unu o un altru settore di dati. Naturalmente, questu hà bisognu di l'urganisazione tecnica di stu prucessu - cunnette à a fonte di dati, scaricallu, verificate chì hè stata caricata in pienu, etc. U numeru di tali prucessi hà cuminciatu à cresce, è oghje avemu una grande necessità per un altru tipu di spezialisti - ingegneri Data Quality - quelli chì avissi a monitorà u flussu di dati in u sistema (pipelines di dati), a qualità di dati à l'input è output, è tirà cunclusioni circa a so sufficienza, integrità è altre caratteristiche.

A tendenza per l'ingegneri di Data Quality hè ghjunta à noi da l'USA, induve, in mezu à l'era furiosa di u capitalismu, nimu hè prontu à perde a battaglia per i dati. Quì sottu aghju furnitu screenshots da dui di i siti di ricerca di travagliu più populari in i Stati Uniti: www.monster.com и www.dice.com - chì mostra dati da u 17 di marzu di u 2020 nantu à u numeru di posti vacanti publicati ricevuti utilizendu e parolle chjave: Data Quality and Data Scientist.

www.monster.com

Data Scientists - 21416 vacanti
Data Quality - 41104 vacanti

Big and small data tester: tendenzi, teoria, a mo storia
Big and small data tester: tendenzi, teoria, a mo storia

www.dice.com

Data Scientists - 404 posti vacanti
Data Quality - 2020 vacanti

Big and small data tester: tendenzi, teoria, a mo storia
Big and small data tester: tendenzi, teoria, a mo storia

Ovviamente, sti prufessiunali ùn sò in alcun modu cumpetizione cù l'altri. Cù screenshots, aghju vulsutu solu illustrà a situazione attuale nantu à u mercatu di u travagliu in quantu à e dumande per l'ingegneri di Data Quality, di quale hè assai più necessariu avà chè Data Scientists.

In ghjugnu 2019, EPAM, risponde à i bisogni di u mercatu di l'IT mudernu, hà separatu a Qualità di Dati in una pratica separata. L'ingegneri di Data Quality, in u cursu di u so travagliu di ogni ghjornu, gestionanu e dati, verificanu u so cumpurtamentu in novi cundizioni è sistemi, monitoranu a rilevanza di e dati, a so sufficienza è a pertinenza. Cù tuttu questu, in un sensu praticu, l'ingegneri di Data Quality dedicanu veramente pocu tempu à e teste funziunali classiche, BUT questu dipende assai di u prugettu (daraghju un esempiu quì sottu).

E responsabilità di un ingegnere di Qualità di Dati ùn sò micca limitate solu à i cuntrolli manuali / automatichi di rutina per "nulli, cunti è sume" in tabelle di basa di dati, ma necessitanu una cunniscenza prufonda di i bisogni di l'affari di u cliente è, per quessa, a capacità di trasfurmà e dati dispunibili infurmazione utili à l'affari.

Teoria di a Qualità di Dati

Big and small data tester: tendenzi, teoria, a mo storia

Per imagine più cumpletamente u rolu di un tali ingegnere, scopre ciò chì a Qualità di Dati hè in teoria.

Qualità di Datu - una di e tappe di Gestione di Dati (un mondu sanu chì lasceremu per voi per studià per voi stessu) è hè rispunsevule per analizà e dati secondu i criteri seguenti:

Big and small data tester: tendenzi, teoria, a mo storia
Pensu chì ùn ci hè micca bisognu di decifrare ogni puntu (in teoria sò chjamati "dimensioni di dati"), sò abbastanza bè descritti in a stampa. Ma u prucessu di teste stessu ùn implica micca strettamente copià queste caratteristiche in casi di prova è cuntrollà. In Data Quality, cum'è in ogni altru tipu di teste, hè necessariu, prima di tuttu, di custruisce nantu à i requisiti di qualità di dati accunsentutu cù i participanti di u prughjettu chì facenu decisioni cummerciale.

Sicondu u prughjettu di a Qualità di Dati, un ingegnere pò eseguisce diverse funzioni: da un tester d'automatizazione ordinariu cù una valutazione superficiale di a qualità di dati, à una persona chì conduce un prufilu prufondu di e dati secondu i criteri di sopra.

Una descrizzione assai dettagliata di a Gestione di Dati, a Qualità di Dati è i prucessi cunnessi hè ben descritta in u libru chjamatu "DAMA-DMBOK: Corpu di Cunniscenza di Gestione di Dati: 2ª Edizione". Vi cunsigliu assai di stu libru cum'è una introduzione à stu tema (truverete un ligame à a fine di l'articulu).

A mo storia

In l'industria di l'IT, aghju travagliatu da un Junior tester in cumpagnie di produttu à un Lead Data Quality Engineer in EPAM. Dopu à circa dui anni di travagliu cum'è tester, aghju avutu a ferma cunvinzione chì aghju fattu assolutamente tutti i tipi di teste: regressione, funziunale, stress, stabilità, sicurità, UI, etc. hà travagliatu à u stessu tempu in trè linguaggi di prugrammazione: Java, Scala, Python.

Fighjendu in daretu, aghju capitu perchè u mo settore di cumpetenze era cusì diversu - Eru implicatu in prughjetti guidati da dati, grandi è chjuchi. Questu hè ciò chì m'hà purtatu in un mondu di assai strumenti è opportunità per a crescita.

Per apprezzà a varietà di arnesi è opportunità per acquistà novi cunniscenze è cumpetenze, basta à guardà a stampa sottu, chì mostra i più populari in u mondu "Data & AI".

Big and small data tester: tendenzi, teoria, a mo storia
Stu tipu d'illustrazione hè compilatu annu da unu di i famosi capitalisti di venture Matt Turck, chì vene da u sviluppu di software. Quì ссылка à u so blog è impresa di venture capital, induve travaglia cum'è cumpagnu.

I cresce professionalmente soprattuttu rapidamente quandu eru l'unicu testatore nantu à u prugettu, o almenu à u principiu di u prugettu. Hè in un tale mumentu chì duvete esse rispunsevuli di tuttu u prucessu di prova, è ùn avete micca l'uppurtunità di retrocede, solu avanti. Prima era spaventosa, ma avà tutti i vantaghji di una tale prova sò evidenti per mè:

  • Cuminciate à cumunicà cù tutta a squadra cum'è mai prima, postu chì ùn ci hè micca un proxy per a cumunicazione: nè u manager di teste nè altri testatori.
  • L'immersione in u prugettu diventa incredibbilmente prufonda, è avete infurmazione nantu à tutti i cumpunenti, in generale è in dettagliu.
  • I sviluppatori ùn vi vedenu micca cum'è "quellu tippu di teste chì ùn sà micca ciò chì face", ma piuttostu cum'è un uguale chì pruduce benefici incredibili per a squadra cù i so testi automatizati è l'anticipazione di bug chì appariscenu in un cumpunente specificu di a squadra. pruduttu.
  • In u risultatu, site più efficace, più qualificatu, è più in dumanda.

Cume u prughjettu cresce, in u 100% di i casi sò diventatu un mentore per i novi testatori, insignendu è trasmettendu a cunniscenza chì aghju amparatu stessu. À u listessu tempu, secondu u prughjettu, ùn aghju micca sempre ricevutu u più altu livellu di specialisti di teste di l'auto da a gestione è ci era bisognu di furmà in l'automatizazione (per quelli chì sò interessati) o di creà strumenti per l'usu in l'attività di ogni ghjornu (arnesi. per generà dati è carricà in u sistema, un strumentu per eseguisce test di carica / test di stabilità "rapidamente", etc.).

Esempiu di un prughjettu specificu

Sfurtunatamente, per via di l'obligazioni di non-divulgazione, ùn possu micca parlà in dettagliu di i prughjetti nantu à quale aghju travagliatu, ma daraghju esempi di i travaglii tipici di un Data Quality Engineer nantu à unu di i prughjetti.

L'essenza di u prugettu hè di implementà una piattaforma per a preparazione di dati per a furmazione di mudelli d'apprendimentu automaticu basatu annantu à questu. U cliente era una grande cumpagnia farmaceutica di i Stati Uniti. Tecnicamente era un cluster Kubernetes, alzendu à AWS EC2 istanze, cù parechji microservizi è u prughjettu Open Source sottostante di EPAM - Legion, adattatu à i bisogni di un cliente specificu (avà u prugettu hè rinatu in odahu). I prucessi ETL sò stati urganizati usendu flussu d'aria apache e dati spustatu da Salesforce sistemi di clienti in AWS S3 Secchi. In seguitu, una maghjina Docker di un mudellu d'apprendimentu di macchina hè stata implementata nantu à a piattaforma, chì hè stata furmata nantu à dati freschi è, utilizendu l'interfaccia REST API, hà pruduttu predizioni chì eranu d'interessu per l'affari è risolviu prublemi specifichi.

Visualmente, tuttu pareva qualcosa cusì:

Big and small data tester: tendenzi, teoria, a mo storia
Ci era assai teste funziunali nantu à stu prughjettu, è datu a rapidità di u sviluppu di e funzioni è a necessità di mantene u ritmu di u ciculu di liberazione (sprints di duie settimane), era necessariu di pensà immediatamente à automatizà a prova di i cumpunenti più critichi di u sistema. A maiò parte di a piattaforma basata in Kubernetes hè stata coperta da autotest implementati in Quadru di robot + Python, ma era ancu necessariu di sustene è espansione. Inoltre, per a cunvenzione di u cliente, una GUI hè stata creata per gestisce i mudelli di l'apprendimentu di macchina implementati in u cluster, è ancu a capacità di specificà induve è induve a dati deve esse trasferitu per a furmazione di mudelli. Questa aghjunta estensiva hà implicatu una espansione di teste funziunali automatizati, chì hè stata fatta soprattuttu per mezu di e chjama di l'API REST è un picculu numeru di teste UI end-2-end. Intornu à l'equatore di tuttu stu muvimentu, ci sò stati uniti da un tester manuale chì hà fattu un travagliu eccellente cù a prova d'accettazione di versioni di u produttu è cumunicà cù u cliente in quantu à l'accettazione di a prossima versione. Inoltre, per via di l'arrivu di un novu specialista, pudemu documentà u nostru travagliu è aghjunghje parechje cuntrolli manuali assai impurtanti chì eranu difficiuli di automatizà subitu.

È infine, dopu avè ottenutu stabilità da a piattaforma è l'add-on GUI sopra, avemu cuminciatu à custruisce pipeline ETL cù Apache Airflow DAG. A verificazione automatizata di a qualità di dati hè stata realizata scrivendu DAGs Airflow speciali chì verificavanu e dati basati nantu à i risultati di u prucessu ETL. Cum'è parte di stu prughjettu, avemu avutu furtunatu è u cliente ci hà datu l'accessu à setti di dati anonimizati nantu à quale avemu pruvatu. Avemu verificatu a linea di dati per linea per u rispettu di i tipi, a presenza di dati rotti, u numeru tutale di registri prima è dopu, paraguni di trasfurmazioni fatti da u prucessu ETL per l'agregazione, cambiendu i nomi di colonna, è altre cose. Inoltre, sti cuntrolli sò stati scalati à diverse fonti di dati, per esempiu, in più di SalesForce, ancu di MySQL.

I cuntrolli finali di a qualità di e dati sò stati realizati digià à u livellu S3, induve sò stati almacenati è sò stati pronti à aduprà per a furmazione di mudelli di apprendimentu di machine. Per ottene dati da u schedariu CSV finale situatu nantu à u S3 Bucket è cunvalidà, u codice hè statu scrittu usendu i clienti di boto3.

Ci era ancu un requisitu da u cliente per almacenà una parte di e dati in un S3 Bucket è una parte in un altru. Questu hà ancu bisognu di scrive cuntrolli supplementari per verificà l'affidabilità di tali classificazione.

Esperienza generalizata da altri prughjetti

Un esempiu di a lista più generale di attività di un ingegnere di Data Quality:

  • Preparate dati di prova (validu invalid large small) attraversu un strumentu automatizatu.
  • Caricate u set di dati preparatu à a fonte originale è verificate chì hè pronta per l'usu.
  • Lanciate i prucessi ETL per processà un set di dati da l'almacenamiento d'origine à l'almacenamiento finale o intermediu utilizendu un certu settore di paràmetri (se pussibule, stabilisce parametri configurabili per u compitu ETL).
  • Verificate i dati trattati da u prucessu ETL per a so qualità è u rispettu di i requisiti di l'affari.

À u listessu tempu, u focu principalu di i cuntrolli ùn deve esse micca solu nantu à u fattu chì u flussu di dati in u sistema hà, in principiu, hà travagliatu è ghjuntu à u cumpletu (chì hè parte di teste funziunali), ma soprattuttu nantu à a verificazione è a validazione di dati per rispettu di i requisiti previsti, identificendu anomalie è altre cose.

Ferramenti

Una di e tecniche per un tali cuntrollu di dati pò esse l'urganizazione di cuntrolli di a catena in ogni stadiu di u prucessu di dati, a chjamata "catena di dati" in a literatura - cuntrollu di dati da a fonte à u puntu di usu finali. Questi tipi di cuntrolli sò più spessu implementati scrivendu e dumande di verificazione SQL. Hè chjaru chì tali dumande deve esse u più liggeru pussibule è verificate i pezzi individuali di qualità di dati (metadata di tabelle, linee vuote, NULL, Errori in sintassi - altri attributi necessarii per u cuntrollu).

In u casu di a prova di regressione, chì usa insemi di dati pronti (immubiliabili, ligeramente cambiabili), u codice di l'autotest pò almacenà mudelli pronti per verificà e dati per u rispettu di a qualità (descrizioni di metadati di tabella previsti; oggetti di mostra di fila chì ponu esse selezziunatu aleatoriu durante a prova, etc.).

Inoltre, durante a prova, duvete scrive prucessi di prova ETL usendu frameworks cum'è Apache Airflow, Apache Spark o ancu un strumentu tippu nuvola negru-box GCP Dataprep, GCP Dataflow Eccetera. Questa circustanza forza l'ingegnere di teste à immerse in i principii di funziunamentu di l'arnesi sopra è ancu più efficaci sia cunducenu teste funziunali (per esempiu, prucessi ETL esistenti nantu à un prughjettu) è l'utilizanu per verificà e dati. In particulare, Apache Airflow hà operatori pronti per travaglià cù basa di dati analitiche populari, per esempiu GCP BigQuery. L'esempiu più basi di u so usu hè digià statu delineatu ccà, cusì ùn mi ripeteraghju micca.

In più di suluzioni pronti, nimu ùn vi impedisce di implementà e vostre tecniche è arnesi. Questu ùn serà micca solu benefiziu per u prugettu, ma ancu per l'ingegnere di qualità di dati stessu, chì migliurà cusì l'orizzonti tecnichi è e so cumpetenze di codificazione.

Cumu travaglia nantu à un veru prughjettu

Una bona illustrazione di l'ultimi paragrafi nantu à a "catena di dati", ETL è cuntrolli ubiquitous hè u prucessu seguente da unu di i prughjetti veri:

Big and small data tester: tendenzi, teoria, a mo storia

Quì, varii dati (naturalmente, preparati da noi) entranu in u "funnel" di input di u nostru sistema: validu, invalidu, mischju, etc., dopu sò filtrati è finiscinu in un almacenamiento intermediu, dopu tornanu sottumessi à una seria di trasfurmazioni. è sò posti in l'almacenamiento finali, da quale, à u turnu, l'analitiche, a custruzzione di data mart è a ricerca di insights cummerciale seranu realizati. In un tali sistema, senza cuntrollà funziunalmente l'operazione di i prucessi ETL, ci focalizemu nantu à a qualità di dati prima è dopu trasfurmazioni, è ancu nantu à a pruduzzioni à l'analitiche.

Per sintetizà ciò chì sopra, indipendentemente da i lochi induve aghju travagliatu, in ogni locu chì era implicatu in prughjetti di dati chì spartevanu e seguenti caratteristiche:

  • Solu per l'automatizazione pudete pruvà certi casi è ottene un ciculu di liberazione accettabile per l'affari.
  • Un tester in un tali prughjettu hè unu di i membri più rispettati di a squadra, postu chì porta grandi benefici à ognunu di i participanti (accelerazione di teste, boni dati da u Data Scientist, identificazione di difetti in i primi tempi).
  • Ùn importa micca chì travagliate nantu à u vostru propiu hardware o in i nuvuli - tutte e risorse sò astratte in un cluster cum'è Hortonworks, Cloudera, Mesos, Kubernetes, etc.
  • I prughjetti sò custruiti nantu à un approcciu di microserviziu, predomina l'informatica distribuita è parallela.

Vogliu nutà chì quandu facia a prova in u campu di a Qualità di Dati, un specialista di teste cambia u so focusu prufessiunale à u codice di u pruduttu è l'arnesi utilizati.

Funzioni distintive di a prova di qualità di dati

Inoltre, per mè stessu, aghju identificatu i seguenti (faraghju immediatamente una riservazione chì sò assai generalizati è esclusivamente subjectivi) caratteristiche distintive di teste in prughjetti (sistemi) di dati (Big Data) è altri spazii:

Big and small data tester: tendenzi, teoria, a mo storia

E ligami utili

  1. Teoria: DAMA-DMBOK: Corpu di Cunniscenza di Gestione di Dati: 2ª Edizione.
  2. Centru di furmazione EPAM 
  3. Materiali cunsigliati per un ingegnere di Data Quality principianti:
    1. Corso gratuitu nantu à Stepik: Introduzione à e basa di dati
    2. Corso nantu à LinkedIn Learning: Data Science Foundations: Data Engineering.
    3. Articuli:
    4. Video:

cunchiusioni

Qualità di Datu hè una direzzione assai ghjovana prumessa, per esse una parte di quale significa esse parte di una startup. Una volta in Data Quality, sarete immersi in un gran numaru di tecnulugii muderni, in dumanda, ma u più impurtante, enormi opportunità si apriranu per voi per generà è implementà e vostre idee. Puderete aduprà l'approcciu di migliuramentu cuntinuu micca solu nantu à u prugettu, ma ancu per voi stessu, sviluppatu continuamente cum'è specialista.

Source: www.habr.com

Add a comment