Grouss a kleng Daten Tester: Trends, Theorie, meng Geschicht

Hallo jiddereen, mäin Numm ass Alexander, an ech sinn en Datequalitéitsingenieur deen Daten op seng Qualitéit iwwerpréift. Dësen Artikel schwätzt iwwer wéi ech dozou komm sinn a firwat am Joer 2020 dëst Gebitt vun der Test op der Welle war.

Grouss a kleng Daten Tester: Trends, Theorie, meng Geschicht

Global Trend

D'Welt vun haut erliewt eng aner technologesch Revolutioun, een Aspekt vun deem ass d'Benotzung vun akkumuléierten Donnéeën vun all Zorte vu Firmen fir hiren eegene Schwéngrad vu Verkaf, Gewënn a PR ze promoten. Et schéngt, datt d'Präsenz vu gudden (Qualitéit) Donnéeën, wéi och qualifizéiert Gehirer, déi Sue kënnen dovunner verdéngen (korrekt veraarbecht, visualiséieren, Maschinnléieremodeller bauen, asw.), De Schlëssel zum Erfolleg fir vill haut ginn. Wann virun 15-20 Joer grouss Firmen haaptsächlech an intensiver Aarbecht mat Dateakkumulatioun a Monetiséierung involvéiert waren, ass dat haut d'Lot vu bal all vernünfteg Leit.

An dëser Hisiicht, virun e puer Joer, hunn all d'Portale gewidmet fir Aarbechtssich ronderëm d'Welt ugefaang mat Vakanzen fir Datewëssenschaftler gefëllt ze ginn, well jidderee sécher war, datt, sou e Spezialist engagéiert huet, et méiglech wier e Supermodell vu Maschinnléieren ze bauen , d'Zukunft viraussoen an e "Quantesprong" fir d'Firma maachen. Mat der Zäit hunn d'Leit gemierkt datt dës Approche bal ni iwwerall funktionnéiert, well net all d'Donnéeën, déi an d'Hänn vun esou Spezialisten falen, fir Trainingsmodeller gëeegent sinn.

An d'Ufroe vun den Datewëssenschaftler hunn ugefaang: "Loosst eis méi Daten vun dësen an deenen kafen ...", "Mir hunn net genuch Daten ...", "Mir brauche méi Donnéeën, am léifsten eng héichqualitativ ..." . Baséierend op dës Ufroen hunn vill Interaktiounen ugefaang tëscht Firmen ze bauen déi een oder aner Satz vun Daten besëtzen. Natierlech huet dëst d'technesch Organisatioun vun dësem Prozess erfuerdert - d'Verbindung mat der Datequell, eroflueden, kontrolléieren ob et voll gelueden ass, asw. Spezialisten - Datequalitéitsingenieuren - déi, déi de Flux vun Daten am System (Datepipelines), d'Qualitéit vun den Donnéeën um Input an Output iwwerwaachen, a Conclusiounen iwwer hir Genuch, Integritéit an aner Charakteristiken zéien.

Den Trend fir Datequalitéit Ingenieuren ass bei eis aus den USA komm, wou, an der Mëtt vun der réierender Ära vum Kapitalismus, kee prett ass, d'Schluecht fir Daten ze verléieren. Drënner hunn ech Screenshots vun zwee vun de populäersten Job Sich Siten an den USA geliwwert: www.monster.com и www.dice.com - déi Daten vum 17. Mäerz 2020 iwwer d'Zuel vun de geposte Vakanzen ugewisen mat de Schlësselwieder: Datequalitéit an Datewëssenschaftler.

www.monster.com

Datewëssenschaftler - 21416 Vakanzen
Donnéeën Qualitéit - 41104 Vakanzen

Grouss a kleng Daten Tester: Trends, Theorie, meng Geschicht
Grouss a kleng Daten Tester: Trends, Theorie, meng Geschicht

www.dice.com

Datewëssenschaftler - 404 Vakanzen
Datequalitéit - 2020 Vakanzen

Grouss a kleng Daten Tester: Trends, Theorie, meng Geschicht
Grouss a kleng Daten Tester: Trends, Theorie, meng Geschicht

Natierlech konkurréiere dës Beruffer op kee Fall mateneen. Mat Screenshots wollt ech just déi aktuell Situatioun um Aarbechtsmaart illustréieren a punkto Ufroe fir Data Quality Ingenieuren, vun deenen elo vill méi gebraucht ginn wéi Data Scientists.

Am Juni 2019 huet EPAM, reagéiert op d'Bedierfnesser vum modernen IT Maart, d'Datequalitéit an eng separat Praxis getrennt. Datequalitéitsingenieuren, am Laf vun hirer alldeeglecher Aarbecht, verwalten Daten, iwwerpréift säi Verhalen an neie Konditiounen a Systemer, iwwerwaachen d'Relevanz vun den Donnéeën, hir Genuch a Relevanz. Mat all deem, an engem praktesche Sënn, widmen d'Datequalitéitsingenieuren wierklech wéineg Zäit fir klassesch funktionell Testen, MEE dëst hänkt immens vum Projet of (ech ginn e Beispill hei ënnen).

D'Verantwortung vun engem Datequalitéitsingenieur sinn net nëmme limitéiert op routinéiert manuell / automatesch Kontrollen fir "Null, Zuelen a Zommen" an Datebanktabellen, awer erfuerdert en déif Verständnis vun de Geschäftsbedürfnisser vum Client an deementspriechend d'Fäegkeet verfügbar Daten an d'Transformatioun an nëtzlech Affär Informatiounen.

Donnéeën Qualitéit Theorie

Grouss a kleng Daten Tester: Trends, Theorie, meng Geschicht

Fir d'Roll vun esou engem Ingenieur méi komplett virzestellen, loosst eis erausfannen wat d'Datequalitéit an der Theorie ass.

Datenqualitéit - eng vun den Etappe vum Datemanagement (eng ganz Welt déi mir Iech verloossen fir eleng ze studéieren) an ass verantwortlech fir d'Analyse vun Daten no de folgende Critèren:

Grouss a kleng Daten Tester: Trends, Theorie, meng Geschicht
Ech mengen et ass kee Besoin fir jidderee vun de Punkten z'entschlësselen (an der Theorie ginn se "Daten Dimensiounen" genannt), si sinn zimlech gutt am Bild beschriwwen. Awer den Testprozess selwer implizéiert net strikt dës Featuren an Testfäll ze kopéieren an ze kontrolléieren. An der Datequalitéit, wéi an all aner Typ vun Tester, ass et als éischt noutwendeg op d'Datequalitéitsufuerderungen ze bauen, déi mat de Projet Participanten ausgemaach sinn, déi Geschäftsentscheedungen treffen.

Ofhängeg vum Datequalitéitsprojet kann en Ingenieur verschidde Funktiounen ausféieren: vun engem gewéinleche Automatisatiounstester mat enger iwwerflächlecher Bewäertung vun der Datequalitéit, op eng Persoun déi déif Profiléierung vun den Donnéeën no den uewe genannte Critèren mécht.

Eng ganz detailléiert Beschreiwung vum Datemanagement, Datequalitéit a verbonne Prozesser ass gutt beschriwwen am Buch genannt "DAMA-DMBOK: Data Management Body of Knowledge: 2nd Edition". Ech recommandéieren dëst Buch als Aféierung zu dësem Thema (Dir fannt e Link op et um Enn vum Artikel).

Meng Geschicht

An der IT Industrie hunn ech mäi Wee vun engem Junior Tester a Produktfirmen op e Lead Data Quality Engineer bei EPAM geschafft. No ongeféier zwee Joer als Tester schaffen, hat ech déi fest Iwwerzeegung datt ech absolut all Typ vun Tester gemaach hunn: Regressioun, Funktionell, Stress, Stabilitéit, Sécherheet, UI, etc. - an hunn eng grouss Unzuel vun Testinstrumenter probéiert, mat gläichzäiteg an dräi Programméierungssprooche geschafft: Java, Scala, Python.

Wann ech zréckkucken, verstinn ech firwat meng Fäegkeetsset sou divers war - ech war an datendriven Projeten involvéiert, grouss a kleng. Dëst ass wat mech an eng Welt vu villen Tools a Wuesstumsméiglechkeeten bruecht huet.

Fir d'Varietéit vun Tools a Méiglechkeeten ze schätzen fir nei Wëssen a Fäegkeeten ze kréien, kuckt just d'Bild hei drënner, wat déi populärste an der "Daten & AI" Welt weist.

Grouss a kleng Daten Tester: Trends, Theorie, meng Geschicht
Dës Zort Illustratioun gëtt jäerlech vun engem vun de berühmte Venture Kapitalisten Matt Turck zesummegesat, deen aus der Softwareentwécklung kënnt. Hei ze verschécken zu sengem Blog an Venture Capital Firma, wou hien als Partner schafft.

Ech gewuess berufflech besonnesch séier wann ech déi eenzeg Tester um Projet war, oder op d'mannst um Ufank vum Projet. Et ass zu esou engem Moment datt Dir fir de ganzen Testprozess verantwortlech muss sinn, an Dir hutt keng Méiglechkeet zréckzezéien, nëmmen no vir. Am Ufank war et grujeleg, awer elo sinn all d'Virdeeler vun esou engem Test fir mech kloer:

  • Dir fänkt un mat der ganzer Equipe ze kommunizéieren wéi ni virdrun, well et gëtt kee Proxy fir Kommunikatioun: weder den Testmanager nach Matbierger Tester.
  • D'Immersioun am Projet gëtt onheemlech déif, an Dir hutt Informatiounen iwwer all Komponenten, souwuel am Allgemengen an am Detail.
  • D'Entwéckler kucken Iech net als "dee Guy aus dem Test deen net weess wat hie mécht", mee éischter als e Gläichberechtegt deen onheemlech Virdeeler fir d'Team produzéiert mat sengen automatiséierten Tester an Erwaardung vu Bugs, déi an engem spezifesche Bestanddeel vun der Produit.
  • Als Resultat sidd Dir méi effektiv, méi qualifizéiert a méi gefrot.

Wéi de Projet gewuess ass, sinn ech an 100% vun de Fäll e Mentor fir nei Tester ginn, hinnen geléiert an d'Wëssen weiderginn, déi ech selwer geléiert hunn. Zur selwechter Zäit, ofhängeg vum Projet, krut ech net ëmmer den héchsten Niveau vun Autotest Spezialisten aus der Gestioun an et war e Besoin fir se entweder an der Automatioun ze trainéieren (fir déi interesséiert) oder Tools ze kreéieren fir an alldeeglechen Aktivitéiten (Tools) ze benotzen fir Daten ze generéieren an se an de System ze lueden, e Tool fir Laaschtest / Stabilitéitstest "séier", etc.).

Beispill vun engem spezifesche Projet

Leider, wéinst Net-Offenbarungsverpflichtungen, kann ech net am Detail iwwer d'Projete schwätzen, un deenen ech geschafft hunn, awer ech ginn Beispiller vun typesch Aufgaben vun engem Data Quality Engineer op ee vun de Projeten.

D'Essenz vum Projet ass eng Plattform ëmzesetzen fir Donnéeën ze preparéieren fir Training Maschinn Léieren Modeller baséiert op et. De Client war eng grouss pharmazeutesch Firma aus den USA. Technesch war et e Cluster Kubernetes, opstinn AWS EC2 Instanzen, mat verschiddene Mikroservicer an dem ënnerierdesche Open Source Projet vun EPAM - ugeschloss, ugepasst un d'Bedierfnesser vun engem spezifesche Client (elo ass de Projet nei gebuer ginn odahu). ETL Prozesser goufen organiséiert benotzt apache Loftfloss an geplënnert Daten aus Salesforce Client Systemer an AWS S3 Eemer. Als nächst gouf en Docker-Bild vun engem Maschinnléiermodell op d'Plattform ofgesat, déi op frëschen Donnéeën trainéiert gouf an, mat der REST API Interface, Prognosen produzéiert déi fir d'Geschäft interessant waren a spezifesch Probleemer geléist hunn.

Visuell huet alles sou ausgesinn:

Grouss a kleng Daten Tester: Trends, Theorie, meng Geschicht
Et gouf vill funktionell Tester op dësem Projet, a mat der Geschwindegkeet vun der Feature Entwécklung an der Bedierfnes fir den Tempo vum Verëffentlechungszyklus z'erhalen (zwee-Woche Sprints), war et néideg direkt un d'Automatiséierung vun Testen vun de kriteschste Komponente vun de System. Déi meescht vun der Kubernetes-baséiert Plattform selwer gouf vun Autotester ëmgesat an Roboter Kader + Python, awer et war och néideg fir se z'ënnerstëtzen an auszebauen. Zousätzlech, fir d'Bequemlechkeet vum Client, gouf e GUI erstallt fir Maschinnléiermodeller ze verwalten, déi an de Cluster ofgesat ginn, souwéi d'Fäegkeet ze spezifizéieren wou a wou Daten musse transferéiert ginn fir d'Modeller ze trainéieren. Dës extensiv Ergänzung huet eng Expansioun vun automatiséierter funktionneller Tester gefouert, déi meeschtens duerch REST API Uriff an eng kleng Unzuel vun End-2-End UI Tester gemaach gouf. Ronderëm den Equator vun all dëser Bewegung ware mir vun engem manuellen Tester ugeschloss, deen eng exzellent Aarbecht gemaach huet mat Akzeptanztest vu Produktversioune a Kommunikatioun mam Client iwwer d'Akzeptanz vun der nächster Verëffentlechung. Ausserdeem konnten mir, duerch d'Arrivée vun engem neie Spezialist, eis Aarbecht dokumentéieren an e puer ganz wichteg manuell Kontrollen derbäisetzen, déi direkt schwéier ze automatiséieren waren.

A schliisslech, nodeems mir Stabilitéit vun der Plattform an dem GUI Add-on doriwwer erreecht hunn, hu mir ugefaang ETL Pipelines ze bauen mat Apache Airflow DAGs. Automatiséiert Datequalitéitskontrolle gouf duerch Schreiwen vun speziellen Airflow DAGs duerchgefouert, déi d'Donnéeën iwwerpréift hunn op Basis vun de Resultater vum ETL-Prozess. Als Deel vun dësem Projet ware mir Gléck an de Client huet eis Zougang zu anonymiséierte Datesets ginn, op deenen mir getest hunn. Mir hunn d'Daten Linn fir Zeil iwwerpréift fir d'Konformitéit mat Typen, d'Präsenz vu gebrochenen Donnéeën, d'Gesamtzuel vun den Opzeechnungen virun an no, Verglach vun Transformatiounen, déi vum ETL-Prozess fir Aggregatioun gemaach goufen, Ännere vun de Kolonnennamen, an aner Saachen. Zousätzlech goufen dës Kontrollen op verschidden Datequellen skaléiert, zum Beispill, nieft SalesForce, och op MySQL.

Finale Datequalitéitskontrolle goufen schonn um S3 Niveau duerchgefouert, wou se gespäichert goufen a prett waren fir ze benotzen fir Maschinn Léieren Modeller ze trainéieren. Fir Daten aus der Finale CSV Datei op der S3 Bucket ze kréien an ze validéieren, gouf Code geschriwwe benotzt boto3 Clienten.

Et war och eng Fuerderung vum Client fir en Deel vun den Donnéeën an engem S3 Bucket ze späicheren an an engem aneren deelzehuelen. Dëst erfuerdert och zousätzlech Schecken ze schreiwen fir d'Zouverlässegkeet vun esou Sortéierungen ze kontrolléieren.

Generaliséiert Erfahrung vun anere Projeten

E Beispill vun der allgemengster Lëscht vun Aktivitéite vun engem Datequalitéitsingenieur:

  • Bereet Testdaten (gülteg ongülteg grouss kleng) duerch en automatiséiert Tool.
  • Eroplueden de preparéierten Dateset op d'originell Quell a kontrolléiert ob se prett ass fir ze benotzen.
  • Lancéiere ETL Prozesser fir d'Veraarbechtung vun engem Set vun Daten aus der Quelllagerung op d'Finale oder Zwëschenlagerung mat engem bestëmmte Set vun Astellungen (wa méiglech, konfiguréierbar Parameter fir d'ETL Aufgab setzen).
  • Verifizéieren d'Donnéeën, déi vum ETL-Prozess veraarbecht ginn, fir hir Qualitéit a Konformitéit mat Geschäftsfuerderunge.

Zur selwechter Zäit sollt den Haaptfokus vun de Kontrollen net nëmmen op d'Tatsaach sinn datt den Datefloss am System am Prinzip geschafft huet a fäerdeg ass (wat en Deel vum funktionnellen Test ass), mee meeschtens op d'Kontroll an d'Validatioun vun Daten fir Konformitéit mat erwaarten Ufuerderungen, Identifikatioun vun Anomalien an aner Saachen.

Tools

Eng vun den Techniken fir esou Datekontrolle kann d'Organisatioun vu Kettenkontrolle bei all Etapp vun der Dateveraarbechtung sinn, déi sougenannte "Datenkette" an der Literatur - Kontroll vun Daten aus der Quell bis zum Schluss vun der Benotzung. Dës Aarte vu Kontrollen ginn am meeschten ëmgesat andeems Dir SQL Ufroen schreift. Et ass kloer datt sou Ufroe sou liicht wéi méiglech solle sinn an eenzel Stécker vun der Datequalitéit iwwerpréift (Tabellen Metadaten, eidel Linnen, NULLs, Feeler an der Syntax - aner Attributer erfuerderlech fir ze kontrolléieren).

Am Fall vun der Regressiounstest, déi fäerdeg gemaach (onverännerbar, liicht verännerbar) Datesets benotzt, kann den Autotestcode fäerdege Templates späicheren fir d'Date fir d'Konformitéit mat der Qualitéit ze kontrolléieren (Beschreiwunge vun erwaarten Tabellemetadaten; Zeilprobeobjekter déi kënne sinn während dem Test zoufälleg ausgewielt, etc.).

Och beim Testen musst Dir ETL Testprozesser schreiwen mat Kaderen wéi Apache Airflow, Apache Spark oder souguer e Black-Box Cloud-Typ Tool GCP Dataprep, GCP Dataflow A sou weider. Dës Situatioun forcéiert den Testingenieur sech an d'Prinzipien vun der Operatioun vun den uewe genannten Tools z'entdecken an nach méi effektiv souwuel funktionell Tester ze maachen (zum Beispill existéierend ETL Prozesser op engem Projet) a benotzen se fir Daten ze kontrolléieren. Besonnesch Apache Airflow huet fäerdeg Betreiber fir zum Beispill mat populäre analyteschen Datenbanken ze schaffen GCP BigQuery. Déi elementarst Beispill vu senger Benotzung ass scho beschriwwe ginn hei, also wäert ech mech net widderhuelen.

Nieft fäerdege Léisungen verbitt keen Iech Är eegen Techniken an Tools ëmzesetzen. Dëst wäert net nëmme fir de Projet profitéieren, mee och fir den Data Quality Engineer selwer, deen domat seng technesch Horizont a Kodéierungsfäegkeeten verbessert.

Wéi et op engem richtege Projet funktionnéiert

Eng gutt Illustratioun vun de leschten Abschnitter iwwer d'"Datenkette", ETL an ubiquitär Kontrollen ass de folgende Prozess vun engem vun de richtege Projeten:

Grouss a kleng Daten Tester: Trends, Theorie, meng Geschicht

Hei ginn verschidden Donnéeën (natierlech vun eis virbereet) an den Input "Trichter" vun eisem System an: gëlteg, ongëlteg, gemëscht, asw., da gi se gefiltert an enden an enger Zwëschespäicherung, dann ënnerleien se erëm eng Rei vun Transformatiounen a ginn an d'Finale Späichere plazéiert, aus deem dann och Analyse, Baudatenmarts a Sich no geschäftlechen Abléck duerchgefouert ginn. An esou engem System, ouni funktionell d'Operatioun vun ETL Prozesser ze kontrolléieren, konzentréiere mir eis op d'Qualitéit vun den Donnéeën virun an no Transformatiounen, wéi och op d'Output fir d'Analyse.

Fir dat uewen ze resuméieren, onofhängeg vun de Plazen wou ech geschafft hunn, iwwerall war ech an Dateprojeten involvéiert déi folgend Features gedeelt hunn:

  • Nëmmen duerch Automatisatioun kënnt Dir e puer Fäll testen an e Release Zyklus akzeptabel fir d'Geschäft erreechen.
  • En Tester op esou engem Projet ass ee vun de meescht respektéierte Membere vum Team, well et grouss Virdeeler fir jidderee vun de Participanten bréngt (Beschleunegung vum Test, gutt Daten vum Data Scientist, Identifikatioun vu Mängel an de fréie Stadien).
  • Et ass egal ob Dir un Ärer eegener Hardware oder an de Wolleken schafft - all Ressourcen ginn an e Cluster abstrakt wéi Hortonworks, Cloudera, Mesos, Kubernetes, etc.
  • Projete ginn op enger Mikroservice Approche gebaut, verdeelt a parallel Informatik dominéieren.

Ech wëll bemierken datt wann Dir Tester am Beräich vun der Datequalitéit mécht, en Testspezialist säi professionelle Fokus op de Code vum Produkt an d'Tools verännert.

Distinctive Fonctiounen vun Daten Qualitéit Testen

Zousätzlech, fir mech selwer, hunn ech déi folgend identifizéiert (ech wäert direkt eng Reservatioun maachen, datt se ganz generaliséiert an exklusiv subjektiv sinn) ënnerscheedlech Charakteristike vun Testen an Data (Big Data) Projeten (Systemer) an aner Beräicher:

Grouss a kleng Daten Tester: Trends, Theorie, meng Geschicht

Nëtzlech Adressen

  1. Theorie: DAMA-DMBOK: Data Management Body of Knowledge: 2. Editioun.
  2. Training Zentrum EPAM 
  3. Recommandéiert Material fir en Ufank Data Quality Ingenieur:
    1. Gratis Kurs iwwer Stepik: Aféierung an Datenbanken
    2. Cours iwwer LinkedIn Learning: Data Science Fundamenter: Data Engineering.
    3. Artikelen:
    4. Video:

Konklusioun

Datenqualitéit ass eng ganz jonk villverspriechend Richtung, en Deel vun deem heescht en Deel vun engem Startup ze sinn. Eemol an der Datequalitéit sidd Dir an enger grousser Zuel vu modernen, gefroten Technologien ënnerdaach, awer am wichtegsten, enorm Méiglechkeete ginn Iech op fir Är Iddien ze generéieren an ëmzesetzen. Dir wäert fäeg sinn déi kontinuéierlech Verbesserung Approche net nëmmen am Projet ze benotzen, awer och fir Iech selwer, kontinuéierlech als Spezialist entwéckelen.

Source: will.com

Setzt e Commentaire