Big and small data tester: joerak, teoria, nire istorioa

Kaixo guztioi, nire izena Alexander da eta Datuen Kalitateko ingeniaria naiz eta datuak haien kalitatea egiaztatzen du. Artikulu honek horretara nola iritsi nintzen eta zergatik 2020an proba-eremu hau olatu baten gailurrean zegoen.

Big and small data tester: joerak, teoria, nire istorioa

Joera globala

Gaur egungo munduak beste iraultza teknologiko bat jasaten ari da, eta horren alderdi bat da mota guztietako enpresek metatutako datuen erabilera beren salmenta, irabazi eta PR-en bolantea sustatzeko. Badirudi (kalitatezko) datu onen presentzia, baita horietatik dirua irabazteko gai diren garun trebeak ere (zuzen prozesatu, bistaratu, ikaskuntza automatikoko ereduak eraiki, etab.), arrakastaren giltza bihurtu dela gaur askorentzat. Duela 15-20 urte enpresa handiek datuen metaketa eta dirua irabazteko lan intentsiboan parte hartzen bazuten nagusiki, gaur egun hori da ia pertsona zentzudun guztien zortea.

Ildo horretan, duela urte batzuk, mundu osoko enplegua bilatzeko atari guztiak Data Scientists lanpostu hutsez betetzen hasi ziren, denek ziur baitzeuden, halako espezialista bat kontratatuta, posible izango zela ikaskuntza automatikoaren supermodelo bat eraikitzea. , etorkizuna aurreikusi eta enpresarentzat "jauzi kuantikoa" egin. Denborarekin, jendea konturatu zen ikuspegi honek ia inoiz ez duela inon funtzionatzen, espezialisten eskuetan dauden datu guztiak ez baitira egokiak prestakuntza ereduetarako.

Eta Data Scientists-en eskaerak hasi ziren: β€œEros ditzagun datu gehiago hauetatik eta horietatik...”, β€œEz dugu datu nahikorik...”, β€œDatu gehiago behar ditugu, hobe kalitate handikoak...” . Eskaera horietatik abiatuta, interakzio ugari eraikitzen hasi ziren datu multzo baten edo besteren jabe diren enpresen artean. Jakina, horrek prozesu honen antolaketa teknikoa eskatzen zuen: datu-iturburura konektatu, deskargatu, osorik kargatu zela egiaztatzea, etab. Halako prozesuen kopurua hazten hasi zen, eta gaur egun beste mota bateko premia handia dugu. espezialistak - Datuen Kalitateko ingeniariak - sistemako datu-fluxua (datuen kanalizazioak), sarrerako eta irteerako datuen kalitatea kontrolatuko luketenak, eta haien nahikotasunari, osotasunari eta beste ezaugarri batzuei buruzko ondorioak ateratzen dituztenak.

Datuen Kalitateko ingeniarien joera AEBetatik heldu zen, non, kapitalismoaren aro amorratuaren erdian, inor ez dago datuen aldeko borroka galtzeko prest. Jarraian, AEBetako lana bilatzeko gune ezagunenetako bi pantaila-argazkiak eman ditut: www.monster.com ΠΈ www.dice.com β€” 17ko martxoaren 2020ko datuak bistaratzen ditu gako-hitzak erabiliz jasotako plaza hutsen kopuruari buruz: Datuen kalitatea eta datu-zientzialaria.

www.monster.com

Data Scientists - 21416 lanpostu huts
Datuen kalitatea - 41104 plaza

Big and small data tester: joerak, teoria, nire istorioa
Big and small data tester: joerak, teoria, nire istorioa

www.dice.com

Data Scientists – 404 lanpostu huts
Datuen kalitatea - 2020ko lanpostu hutsak

Big and small data tester: joerak, teoria, nire istorioa
Big and small data tester: joerak, teoria, nire istorioa

Jakina, lanbide hauek ez daude inola ere elkarren artean lehian. Pantaila-argazkiekin, lan-merkatuaren egungo egoera ilustratu nahi nuen Datuen Kalitateko ingeniarien eskaerei dagokienez, eta horietatik askoz gehiago behar dira orain Data Scientists baino.

2019ko ekainean, EPAM-ek, IT merkatu modernoaren beharrei erantzunez, Datuen Kalitatea praktika bereizi batean banatu zuen. Datuen Kalitateko ingeniariek, eguneroko lanean, datuak kudeatzen dituzte, baldintza eta sistema berrietan duten portaera egiaztatzen dute, datuen garrantzia, nahikotasuna eta garrantzia kontrolatzen dituzte. Horrekin guztiarekin, zentzu praktikoan, Data Quality ingeniariek benetan denbora gutxi eskaintzen diote proba funtzional klasikoei, BAINA hau proiektuaren araberakoa da asko (behean adibide bat jarriko dut).

Datu-kalitateko ingeniari baten ardurak ez dira datu-baseen tauletako "nuluak, zenbaketak eta batuketak" ohiko egiaztapen eskuz/automatikoetara mugatzen, baizik eta bezeroaren negozio-beharrak sakon ulertzea eta, horren arabera, eskuragarri dauden datuak bihurtzeko gaitasuna. negozio-informazio erabilgarria.

Datuen Kalitatearen Teoria

Big and small data tester: joerak, teoria, nire istorioa

Horrelako ingeniari baten rola hobeto imajinatzeko, ikus dezagun zer den Datuen Kalitatea teorian.

Datuen kalitatea β€” Datuen Kudeaketako faseetako bat (zure kabuz aztertzeko utziko dizugun mundu oso bat) eta datuak aztertzeaz arduratzen da irizpide hauen arabera:

Big and small data tester: joerak, teoria, nire istorioa
Uste dut ez dagoela puntu bakoitza deszifratu beharrik (teorian "datuen dimentsioak") deitzen zaie, irudian nahiko ondo deskribatuta daude. Baina proba-prozesuak berak ez du esan nahi ezaugarri hauek proba-kasuetan zorrozki kopiatzea eta egiaztatzea. Datuen Kalitatean, beste edozein probetan bezala, beharrezkoa da, lehenik eta behin, negozio-erabakiak hartzen dituzten proiektuko partaideekin adostutako datuen kalitate-baldintzak oinarritzea.

Datuen Kalitatearen proiektuaren arabera, ingeniari batek funtzio desberdinak bete ditzake: automatizazio-probatzaile arrunt batetik, datuen kalitatearen azaleko ebaluazioa egiten duena, datuen profil sakona egiten duen pertsona bat, aurreko irizpideen arabera.

Datuen Kudeaketa, Datuen Kalitate eta erlazionatutako prozesuen deskribapen oso zehatza ondo deskribatzen da izeneko liburuan "DAMA-DMBOK: Datuak Kudeatzeko Jakintza Taldea: 2. Edizioa". Liburu hau oso gomendatzen dut gai honen sarrera gisa (artikuluaren amaieran aurkituko duzu esteka).

Nire historia

Informatika-industrian, produktu-enpresetako Junior probatzaile batetik EPAM-eko Lead Data Quality Engineer izatera pasatu nintzen. Bi urte inguru probatzaile lanetan aritu ostean, erabateko proba guztiak egin ditudala uste irmoa nuen: erregresioa, funtzionala, estresa, egonkortasuna, segurtasuna, UI, etab.- eta proba-tresna ugari probatu nituen, aldi berean hiru programazio lengoaiatan lan egin zuen: Java, Scala, Python.

Atzera begiratuta, ulertzen dut zergatik zen hain anitza nire trebetasun multzoa: datuetan oinarritutako proiektuetan parte hartu nuen, handi zein txikietan. Horrek hazteko tresna eta aukera asko dituen mundu batera eraman nauena.

Ezagutza eta trebetasun berriak lortzeko tresna eta aukera aniztasuna baloratzeko, ikusi besterik ez dago beheko irudia, zeinak "Datu eta AI" munduko ezagunenak erakusten dituena.

Big and small data tester: joerak, teoria, nire istorioa
Ilustrazio mota hau urtero biltzen du Matt Turck arrisku-kapitalista ospetsuetako batek, software garapenetik datorrena. Hemen link bere blogera eta arrisku-kapitaleko enpresa, non bazkide gisa lan egiten du.

Profesionalki bereziki azkar hazi nintzen proiektuko probatzaile bakarra nintzenean, edo behintzat proiektuaren hasieran. Momentu horretan proba-prozesu osoaren arduraduna izan behar duzu, eta ez duzu atzera egiteko aukerarik, aurrera bakarrik. Hasieran beldurgarria zen, baina orain horrelako proba baten abantaila guztiak begien bistakoak zaizkit:

  • Talde osoarekin inoiz ez bezala komunikatzen hasten zara, ez baitago komunikaziorako proxyrik: ez proba-kudeatzailearekin, ez probalariekin.
  • Proiektuan murgiltzea izugarri sakontzen da, eta osagai guztiei buruzko informazioa daukazu, orokorrean zein zehatz-mehatz.
  • Garatzaileek ez zaituzte ikusten "zer egiten ari den ez dakien probak egiten dituen tipo hori", baizik eta bere proba automatizatuekin eta osagai zehatz batean agertzen diren akatsen aurreikuspenarekin taldearentzat onura izugarriak sortzen dituen berdintzat. produktua.
  • Ondorioz, eraginkorragoa, kualifikatuagoa eta eskariagoa zara.

Proiektua hazi ahala, kasuen % 100ean probatzaile berrien tutore bihurtu nintzen, irakatsi eta neure buruari ikasitako ezagutza transmitituz. Aldi berean, proiektuaren arabera, ez nuen beti zuzendaritzaren auto-proban espezialista maila gorena jaso eta automatizazioan trebatu beharra zegoen (interesa dutenentzat) edo eguneroko jardueretan erabiltzeko tresnak sortu behar ziren (tresnak). datuak sortzeko eta sisteman kargatzeko, karga-probak/egonkortasun-probak "azkar" egiteko tresna bat, etab.).

Proiektu zehatz baten adibidea

Zoritxarrez, ez dibulgatzeko betebeharrak direla eta, ezin dut lan egin nuen proiektuei buruz zehatz-mehatz hitz egin, baina proiektuetako batean Datuen Kalitateko Ingeniari baten ohiko zereginen adibideak emango ditut.

Proiektuaren funtsa, bertan oinarritutako ikaskuntza automatikoko ereduak entrenatzeko datuak prestatzeko plataforma bat ezartzea da. Bezeroa AEBko farmazia-enpresa handi bat zen. Teknikoki kluster bat zen Kubernetes, igotzen AWS EC2 kasuak, hainbat mikrozerbitzurekin eta azpian dagoen EPAM-en Iturburu Irekiko proiektuarekin - Legion, bezero zehatz baten beharretara egokitua (orain proiektua berriro jaio da odahu). ETL prozesuak erabiliz antolatu ziren apache aire-fluxua eta datuak eraman ditu Salesforce bezeroen sistemak barne AWS S3 Kuboak. Ondoren, ikaskuntza automatikoko eredu baten Docker irudi bat zabaldu zen plataformara, datu berrietan trebatu zen eta, REST API interfazea erabiliz, negozioarentzat interesgarriak ziren iragarpenak egin eta arazo zehatzak konpondu zituen.

Ikusmenean, denak honelako itxura zuen:

Big and small data tester: joerak, teoria, nire istorioa
Proba funtzional ugari egin ziren proiektu honetan, eta ezaugarrien garapenaren abiadura eta kaleratze-zikloaren erritmoa mantentzeko beharra ikusita (bi asteko sprintak), beharrezkoa zen berehala pentsatzea osagai kritikoenen probak automatizatzea. sistema. Kubernetes-en oinarritutako plataforma gehiena bertan inplementatutako autotestek estali zuten Roboten esparrua + Python, baina horiek lagundu eta zabaltzea ere beharrezkoa zen. Horrez gain, bezeroaren erosotasunerako, GUI bat sortu zen clusterrean zabaldutako ikaskuntza automatikoko ereduak kudeatzeko, baita ereduak entrenatzeko datuak non eta non transferitu behar diren zehazteko aukera ere. Gehigarri zabal honek proba funtzional automatizatuen hedapena ekarri zuen, gehienbat REST API deien eta amaierako 2 amaierako UI proba batzuen bidez egin zena. Mugimendu honen guztiaren ekuatorearen inguruan, eskuzko probatzaile batek lan bikaina egin zuen produktuen bertsioen onarpen proban eta bezeroarekin hurrengo bertsioaren onarpenari buruz komunikatzen. Horrez gain, espezialista berri bat iritsi zenez, gure lana dokumentatu eta berehala automatizatzeko zailak ziren hainbat eskuzko egiaztapen garrantzitsu gehitu ahal izan genituen.

Eta azkenik, plataformatik eta GUI gehigarritik egonkortasuna lortu ondoren, ETL kanalizazioak eraikitzen hasi ginen Apache Airflow DAGak erabiliz. Datuen kalitatearen egiaztapen automatikoa egin zen Airflow DAG bereziak idatziz, datuak egiaztatzen zituzten ETL prozesuaren emaitzetan oinarrituta. Proiektu honen baitan, zortea izan genuen eta bezeroak probatu genituen datu-multzo anonimizatuetarako sarbidea eman zigun. Datuak lerroz lerro egiaztatu ditugu motak betetzen direla, hautsitako datuen presentzia, aurreko eta ondorengo erregistro kopuru osoa, ETL prozesuak agregaziorako egindako eraldaketak alderatzea, zutabeen izenak aldatzea eta beste gauza batzuk. Horrez gain, egiaztapen hauek datu-iturri ezberdinetara eskalatu ziren, adibidez, SalesForce-ra, MySQL-era ere.

Datuen azken kalitatearen egiaztapenak dagoeneko S3 mailan egin ziren, non gorde eta erabiltzeko prest zeuden ikasketa automatikoko ereduak trebatzeko. S3 Bucket-en kokatutako azken CSV fitxategiko datuak lortzeko eta baliozkotzeko, kodea erabiliz idatzi zen boto3 bezeroak.

Era berean, bezeroaren eskakizuna zegoen datuen zati bat S3 Bucket batean eta zati bat beste batean gordetzeko. Honek ere egiaztapen gehigarriak idaztea eskatzen zuen ordenamendu horren fidagarritasuna egiaztatzeko.

Beste proiektu batzuen esperientzia orokortua

Datuen Kalitateko ingeniari baten jardueren zerrenda orokorrenaren adibidea:

  • Prestatu proba-datuak (balioa baliogabea handi txikia) tresna automatizatu baten bidez.
  • Kargatu prestatutako datu multzoa jatorrizko iturrira eta egiaztatu erabiltzeko prest dagoela.
  • Abiarazi ETL prozesuak iturburuko biltegiratzetik azken edo tarteko biltegiratze datu multzo bat prozesatzeko ezarpen multzo jakin bat erabiliz (ahal bada, ezarri ETL zereginerako parametro konfiguragarriak).
  • ETL prozesuak prozesatutako datuak bere kalitatea eta negozio-eskakizunak betetzen direla egiaztatzea.

Aldi berean, egiaztapenen ardatz nagusia sistemako datu-fluxuak, printzipioz, funtzionatu eta amaitu izana (proba funtzionalaren parte dena) ez ezik, batez ere datuak egiaztatzea eta baliozkotzea izan behar du. espero diren eskakizunak betetzea, anomaliak eta bestelakoak identifikatzea.

Tresnak

Datuak kontrolatzeko tekniketako bat datuak prozesatzeko fase bakoitzean kate-kontrolak antolatzea izan daiteke, literaturan "datu-katea" deritzona - datuen kontrol iturritik azken erabilera punturaino. Egiaztapen mota hauek SQL kontsultak idatziz ezartzen dira gehienetan. Argi dago kontsulta horiek ahalik eta arinen izan behar direla eta datuen kalitatearen zati bana egiaztatu behar dutela (taulen metadatuak, lerro hutsak, NULLak, sintaxian erroreak - egiaztatzeko behar diren beste atributuak).

Erregresio proben kasuan, prestatutako datu multzoak (aldaezinak, apur bat aldagarriak) erabiltzen dituenean, autotest-kodeak prest egindako txantiloiak gorde ditzake datuak kalitatea betetzen duten egiaztatzeko (espero diren taulen metadatuen deskribapenak; errenkada-laginak izan daitezkeen objektuak). proban ausaz hautatuta, etab.).

Gainera, probak zehar, ETL proba-prozesuak idatzi behar dituzu Apache Airflow bezalako esparruak erabiliz, Apache Spark edo baita kutxa beltzeko hodei motako tresna bat ere GCP Dataprep, GCP Dataflow Eta abar. Zirkunstantzia honek probako ingeniaria aurreko tresnen funtzionamendu-printzipioetan murgiltzera behartzen du eta, are eraginkorrago, proba funtzionalak egitera (adibidez, proiektu batean dauden ETL prozesuak) eta datuak egiaztatzeko erabiltzera. Bereziki, Apache Airflow-ek datu-base analitiko ezagunekin lan egiteko prest dauden operadoreak ditu, adibidez GCP BigQuery. Bere erabileraren adibiderik oinarrizkoena azaldu da jada Hemen, beraz, ez dut errepikatuko.

Prestatutako irtenbideez gain, inork ez dizu debekatzen zure teknika eta tresnak ezartzea. Hau ez da onuragarria izango proiektuarentzat soilik, baizik eta Datuen Kalitate Ingeniariarentzat berarentzat ere, eta horrela bere horizonte teknikoak eta kodetze gaitasunak hobetuko ditu.

Benetako proiektu batean nola funtzionatzen duen

"Datu-kateari", ETLri eta nonahiko egiaztapenei buruzko azken paragrafoen ilustrazio ona da proiektu errealetako bateko prozesu hau:

Big and small data tester: joerak, teoria, nire istorioa

Hemen, hainbat datu (naturalki, guk prestatuak) gure sistemaren sarrerako β€œinbutuan” sartzen dira: baliozkoak, baliogabeak, mistoak, etab., gero iragazten dira eta tarteko biltegiratze batean amaitzen dira, gero berriro ere eraldaketa batzuk jasaten dituzte. eta azken biltegian jartzen dira, eta, aldi berean, analitikoak, datu-martsak eraikitzea eta negozioaren inguruko ezagutzak bilatuko dira. Sistema horretan, ETL prozesuen funtzionamendua funtzionalki egiaztatu gabe, eraldaketaren aurretik eta ondoren datuen kalitatean zentratzen gara, baita analitikaren irteeran ere.

Aurrekoa laburbiltzeko, lan egin nuen tokiak edozein izanda ere, ezaugarri hauek partekatzen zituzten Datu proiektuetan parte hartu nuen toki guztietan:

  • Automatizazioaren bidez bakarrik probatu ditzakezu kasu batzuk eta negozioarentzat onargarria den kaleratze-ziklo bat lortu.
  • Horrelako proiektu batean probatzaile bat taldeko kide errespetatuenetako bat da, parte-hartzaile bakoitzari onura handiak ekartzen dizkiolako (probak bizkortzea, Data Scientist-en datu onak, akatsen identifikazioa hasierako faseetan).
  • Berdin du zure hardwarean edo hodeian lan egiten duzun ala ez - baliabide guztiak hortonworks, Cloudera, Mesos, Kubernetes eta abar bezalako kluster batean abstraitzen dira.
  • Proiektuak mikrozerbitzuen ikuspegian eraikitzen dira, konputazio banatua eta paraleloa da nagusi.

Kontuan izan nahiko nuke Datuen Kalitatearen alorreko probak egiterakoan, probetako espezialista batek bere arreta profesionala produktuaren kodeara eta erabilitako tresnetara aldatzen duela.

Datuen Kalitatearen proben ezaugarri bereizgarriak

Horrez gain, niretzat, honako hauek identifikatu ditut (berehala erreserba egingo dut OSO orokortuak eta esklusiboki subjektiboak direla) datuen (Big Data) proiektuetan (sistemetan) eta beste arlo batzuetan probak egiteko ezaugarri bereizgarriak:

Big and small data tester: joerak, teoria, nire istorioa

Esteka interesgarriak

  1. Teoria: DAMA-DMBOK: Datuak Kudeatzeko Jakintza Taldea: 2. Edizioa.
  2. Prestakuntza zentroa EPAM 
  3. Datuen Kalitateko ingeniari hasierako batentzako gomendatutako materialak:
    1. Stepik-en doako ikastaroa: Datu-baseen sarrera
    2. LinkedIn Learning-en ikastaroa: Data Science Foundations: Datuen Ingeniaritza.
    3. Artikuluak:
    4. Video:

Ondorioa

Datuen kalitatea Oso gazte etorkizun handiko norabidea da, eta horren parte izatea startup baten parte izatea esan nahi du. Behin Datuen Kalitatera iritsita, eskaera handiko teknologia moderno ugaritan murgilduko zara, baina, batez ere, aukera izugarriak irekiko zaizkizu zure ideiak sortzeko eta ezartzeko. Etengabeko hobekuntzaren ikuspegia proiektuan ez ezik, zuretzako ere erabili ahal izango duzu, espezialista gisa etengabe garatzen.

Iturria: www.habr.com

Gehitu iruzkin berria