Liels un mazs datu pārbaudītājs: tendences, teorija, mans stāsts

Sveiki, mani sauc Aleksandrs, un es esmu datu kvalitātes inženieris, kas pārbauda datu kvalitāti. Å ajā rakstā tiks runāts par to, kā es lÄ«dz tam nonācu un kāpēc 2020. gadā Ŕī testÄ“Å”anas joma atradās uz viļņa virsotnes.

Liels un mazs datu pārbaudītājs: tendences, teorija, mans stāsts

Globālā tendence

MÅ«sdienu pasaule piedzÄ«vo vēl vienu tehnoloÄ£isku revolÅ«ciju, kuras viens aspekts ir visu veidu uzņēmumu uzkrāto datu izmantoÅ”ana, lai veicinātu savu pārdoÅ”anas, peļņas un PR spararatu. Å Ä·iet, ka labu (kvalitatÄ«vu) datu klātbÅ«tne, kā arÄ« prasmÄ«gas smadzenes, kas var ar tiem pelnÄ«t (pareizi apstrādāt, vizualizēt, veidot maŔīnmācÄ«bas modeļus utt.), daudziem mÅ«sdienās ir kļuvuÅ”i par panākumu atslēgu. Ja pirms 15-20 gadiem lielie uzņēmumi galvenokārt nodarbojās ar intensÄ«vu darbu ar datu uzkrāŔanu un monetizāciju, tad Å”odien tā ir gandrÄ«z visu saprātÄ«go cilvēku lieta.

Å ajā sakarā pirms vairākiem gadiem visi darba meklÄ“Å”anai veltÄ«tie portāli visā pasaulē sāka piepildÄ«ties ar datu zinātnieku vakancēm, jo ā€‹ā€‹visi bija pārliecināti, ka, pieņemot darbā Ŕādu speciālistu, bÅ«s iespējams izveidot maŔīnmācÄ«bas supermodeli. , prognozēt nākotni un veikt uzņēmuma "kvantu lēcienu". Laika gaitā cilvēki saprata, ka Ŕī pieeja gandrÄ«z nekur nedarbojas, jo ne visi dati, kas nonāk Ŕādu speciālistu rokās, ir piemēroti modeļu apmācÄ«bai.

Un sākās datu zinātnieku pieprasÄ«jumi: ā€œPirksim vairāk datu no Å”iem un tiem...ā€, ā€œMums nav pietiekami daudz datu...ā€, ā€œMums vajag vēl dažus datus, vēlams kvalitatÄ«vus...ā€ . Pamatojoties uz Å”iem pieprasÄ«jumiem, sāka veidot daudzas mijiedarbÄ«bas starp uzņēmumiem, kuriem pieder viena vai otra datu kopa. Protams, tas prasÄ«ja Ŕī procesa tehnisko organizÄ“Å”anu - pieslēgÅ”anos datu avotam, tā lejupielādi, pārbaudi, vai tas ir pilnÄ«bā ielādēts utt. Šādu procesu skaits sāka pieaugt, un Å”odien mums ir milzÄ«ga vajadzÄ«ba pēc cita veida speciālisti - Datu kvalitātes inženieri - tie, kas uzraudzÄ«tu datu plÅ«smu sistēmā (datu cauruļvados), datu kvalitāti ievadē un izvadē un izdarÄ«tu secinājumus par to pietiekamÄ«bu, integritāti un citām Ä«paŔībām.

Datu kvalitātes inženieru tendence pie mums nāca no ASV, kur niknā kapitālisma laikmeta vidÅ« neviens nav gatavs zaudēt cīņu par datiem. Tālāk esmu sniedzis ekrānuzņēmumus no divām populārākajām darba meklÄ“Å”anas vietnēm ASV: www.monster.com Šø www.dice.com ā€” kurā tiek rādÄ«ti dati uz 17. gada 2020. martu par saņemto publicēto vakanču skaitu, izmantojot atslēgvārdus: Data Quality un Data Scientist.

www.monster.com

Datu zinātnieki ā€“ 21416 vakances
Datu kvalitāte ā€“ 41104 vakances

Liels un mazs datu pārbaudītājs: tendences, teorija, mans stāsts
Liels un mazs datu pārbaudītājs: tendences, teorija, mans stāsts

www.dice.com

Datu zinātnieki ā€“ 404 vakances
Datu kvalitāte ā€“ 2020 vakances

Liels un mazs datu pārbaudītājs: tendences, teorija, mans stāsts
Liels un mazs datu pārbaudītājs: tendences, teorija, mans stāsts

AcÄ«mredzot Ŕīs profesijas savā starpā nekādā veidā nekonkurē. Ar ekrānuzņēmumiem es tikai gribēju ilustrēt paÅ”reizējo situāciju darba tirgÅ« saistÄ«bā ar datu kvalitātes inženieru pieprasÄ«jumu, no kuriem Å”obrÄ«d ir vajadzÄ«gs daudz vairāk nekā datu zinātniekiem.

2019. gada jÅ«nijā EPAM, reaģējot uz modernā IT tirgus vajadzÄ«bām, datu kvalitāti nodalÄ«ja atseviŔķā praksē. Datu kvalitātes inženieri savā ikdienas darbā pārvalda datus, pārbauda to uzvedÄ«bu jaunos apstākļos un sistēmās, uzrauga datu atbilstÄ«bu, pietiekamÄ«bu un atbilstÄ«bu. Praktiskā nozÄ«mē datu kvalitātes inženieri patieŔām maz laika velta klasiskajai funkcionālajai pārbaudei, BET tas lielā mērā ir atkarÄ«gs no projekta (zemāk es sniegÅ”u piemēru).

Datu kvalitātes inženiera pienākumi neaprobežojas tikai ar regulārām manuālām/automātiskām pārbaudēm, vai datu bāzes tabulās nav ā€œnulles, skaitÄ«Å”anas un summasā€, bet ir nepiecieÅ”ama dziļa izpratne par klienta biznesa vajadzÄ«bām un attiecÄ«gi spēja pārveidot pieejamos datus noderÄ«ga biznesa informācija.

Datu kvalitātes teorija

Liels un mazs datu pārbaudītājs: tendences, teorija, mans stāsts

Lai pilnÄ«gāk iztēlotu Ŕāda inženiera lomu, izdomāsim, kas teorētiski ir datu kvalitāte.

Datu kvalitāte ā€” viens no datu pārvaldÄ«bas posmiem (visa pasaule, kuru mēs atstāsim jums paÅ”iem izpētÄ«t) un ir atbildÄ«gs par datu analÄ«zi saskaņā ar Ŕādiem kritērijiem:

Liels un mazs datu pārbaudītājs: tendences, teorija, mans stāsts
Es domāju, ka nav nepiecieÅ”ams atÅ”ifrēt katru no punktiem (teorētiski tos sauc par "datu dimensijām"), tie ir diezgan labi aprakstÄ«ti attēlā. Taču pats testÄ“Å”anas process nenozÄ«mē Å”o funkciju stingru kopÄ“Å”anu testa gadÄ«jumos un to pārbaudi. Datu kvalitātē, tāpat kā jebkura cita veida testÄ“Å”anā, pirmkārt, ir jābalstās uz datu kvalitātes prasÄ«bām, par kurām ir panākta vienoÅ”anās ar projekta dalÄ«bniekiem, kuri pieņem biznesa lēmumus.

AtkarÄ«bā no Datu kvalitātes projekta inženieris var veikt dažādas funkcijas: no parasta automatizācijas testētāja ar virspusēju datu kvalitātes novērtējumu, lÄ«dz personai, kas veic datu padziļinātu profilÄ“Å”anu pēc augstākminētajiem kritērijiem.

Ä»oti detalizēts datu pārvaldÄ«bas, datu kvalitātes un saistÄ«to procesu apraksts ir labi aprakstÄ«ts grāmatā ar nosaukumu "DAMA-DMBOK: Datu pārvaldÄ«bas zināŔanu kopums: 2. izdevums". Ä»oti iesaku Å”o grāmatu kā ievadu Å”ai tēmai (saiti uz to atradÄ«siet raksta beigās).

Mans stāsts

IT nozarē es strādāju no jaunākā testētāja produktu uzņēmumos lÄ«dz vadoÅ”ajam datu kvalitātes inženierim EPAM. Pēc aptuveni diviem testētāja darba gadiem man bija stingra pārliecÄ«ba, ka esmu veicis pilnÄ«gi visu veidu testÄ“Å”anu: regresijas, funkcionālās, stresa, stabilitātes, droŔības, lietotāja saskarnes utt. - un izmēģinājis lielu skaitu testÄ“Å”anas rÄ«ku, kam bija vienlaikus strādāja trÄ«s programmÄ“Å”anas valodās: Java, Scala, Python.

Atskatoties atpakaļ, es saprotu, kāpēc mans prasmju kopums bija tik daudzveidÄ«gs ā€” es piedalÄ«jos lielos un mazos uz datiem balstÄ«tos projektos. Tas mani ieveda pasaulē, kurā ir daudz rÄ«ku un izaugsmes iespēju.

Lai novērtētu rÄ«ku daudzveidÄ«bu un iespējas jaunu zināŔanu un prasmju iegÅ«Å”anai, vienkārÅ”i apskatiet zemāk redzamo attēlu, kurā redzami populārākie no tiem ā€œData & AIā€ pasaulē.

Liels un mazs datu pārbaudītājs: tendences, teorija, mans stāsts
Šāda veida ilustrācijas katru gadu apkopo viens no slavenajiem riska kapitālistiem Mets Tērks, kurÅ” nāk no programmatÅ«ras izstrādes. Å eit saite uz viņa emuāru un riska kapitāla uzņēmums, kur viņŔ strādā kā partneris.

ÄŖpaÅ”i ātri profesionāli izaugu, kad biju vienÄ«gais testētājs projektā vai vismaz projekta sākumā. TieÅ”i tādā brÄ«dÄ« tev ir jāatbild par visu testÄ“Å”anas procesu, un tev nav iespējas atkāpties, tikai uz priekÅ”u. Sākumā tas bija biedējoÅ”i, bet tagad visas Ŕāda testa priekÅ”rocÄ«bas man ir acÄ«mredzamas:

  • JÅ«s sākat sazināties ar visu komandu kā nekad agrāk, jo saziņai nav starpniekservera: ne testa vadÄ«tājs, ne citi testētāji.
  • IedziļināŔanās projektā kļūst neticami dziļa, un jums ir informācija par visiem komponentiem gan vispārÄ«gi, gan detalizēti.
  • Izstrādātāji neuzskata jÅ«s par ā€œto puisi no testÄ“Å”anas, kurÅ” nezina, ko daraā€, bet drÄ«zāk kā lÄ«dzvērtÄ«gu, kurÅ” sniedz neticamas priekÅ”rocÄ«bas komandai ar saviem automatizētajiem testiem un paredzot kļūdu parādÄ«Å”anās konkrētā komponentā. produkts.
  • Rezultātā jÅ«s esat efektÄ«vāks, kvalificētāks un pieprasÄ«tāks.

Projektam augot, 100% gadÄ«jumu kļuvu par mentoru jaunajiem testētājiem, mācot viņus un nododot tālāk zināŔanas, ko esmu apguvis pats. Tajā paŔā laikā, atkarÄ«bā no projekta, ne vienmēr no vadÄ«bas saņēmu augstākā lÄ«meņa auto testÄ“Å”anas speciālistus un radās nepiecieÅ”amÄ«ba vai nu apmācÄ«t viņus automatizācijā (interesentiem), vai izveidot rÄ«kus lietoÅ”anai ikdienas darbÄ«bās (rÄ«ki datu Ä£enerÄ“Å”anai un ielādei sistēmā , rÄ«ks slodzes testÄ“Å”anas/stabilitātes pārbaudes veikÅ”anai ā€œÄtriā€ utt.).

Konkrēta projekta piemērs

Diemžēl neizpauÅ”anas pienākumu dēļ nevaru sÄ«kāk pastāstÄ«t par projektiem, pie kuriem strādāju, bet minÄ“Å”u piemērus tipiskiem datu kvalitātes inženiera uzdevumiem vienā no projektiem.

Projekta bÅ«tÄ«ba ir uz tās bāzes ieviest platformu datu sagatavoÅ”anai apmācÄ«bu maŔīnmācÄ«bas modeļiem. PasÅ«tÄ«tājs bija liels farmācijas uzņēmums no ASV. Tehniski tas bija klasteris Kubernetes, pieaug lÄ«dz AWS EC2 gadÄ«jumiem, ar vairākiem mikropakalpojumiem un pamatā esoÅ”o EPAM atvērtā koda projektu - LeÄ£ions, pielāgota konkrēta klienta vajadzÄ«bām (tagad projekts ir atdzimis odahu). ETL procesi tika organizēti, izmantojot Apache gaisa plÅ«sma un pārvietoti dati no Salesforce klientu sistēmās AWS S3 Spaiņi. Pēc tam platformā tika izvietots maŔīnmācÄ«Å”anās modeļa Docker attēls, kas tika apmācÄ«ts, izmantojot jaunus datus, un, izmantojot REST API saskarni, radÄ«ja prognozes, kas interesēja uzņēmumu un atrisināja konkrētas problēmas.

Vizuāli viss izskatÄ«jās apmēram Ŕādi:

Liels un mazs datu pārbaudītājs: tendences, teorija, mans stāsts
Å ajā projektā bija daudz funkcionālo testu, un, ņemot vērā funkciju izstrādes ātrumu un nepiecieÅ”amÄ«bu saglabāt izlaiÅ”anas cikla tempu (divu nedēļu sprints), bija nekavējoties jādomā par vissvarÄ«gāko komponentu testÄ“Å”anas automatizāciju. sistēma. Lielākā daļa paÅ”as Kubernetes platformas tika aptvērta ar automātiskajiem testiem, kas tika ieviesti Robotu ietvars + Python, bet vajadzēja arÄ« tos atbalstÄ«t un paplaÅ”ināt. Turklāt klienta ērtÄ«bām tika izveidots GUI, lai pārvaldÄ«tu klasterÄ« izvietotos maŔīnmācÄ«Å”anās modeļus, kā arÄ« iespēja norādÄ«t, kur un kur ir jāpārsÅ«ta dati modeļu apmācÄ«bai. Å is plaÅ”ais papildinājums ietvēra automatizētās funkcionālās pārbaudes paplaÅ”ināŔanu, kas galvenokārt tika veikta, izmantojot REST API izsaukumus un nelielu skaitu 2-end UI testu. Ap visas Ŕīs kustÄ«bas ekvatoru mums pievienojās manuālais testētājs, kurÅ” lieliski paveica produktu versiju akcepttestÄ“Å”anu un sazināŔanos ar klientu par nākamā laidiena pieņemÅ”anu. Turklāt, pateicoties jauna speciālista ieraÅ”anās brÄ«dim, mēs varējām dokumentēt savu darbu un pievienot vairākas ļoti svarÄ«gas manuālas pārbaudes, kuras bija grÅ«ti uzreiz automatizēt.

Visbeidzot, pēc platformas un GUI papildinājuma stabilitātes sasniegÅ”anas, mēs sākām veidot ETL cauruļvadus, izmantojot Apache Airflow DAG. Automatizētā datu kvalitātes pārbaude tika veikta, rakstot Ä«paÅ”us Airflow DAG, kas pārbaudÄ«ja datus, pamatojoties uz ETL procesa rezultātiem. Å Ä« projekta ietvaros mums paveicās, un klients mums deva piekļuvi anonimizētām datu kopām, kuras mēs pārbaudÄ«jām. Mēs pārbaudÄ«jām datu rindiņu pa rindiņai, lai tie atbilstu tipiem, vai nav bojāti dati, kopējais ierakstu skaits pirms un pēc, ETL procesa veikto transformāciju salÄ«dzinājums apkopoÅ”anai, kolonnu nosaukumu maiņa un citas lietas. Turklāt Ŕīs pārbaudes tika mērogotas dažādiem datu avotiem, piemēram, papildus SalesForce, arÄ« MySQL.

Galīgās datu kvalitātes pārbaudes tika veiktas jau S3 līmenī, kur tie tika glabāti un bija gatavi lietoŔanai maŔīnmācīŔanās modeļu apmācībai. Lai iegūtu datus no galīgā CSV faila, kas atrodas S3 segmentā, un apstiprinātu to, kods tika uzrakstīts, izmantojot boto3 klientiem.

Tāpat klients prasīja daļu datu glabāt vienā S3 spainī un daļu citā. Tas arī prasīja rakstīt papildu pārbaudes, lai pārbaudītu Ŕādas ŔķiroŔanas uzticamību.

Vispārēja pieredze no citiem projektiem

Vispārīgākā datu kvalitātes inženiera darbību saraksta piemērs:

  • Sagatavojiet testa datus (derÄ«gi nederÄ«gi liels mazs), izmantojot automatizētu rÄ«ku.
  • AugÅ”upielādējiet sagatavoto datu kopu sākotnējā avotā un pārbaudiet, vai tā ir gatava lietoÅ”anai.
  • Palaidiet ETL procesus datu kopas apstrādei no avota krātuves uz galÄ«go vai starpkrātuvi, izmantojot noteiktu iestatÄ«jumu kopu (ja iespējams, iestatiet konfigurējamus parametrus ETL uzdevumam).
  • Pārbaudiet ETL procesā apstrādāto datu kvalitāti un atbilstÄ«bu uzņēmējdarbÄ«bas prasÄ«bām.

Tajā paŔā laikā pārbaudēs galvenā uzmanÄ«ba jāpievērÅ” ne tikai tam, vai datu plÅ«sma sistēmā principā ir nostrādājusi un sasniegusi pabeigÅ”anu (kas ir daļa no funkcionālās testÄ“Å”anas), bet galvenokārt uz datu pārbaudi un apstiprināŔanu sagaidāmo prasÄ«bu ievēroÅ”ana, anomāliju identificÄ“Å”ana un citas lietas.

Darbarīki

Viens no Ŕādas datu kontroles paņēmieniem var bÅ«t ķēdes pārbaužu organizÄ“Å”ana katrā datu apstrādes posmā, literatÅ«rā tā sauktā ā€œdatu ķēdeā€ - datu kontrole no avota lÄ«dz gala izmantoÅ”anas vietai. Šāda veida pārbaudes visbiežāk tiek ieviestas, rakstot pārbaudes SQL vaicājumus. Ir skaidrs, ka Ŕādiem vaicājumiem ir jābÅ«t pēc iespējas vieglākiem un jāpārbauda atseviŔķas datu kvalitātes daļas (tabulu metadati, tukÅ”as rindas, NULL, Sintakses kļūdas - citi pārbaudei nepiecieÅ”amie atribÅ«ti).

Regresijas testÄ“Å”anas gadÄ«jumā, kurā tiek izmantotas gatavas (nemaināmas, nedaudz maināmas) datu kopas, automātiskās pārbaudes kods var uzglabāt gatavas veidnes datu atbilstÄ«bas kvalitātes pārbaudei (paredzamo tabulas metadatu apraksti; rindu paraugu objekti, kurus var nejauÅ”i izvēlēts testa laikā utt.).

Tāpat testÄ“Å”anas laikā jums ir jāraksta ETL testa procesi, izmantojot tādas sistēmas kā Apache Airflow, Apache Spark vai pat melnās kastes mākoņa veida rÄ«ks GCP datu sagatavoÅ”ana, GCP datu plÅ«sma Un tā tālāk. Å is apstāklis ā€‹ā€‹liek testÄ“Å”anas inženierim iedziļināties iepriekÅ” minēto rÄ«ku darbÄ«bas principos un vēl efektÄ«vāk gan veikt funkcionālo testÄ“Å”anu (piemēram, esoÅ”os ETL procesus projektā), gan izmantot tos datu pārbaudei. Jo Ä«paÅ”i Apache Airflow ir gatavi operatori darbam ar populārām analÄ«tisko datu bāzēm, piemēram, GSP BigQuery. VisvienkārŔākais tās izmantoÅ”anas piemērs jau ir ieskicēts Å”eit, tāpēc es neatkārtoÅ”os.

Ja neskaita jau gatavus risinājumus, neviens neaizliedz ieviest savas metodes un rÄ«kus. Tas bÅ«s izdevÄ«gi ne tikai projektam, bet arÄ« paÅ”am datu kvalitātes inženierim, kurÅ” tādējādi uzlabos savu tehnisko redzesloku un kodÄ“Å”anas prasmes.

Kā tas darbojas reālā projektā

Labs pēdējo rindkopu piemērs par ā€œdatu ķēdiā€, ETL un visuresoŔām pārbaudēm ir Ŕāds process no viena no reāliem projektiem:

Liels un mazs datu pārbaudītājs: tendences, teorija, mans stāsts

Å eit mÅ«su sistēmas ievades ā€œpiltuvēā€ nonāk dažādi dati (dabiski, mÅ«su sagatavoti): derÄ«gi, nederÄ«gi, sajaukti utt., pēc tam tie tiek filtrēti un nonāk starpkrātuvē, pēc tam atkal tiek pakļauti virknei transformāciju. un tiek ievietoti galÄ«gajā krātuvē, no kuras, savukārt, tiks veikta analÄ«ze, datu margu veidoÅ”ana un biznesa ieskatu meklÄ“Å”ana. Šādā sistēmā, funkcionāli nepārbaudot ETL procesu darbÄ«bu, mēs koncentrējamies uz datu kvalitāti pirms un pēc transformācijām, kā arÄ« uz izvadi uz analÄ«zi.

Rezumējot iepriekÅ” minēto, neatkarÄ«gi no vietām, kur strādāju, visur es piedalÄ«jos datu projektos, kuriem bija Ŕādas funkcijas:

  • Tikai izmantojot automatizāciju, jÅ«s varat pārbaudÄ«t dažus gadÄ«jumus un sasniegt uzņēmumam pieņemamu izlaiÅ”anas ciklu.
  • Šāda projekta testētājs ir viens no cienÄ«jamākajiem komandas locekļiem, jo ā€‹ā€‹katram dalÄ«bniekam tas sniedz lielu labumu (testÄ“Å”anas paātrinājums, labi dati no Data Scientist, defektu identificÄ“Å”ana agrÄ«nā stadijā).
  • Nav svarÄ«gi, vai strādājat ar savu aparatÅ«ru vai mākoņos ā€” visi resursi tiek abstrahēti klasterÄ«, piemēram, Hortonworks, Cloudera, Mesos, Kubernetes utt.
  • Projekti ir balstÄ«ti uz mikropakalpojumu pieeju, dominē izkliedētā un paralēlā skaitļoÅ”ana.

Vēlos atzÄ«mēt, ka, veicot testÄ“Å”anu datu kvalitātes jomā, testÄ“Å”anas speciālists pārceļ savu profesionālo uzmanÄ«bu uz produkta kodu un izmantotajiem rÄ«kiem.

Datu kvalitātes pārbaudes atŔķirīgās iezīmes

Turklāt sev esmu identificējis Ŕādas (uzreiz izdarÄ«Å”u atrunu, ka tās ir Ä»OTI vispārinātas un tikai subjektÄ«vas) atŔķirÄ«gās testÄ“Å”anas pazÄ«mes datu (Big Data) projektos (sistēmās) un citās jomās:

Liels un mazs datu pārbaudītājs: tendences, teorija, mans stāsts

Noderīgas saites

  1. Teorija: DAMA-DMBOK: Datu pārvaldības zināŔanu kopums: 2. izdevums.
  2. MācÄ«bu centrs EPAM 
  3. Ieteicamie materiāli iesācējam datu kvalitātes inženierim:
    1. Bezmaksas kurss par Stepik: Ievads datu bāzēs
    2. Kurss par LinkedIn mācÄ«bām: Datu zinātnes pamati: datu inženierija.
    3. Raksti:
    4. Video:

Secinājums

Datu kvalitāte ir ļoti jauns, daudzsoloÅ”s virziens, kura daļai nozÄ«mē bÅ«t daļai no startapa. Nokļūstot datu kvalitātē, jÅ«s iegremdēsities daudzās modernās, pieprasÄ«tās tehnoloÄ£ijās, bet pats galvenais ā€“ jums pavērsies milzÄ«gas iespējas Ä£enerēt un Ä«stenot savas idejas. Nepārtrauktās pilnveides pieeju varēsi izmantot ne tikai projektā, bet arÄ« sev, nepārtraukti pilnveidojoties kā speciālists.

Avots: www.habr.com

Pievieno komentāru