Stór og smá gagnaprófari: þróun, kenning, saga mín

Halló allir, ég heiti Alexander og ég er Gagnagæðaverkfræðingur sem athugar gæði gagna. Þessi grein mun fjalla um hvernig ég komst að þessu og hvers vegna árið 2020 var þetta prófunarsvæði á öldutoppi.

Stór og smá gagnaprófari: þróun, kenning, saga mín

alþjóðleg þróun

Heimurinn í dag er að upplifa aðra tæknibyltingu, einn þáttur hennar er notkun alls kyns fyrirtækja á uppsöfnuðum gögnum til að snúa eigin svifhjóli af sölu, hagnaði og almannatengslum. Svo virðist sem að það sé aðgengi að góðum (gæða) gögnum, sem og hæfileikaríkur gáfur sem geta grætt peninga á þeim (rétt unnið, sjónrænt, smíðað vélanámslíkön o.s.frv.), orðið lykillinn að velgengni fyrir marga í dag. Ef fyrir 15-20 árum síðan voru stór fyrirtæki aðallega í mikilli vinnu við gagnasöfnun og tekjuöflun þeirra, þá er þetta hlutskipti nánast allra heilvita fólks í dag.

Í þessu sambandi, fyrir nokkrum árum, fóru allar atvinnuleitargáttir um allan heim að flæða af lausum störfum Data Scientists, þar sem allir voru vissir um að með því að fá slíkan sérfræðing í starfsfólk sitt gætu þeir byggt upp ofurmódel af vélanámi, spáð fyrir um framtíðina og gera "skammtahopp" fyrir fyrirtækið. Með tímanum áttaði fólk sig á því að þessi nálgun virkar nánast aldrei, þar sem langt frá því að öll gögn sem falla í hendur slíkra sérfræðinga henta fyrir þjálfunarlíkön.

Og beiðnir frá gagnafræðingum hófust: „Við skulum kaupa fleiri gögn frá hinum og þessum...“, „Við höfum ekki næg gögn …“, „Við þurfum meiri gögn og helst hágæða...“. Byggt á þessum beiðnum fóru að byggjast upp fjölmörg samskipti milli fyrirtækja sem eiga eitt eða annað gagnasafn. Þetta krafðist náttúrulega tæknilegrar skipulagningar þessa ferlis - að tengjast gagnagjafanum, hlaða þeim niður, athuga hvort þeir séu hlaðnir að fullu o.s.frv. Fjöldi slíkra ferla fór að aukast og í dag höfum við mikla þörf fyrir annars konar sérfræðinga - Gagnagæðaverkfræðingar - þeir sem myndu fylgjast með gagnaflæði í kerfinu (gagnaleiðslur), gæðum gagna við inntak og úttak, draga ályktanir um nægjanleika þeirra, heilleika og aðra eiginleika.

Þróunin fyrir Gagnagæði verkfræðinga kom til okkar frá Bandaríkjunum, þar sem í miðri geislandi tímabil kapítalismans er enginn tilbúinn að tapa baráttunni um gögn. Hér að neðan hef ég veitt skjáskot frá tveimur af vinsælustu atvinnuleitarsíðunum í Bandaríkjunum: www.monster.com и www.dice.com - sem sýna gögn frá og með 17. mars 2020 um fjölda auglýstra lausra starfa sem berast, fyrir lykilorðin: Gagnagæði og gagnafræðingur.

www.monster.com

Gagnafræðingar – 21416 laus störf
Gagnagæði – 41104 laus störf

Stór og smá gagnaprófari: þróun, kenning, saga mín
Stór og smá gagnaprófari: þróun, kenning, saga mín

www.dice.com

Gagnafræðingar – 404 laus störf
Gagnagæði - laus störf 2020

Stór og smá gagnaprófari: þróun, kenning, saga mín
Stór og smá gagnaprófari: þróun, kenning, saga mín

Augljóslega keppa þessar starfsstéttir ekki sín á milli á nokkurn hátt. Með skjáskotum vildi ég bara sýna núverandi stöðu á vinnumarkaði hvað varðar beiðnir um Gagnagæðaverkfræðinga, sem nú er miklu meira þörf á en Data Scientists.

Í júní 2019, EPAM, að bregðast við þörfum nútíma upplýsingatæknimarkaðarins, skilgreindi Gagnagæði sem sérstaka starfshætti. Gagnagæðaverkfræðingar í daglegu starfi stjórna gögnum, athuga hegðun þeirra við nýjar aðstæður og kerfi, stjórna mikilvægi gagna, nægjanleika þeirra og mikilvægi. Með allt þetta, í hagnýtum skilningi, verja verkfræðingar gagnagæða í raun lítinn tíma í klassískar virkniprófanir, EN það fer mjög eftir verkefninu (ég mun gefa dæmi hér að neðan).

Skyldur gagnagæðaverkfræðings takmarkast ekki við hefðbundnar handvirkar/sjálfvirkar athuganir á "núllum, talningum og upphæðum" í gagnagrunnstöflum, heldur krefjast djúps skilnings á viðskiptaþörfum viðskiptavinarins og, í samræmi við það, getu til að umbreyta tiltækum gögnum í nothæfar viðskiptaupplýsingar.

Gagnagæðakenning

Stór og smá gagnaprófari: þróun, kenning, saga mín

Til þess að ímynda okkur að fullu hlutverk slíks verkfræðings skulum við reikna út hvað Gagnagæði eru í orði.

Gæði gagna - eitt af stigum gagnastjórnunar (allur heimurinn sem við munum eftir þér til sjálfstæðrar rannsóknar) og ber ábyrgð á því að greina gögn í samræmi við eftirfarandi viðmið:

Stór og smá gagnaprófari: þróun, kenning, saga mín
Ég held að það sé ekki þess virði að ráða hvert atriði (í orði eru þeir kallaðir „gagnavíddir“), þeim er nokkuð vel lýst á myndinni. En prófunarferlið sjálft felur ekki í sér stranga afritun þessara eiginleika í prófunartilvik og sannprófun þeirra. Í Gagnagæði, eins og í öllum öðrum prófunum, er fyrst og fremst nauðsynlegt að byggja á gagnagæðakröfum sem samið er við þátttakendur verkefnisins sem taka viðskiptaákvarðanir.

Það fer eftir Gagnagæðaverkefninu, verkfræðingur getur framkvæmt mismunandi aðgerðir: allt frá venjulegum prófunarsjálfvirkum með yfirborðsmati á gagnagæði til einstaklings sem framkvæmir djúpa prófílgreiningu sína samkvæmt ofangreindum viðmiðum.

Mjög nákvæm lýsing á Gagnastjórnun, Gagnagæði og tengdum ferlum er vel lýst í bók sem heitir "DAMA-DMBOK: Data Management Body of Knowledge: 2nd Edition". Ég mæli eindregið með þessari bók sem kynningu á þessu efni (þú finnur tengil á hana í lok greinarinnar).

Sagan mín

Í upplýsingatæknigeiranum hef ég farið frá Junior QA í vörufyrirtækjum til Lead Data Quality Engineer hjá EPAM. Eftir um það bil tvö ár sem prófari var ég sannfærður um að ég gerði alls konar próf: afturför, virkni, streitu, stöðugleika, öryggi, notendaviðmót o.s.frv. - og prófaði fjöldann allan af prófunarverkfærum, eftir að hafa unnið á meðan þrjú forritunarmál: Java, Scala, Python.

Þegar ég lít til baka skil ég hvers vegna hæfileikar mínir hafa verið svo fjölbreyttir - ég hef tekið þátt í gagnaverkefnum, stórum sem smáum. Þetta er það sem kom mér inn í heim fullt af verkfærum og tækifærum til vaxtar.

Til að meta fjölbreytni verkfæra og tækifæra til að öðlast nýja þekkingu og færni, skoðaðu bara myndina hér að neðan, sem sýnir vinsælustu þeirra í heimi „Data & AI“.

Stór og smá gagnaprófari: þróun, kenning, saga mín
Svona myndskreyting er framleidd árlega af einum af þekktum áhættufjárfestum Matt Turck, sem er innfæddur maður í hugbúnaðarþróun. Hérna tengill á bloggið sitt og áhættufjármagnsfyrirtækiþar sem hann starfar sem félagi.

Ég stækkaði faglega sérstaklega hratt þegar ég var eini prófarinn í verkefni, eða að minnsta kosti í upphafi verkefnis. Það er á þessari stundu sem þú þarft að bera ábyrgð á öllu prófunarferlinu og þú hefur ekkert tækifæri til að hörfa, aðeins áfram. Í fyrstu var það skelfilegt, en nú eru allir kostir slíks prófs augljósir fyrir mér:

  • Þú byrjar að hafa samskipti við allt teymið sem aldrei fyrr, þar sem það er ekkert umboð fyrir samskipti: hvorki prófunarstjórinn né aðrir prófunaraðilar.
  • Innihald í verkefnið verður ótrúlega djúpt og þú hefur upplýsingar um alla hluti bæði almennt og í smáatriðum.
  • Hönnuðir líta ekki á þig sem "þennan prófunarmann sem veit ekki hvað hann er að gera", heldur frekar sem jafningja, sem skapar ótrúlegt gildi fyrir liðið með sjálfvirkum prófunum sínum og eftirvæntingu um villur í tilteknum vöruhnút.
  • Fyrir vikið ertu skilvirkari, hæfari, eftirsóttari.

Eftir því sem verkefnið stækkaði varð ég í 100% tilfella leiðbeinandi fyrir nýja prófara sem komu að því, kenndi þeim og miðlaði þeirri þekkingu sem ég hafði sjálfur lært. Á sama tíma, allt eftir verkefnum, fékk ég ekki alltaf hæsta stigi bílaprófunarsérfræðinga frá stjórnendum og þurfti annað hvort að þjálfa þá í sjálfvirkni (fyrir þá sem vilja), eða búa til verkfæri til notkunar í hversdagslegar athafnir (verkfæri til að búa til gögn og hlaða þeim inn í kerfið, tól til að framkvæma álagspróf/hraðstöðugleikapróf osfrv.).

Dæmi um ákveðið verkefni

Vegna þagnarskyldunnar get ég því miður ekki talað ítarlega um verkefnin sem ég vann að, en ég ætla að gefa dæmi um dæmigerð gagnagæðaverkfræðingsverkefni í einu verkefnanna.

Kjarni verkefnisins er að innleiða vettvang til að undirbúa gögn fyrir þjálfun byggt á vélanámslíkönum. Viðskiptavinurinn var stórt lyfjafyrirtæki frá Bandaríkjunum. Tæknilega séð var þetta klasi Kuberneteshækkandi til AWS EC2 tilvik, með nokkrum örþjónustum og undirliggjandi Open Source verkefni frá EPAM - Legion, lagað að þörfum tiltekins viðskiptavinar (nú hefur verkefnið endurfæðst inn í odahu). ETL ferlar voru skipulagðir með því að nota Apache loftflæði og flutt gögn frá Salesforce viðskiptavinakerfi í AWS S3 fötum. Næst var bryggjumynd af vélanámslíkani send á vettvanginn, sem var þjálfuð á ferskum gögnum og, með því að nota REST API viðmótið, gaf út spár sem voru áhugaverðar fyrir fyrirtækið og leystu ákveðin vandamál.

Sjónrænt leit þetta einhvern veginn svona út:

Stór og smá gagnaprófari: þróun, kenning, saga mín
Það var nóg af virkniprófunum á þessu verkefni og í ljósi þess hve hraðinn er í þróun eiginleika og þörfina á að viðhalda hraða útgáfuferlisins (tveggja vikna sprettir), var nauðsynlegt að huga strax að sjálfvirkri prófun á mikilvægustu kerfishnútunum . Flest af Kubernetes-undirstaða pallinum sjálfum var fjallað um sjálfvirkar prófanir sem framkvæmdar voru á Vélmenni Framework + Python, en þeir þurftu líka að styðja og stækka. Að auki, til þæginda fyrir viðskiptavininn, var GUI búið til til að stjórna vélanámslíkönum sem beitt er í klasann, sem og getu til að tilgreina hvaðan og hvar á að flytja gögn fyrir líkanaþjálfun. Þessi umfangsmikla viðbót fól í sér stækkun á sjálfvirkum virkniathugunum, sem voru að mestu gerðar með REST API símtölum og fáum enda-2-enda UI prófum. Í kringum miðbaug allrar þessarar hreyfingar kom handvirkur prófari til liðs við okkur, sem vann frábært starf við staðfestingarprófanir á vöruútgáfum og samskipti við viðskiptavininn um samþykki næstu útgáfu. Þar að auki, vegna komu nýs sérfræðings, gátum við skráð vinnu okkar og bætt við nokkrum mjög mikilvægum handvirkum athugunum sem erfitt var að gera sjálfvirkan strax.

Og að lokum, eftir að við náðum stöðugleika frá pallinum og GUI viðbótinni yfir hann, byrjuðum við að byggja ETL leiðslur með Apache Airflow DAG. Sjálfvirk gagnagæðaathugun var framkvæmd með því að skrifa sérstaka Airflow DAG sem athuguðu gögnin út frá niðurstöðum ETL ferlisins. Sem hluti af þessu verkefni vorum við heppin og viðskiptavinurinn gaf okkur aðgang að nafnlausum gagnasöfnum sem við prófuðum á. Við athuguðum gögnin línu fyrir línu fyrir tegundarsamræmi, tilvist brotinna gagna, heildarfjölda skráa fyrir og eftir, samanburð á umbreytingum sem framkvæmdar eru af ETL ferlinu fyrir samansafn, breyta dálkumheitum og svo framvegis. Að auki voru þessar athuganir færðar í mismunandi gagnagjafa, til dæmis, auk SalesForce, einnig á MySQL.

Endanleg gagnagæðapróf voru framkvæmd þegar á S3 stigi, þar sem þau voru geymd og voru tilbúin til notkunar til að þjálfa vélanámslíkön. Til að fá gögn úr loka CSV skránni sem staðsett er á S3 fötunni og staðfesta þau var kóði skrifaður með boto3 viðskiptavinur.

Einnig var af hálfu viðskiptavinarins krafa um að geyma hluta gagna í einni S3 fötu og hluta í annarri. Til þess þurfti líka að skrifa viðbótarávísanir sem stjórna áreiðanleika slíkrar flokkunar.

Almenn reynsla af öðrum verkefnum

Dæmi um almennasta lista yfir starfsemi Gagnagæðaverkfræðings:

  • Undirbúa prófunargögn (gild ógild stór lítil) í gegnum sjálfvirkt tól.
  • Hladdu tilbúnu gagnasafninu í upprunalega upprunann og athugaðu hvort það sé tilbúið til notkunar.
  • Ræstu ETL ferla til að vinna úr gagnasetti frá upprunageymslunni yfir í loka- eða millistigið með því að nota ákveðið sett af stillingum (ef mögulegt er, stilltu stillanlegar færibreytur fyrir ETL verkefnið).
  • Staðfestu gögnin sem unnið er með ETL ferlinu fyrir gæði þeirra og samræmi við kröfur viðskipta.

Á sama tíma ætti aðaláhersla athugana ekki aðeins að vera á þá staðreynd að gagnaflæðið í kerfinu hafi í grundvallaratriðum gengið upp og náð endalokum (sem er hluti af virkniprófunum), heldur að mestu leyti á athugun. og staðfesta gögn til að uppfylla væntanlegar kröfur, greina frávik og annað.

Verkfæri

Ein af aðferðum slíkrar gagnaeftirlits getur verið skipulagning keðjuathugana á hverju stigi gagnavinnslunnar, svokölluð „gagnakeðja“ í bókmenntum - eftirlit með gögnum frá uppruna til lokanotkunar. Slíkar athuganir eru oftast útfærðar með því að skrifa sannprófandi SQL fyrirspurnir. Það er ljóst að slíkar fyrirspurnir ættu að vera eins léttar og mögulegt er og athuga einstaka gagnagæði (lýsigögn töflur, auðar línur, NULL, villur í setningafræði - aðrir eiginleikar sem þarf að athuga).

Þegar um er að ræða aðhvarfsprófun, sem notar tilbúin (óbreytt, lítillega breytt) gagnasöfn, getur sjálfvirka prófunarkóði geymt tilbúin sniðmát til að athuga hvort gögn séu í samræmi við gæði (lýsingar á væntanlegum lýsigögnum töflu; sýnishornshlutir strengja sem hægt er að valið af handahófi meðan á prófinu stendur o.s.frv.).

Einnig, meðan á prófun stendur, verður þú að skrifa próf ETL ferla með því að nota ramma eins og Apache Airflow, Apache Spark eða jafnvel svartkassi skýjaverkfæri eins og GCP Dataprep, GCP gagnaflæði Og svo framvegis. Þessar aðstæður gera það að verkum að prófunarverkfræðingur kafar ofan í meginreglur um notkun ofangreindra verkfæra og á enn skilvirkari hátt bæði framkvæma virkniprófanir (til dæmis ETL ferla sem eru til í verkefninu) og nota þau til að athuga gögn. Sérstaklega hefur Apache Airflow tilbúna rekstraraðila til að vinna með vinsælum greiningargagnagrunnum, til dæmis GCP BigQuery. Einfaldasta dæmið um notkun þess hefur þegar verið lýst. hérsvo ég endurtaki mig ekki.

Til viðbótar við tilbúnar lausnir bannar enginn þér að innleiða tækni þína og verkfæri. Þetta mun ekki aðeins nýtast verkefninu, heldur einnig Gagnagæðaverkfræðingnum sjálfum, sem mun þar með bæta tæknilegt viðhorf sitt og kóðunarfærni.

Hvernig það virkar á alvöru verkefni

Góð lýsing á síðustu málsgreinunum um „gagnakeðju“, ETL og alls staðar nálægar athuganir er eftirfarandi ferli frá einu af raunverulegu verkefnunum:

Stór og smá gagnaprófari: þróun, kenning, saga mín

Hér fara mismunandi gögn (náttúrulega útbúin af okkur) inn í „trekt“ kerfisins okkar: gild, ógild, blönduð osfrv., síðan eru þau síuð og komast inn í milligeymsluna, síðan er aftur beðið eftir þeim með röð af umbreytingar og settar í lokageymsluna , sem aftur á móti verður notuð til greiningar, smíða gagnamars og leit að viðskiptainnsýn. Í slíku kerfi leggjum við áherslu á gæði gagna fyrir og eftir umbreytingar, án þess að athuga virkni ETL ferla, sem og úttak til greiningar.

Til að draga saman ofangreint, óháð þeim stöðum þar sem ég vann, tók ég alls staðar þátt í gagnaverkefnum sem sameinuðu eftirfarandi eiginleika:

  • Aðeins með sjálfvirkni er hægt að prófa sum tilvik og hægt er að ná fram útgáfuferli sem er viðunandi fyrir fyrirtækið.
  • Prófandinn í slíku verkefni er einn virtasti meðlimur teymisins, þar sem það skilar miklum ávinningi fyrir hvern þátttakanda (hröðun á prófunum, góð gögn gagnafræðinga, snemma uppgötvun galla).
  • Það skiptir ekki máli hvort þú vinnur á þínum eigin vélbúnaði eða í skýjunum - allar auðlindir eru teknar saman í þyrping eins og Hortonworks, Cloudera, Mesos, Kubernetes, osfrv.
  • Verkefni eru byggð á örþjónustunálgun, dreifð og samhliða tölvumál ríkja.

Ég tek fram að þegar prófaður er á sviði Gagnagæða færir prófari faglega áherslu sína yfir á vörukóðann og verkfærin sem notuð eru.

Sérkenni gagnagæðaprófa

Að auki, fyrir sjálfan mig, hef ég bent á eftirfarandi (ég mun strax gera fyrirvara MJÖG almennt og afar huglægt) sérkenni prófunar í Data (Big Data) verkefnum (kerfum) og öðrum sviðum:

Stór og smá gagnaprófari: þróun, kenning, saga mín

gagnlegir krækjur

  1. Kenning: DAMA-DMBOK: Data Management Body of Knowledge: 2. útgáfa.
  2. Þjálfunarmiðstöð EPAM 
  3. Ráðlagt efni fyrir byrjendur gagnagæðaverkfræðings:
    1. Ókeypis námskeið um Stepik: Kynning á gagnagrunnum
    2. Námskeið um LinkedIn nám: Gagnafræðisjóðir: Gagnaverkfræði.
    3. Greinar:
    4. Video:

Ályktun

Gæði gagna er mjög ung efnileg stefna, að vera hluti af því þýðir að vera hluti af sprotafyrirtæki. Þegar þú ert kominn í Gagnagæði muntu sökkva þér inn í fjöldann allan af nútíma tækni sem er eftirsótt, en síðast en ekki síst muntu hafa gríðarleg tækifæri til að búa til og hrinda hugmyndum þínum í framkvæmd. Þú munt geta notað nálgun stöðugra umbóta ekki aðeins á verkefninu, heldur einnig fyrir sjálfan þig, stöðugt að þróast sem sérfræðingur.

Heimild: www.habr.com

Bæta við athugasemd