Testerê daneya mezin û piçûk: meyl, teorî, çîroka min

Silav her kes, navê min Alexander e, û ez endezyarek Kalîteya Daneyê me ku daneyan ji bo kalîteya wê kontrol dike. Ev gotar dê li ser vê yekê biaxive ka ez çawa hatim vê yekê û çima di sala 2020-an de ev qada ceribandinê li ser pêla pêlekê bû.

Testerê daneya mezin û piçûk: meyl, teorî, çîroka min

trend global

Dinyaya îroyîn şoreşek teknolojiyek din diceribîne, yek aliyek wê karanîna daneyên berhevkirî ji hêla her cûre pargîdanî ve ji bo pêşvebirina firotana xwe ya firotanê, berjewendî û PR-ê ye. Wusa dixuye ku hebûna daneyên baş (kalîteyê), û her weha mejiyên jêhatî yên ku dikarin jê drav bidin qezenc kirin (rast pêvajo kirin, xuyang kirin, modelên fêrbûna makîneyê ava bikin, hwd.), îro ji bo gelek kesan bûne mifteya serkeftinê. Ger 15-20 sal berê pargîdaniyên mezin bi giranî bi berhevkirina daneyan û diravîkirinê re mijûl dibûn, îro ev der barê hemî mirovên aqilmend e.

Di vî warî de, çend sal berê, hemî portalên ku ji bo lêgerînên kar li çaraliyê cîhanê hatine veqetandin, dest pê kirin ku bi valahiyên Daneyên Zanistê ve werin dagirtin, ji ber ku her kes pê bawer bû ku, bi kirêkirina pisporek wusa, ew dikarin supermodelek fêrbûna makîneyê ava bikin, pêşerojê pêşbîn bikin. û ji bo pargîdaniyê "leapek quantum" pêk bînin. Bi demê re, mirov fêm kir ku ev nêzîkatî hema hema qet li cîhek naxebite, ji ber ku ne hemî daneyên ku dikevin destê pisporên weha ji bo modelên perwerdehiyê maqûl in.

Û daxwazên Zanyarên Danezan dest pê kir: "Werin em ji van û wan bêtir daneyan bikirin...", "Daneyên me têrê nakin...", "Pêdiviya me bi hin daneyên din heye, bijare ya bi kalîte..." . Li ser bingeha van daxwazan, di navbera pargîdaniyên ku xwedan yek an komek daneyê ne de gelek têkilî dest pê kirin. Bi xwezayî, ev pêdivî bi organîzasyona teknîkî ya vê pêvajoyê hebû - girêdana bi çavkaniya daneyê, dakêşana wê, kontrolkirina ku ew bi tevahî hatî barkirin, hwd. pispor - Endezyarên Qalîteya Daneyê - yên ku dê herikîna daneyan di pergalê de (boriyên daneyê), kalîteya daneyê di ketin û derketinê de bişopînin, û di derbarê têrbûn, yekbûn û taybetmendiyên din de encaman derxînin.

Meyla endezyarên Qalîteya Daneyê ji DY hat ji me re, li wir, di nav serdema xezeb a kapîtalîzmê de, kes ne amade ye ku şerê daneyan winda bike. Li jêr min dîmenên ji du malperên lêgerîna kar ên herî populer ên Dewletên Yekbûyî peyda kirine: www.monster.com и www.dice.com - ku daneyên ji 17ê Adar, 2020-an de li ser hejmara valahiyên hatine şandin bi karanîna peyvên sereke destnîşan dike: Qalîteya Daneyê û Zanyarê Daneyê.

www.monster.com

Zanyarên Daneyên - 21416 valahiyên
Quality Data - 41104 valahiyên

Testerê daneya mezin û piçûk: meyl, teorî, çîroka min
Testerê daneya mezin û piçûk: meyl, teorî, çîroka min

www.dice.com

Zanyarên Daneyên - 404 valahiyên
Kalîteya Daneyê - 2020 valahiyên

Testerê daneya mezin û piçûk: meyl, teorî, çîroka min
Testerê daneya mezin û piçûk: meyl, teorî, çîroka min

Eşkere ye ku ev pîşe bi tu awayî bi hev re hevrikiyê nakin. Bi dîmenan re, min tenê xwest ku rewşa heyî ya li ser bazara kedê di warê daxwazên endezyarên Qalîteya Daneyê de, yên ku niha ji Zanistên Daneyê pir zêdetir hewce ne, ronî bikim.

Di Hezîrana 2019-an de, EPAM, bersivê dide hewcedariyên bazara IT-ya nûjen, Qalîteya Daneyê di pratîkek cûda de veqetand. Endezyarên Kalîteya Daneyê, di dema xebata xwe ya rojane de, daneyan bi rê ve dibin, di şert û pergalên nû de tevgera wê kontrol dikin, têkildariya daneyan, têrbûn û têkildariya wê dişopînin. Bi van hemîyan re, di wateya pratîkî de, endezyarên Qalîteya Daneyê bi rastî demek hindik ji ceribandina fonksiyonê ya klasîk re vediqetînin, BİXWÎNE ev pir bi projeyê ve girêdayî ye (ez ê mînakek li jêr bidim).

Berpirsiyarên endezyarek Kalîteya Daneyê ne tenê bi kontrolên birêkûpêk / otomatîkî yên rûtîn ên ji bo "nûl, hejmartin û berhevok" di tabloyên databasê de sînordar in, lê têgihîştinek kûr a hewcedariyên karsaziya xerîdar hewce dike û, li gorî vê yekê, şiyana veguheztina daneyên berdest di nav de. agahdariya karsaziya kêrhatî.

Teoriya Kalîteya Daneyê

Testerê daneya mezin û piçûk: meyl, teorî, çîroka min

Ji bo ku em rola endezyarek wusa bi tevahî xeyal bikin, em fêhm bikin ka di teorîyê de Kalîteya Daneyê çi ye.

Kalîteya Data - yek ji qonaxên Rêvebiriya Daneyê (tevahiya cîhanek ku em ê ji we re bihêlin ku hûn bixwe bixwînin) û berpirsiyar e ku daneyên li gorî pîvanên jêrîn analîz bike:

Testerê daneya mezin û piçûk: meyl, teorî, çîroka min
Ez difikirim ku ne hewce ye ku her yek ji xalan deşîfre bike (di teoriyê de ji wan re "dimenên daneyê" tê gotin), ew di wêneyê de pir xweş têne vegotin. Lê pêvajoya ceribandinê bixwe nayê vê wateyê ku bi tundî van taybetmendiyan di dozên ceribandinê de kopî bike û wan kontrol bike. Di Qalîteya Daneyê de, wekî her celeb ceribandinek din, pêdivî ye, berî her tiştî, li ser daxwazên kalîteya daneyê yên ku bi beşdarên projeyê re ku biryarên karsaziyê digirin li ser lihevhatin ava bikin.

Bi projeya Kalîteya Daneyê ve girêdayî, endezyarek dikare fonksiyonên cihêreng pêk bîne: ji ceribandinek otomatîkî ya asayî bi nirxandinek serpêhatî ya kalîteya daneyê, heya kesek ku li gorî pîvanên jorîn profîla kûr a daneyan pêk tîne.

Danasînek pir berfireh a Rêvebiriya Daneyê, Qalîteya Daneyê û pêvajoyên têkildar di pirtûka bi navê de baş tê vegotin "DAMA-DMBOK: Daneyên Rêvebiriya Daneyên Zanînê: Çapa 2yemîn". Ez vê pirtûkê wekî danasîna vê mijarê pir pêşniyar dikim (hûn ê di dawiya gotarê de lînka wê bibînin).

Îroka min

Di pîşesaziya IT-ê de, min ji ceribandinek Junior di pargîdaniyên hilberê de berbi Endezyarek Kalîteya Daneyên Serek li EPAM-ê ve xebitî. Piştî nêzîkê du salan ji xebata wekî ceribandinê, min di wê baweriyê de bû ku min bi tevahî hemî cûreyên ceribandinê kiriye: paşveçûn, fonksiyonel, stres, aramî, ewlehî, UI, hwd. - û hejmareke mezin ji amûrên ceribandinê ceribandibû, ku xwedî di heman demê de di sê zimanên bernamesaziyê de xebitî: Java, Scala, Python.

Li paş mêze dikim, ez fêm dikim ka çima berhevoka jêhatîbûna min ew qas cihêreng bû - ez beşdarî projeyên dane-rêvekirî, mezin û piçûk bûm. Ya ku min anî cîhanek gelek amûr û derfetên mezinbûnê ev e.

Ji bo ku hûn cûrbecûr amûr û fersendên ji bo bidestxistina zanîn û jêhatîbûnên nû binirxînin, tenê li wêneya jêrîn binêrin, ku yên herî populer ên di cîhana "Daneyên & AI" de nîşan dide.

Testerê daneya mezin û piçûk: meyl, teorî, çîroka min
Ev celeb nîgar her sal ji hêla yek ji sermayedarên navdar Matt Turck ve, ku ji pêşkeftina nermalavê tê, tê berhev kirin. Vir pirtûk ji bo bloga xwe û fîrmaya sermayeyê, ku ew wek hevkar dixebite.

Ez bi taybetî zû bi profesyonelî mezin bûm dema ku ez tenê ceribandina projeyê bûm, an bi kêmanî di destpêka projeyê de. Di demek wusa de ye ku hûn neçar in ku ji tevahiya pêvajoya ceribandinê berpirsiyar bin, û fersendek we tune ku hûn paşde biçin, tenê pêşde. Di destpêkê de ew tirsnak bû, lê naha hemî avantajên ceribandinek wusa ji min re diyar in:

  • Hûn dest pê dikin ku bi tevahî tîmê re mîna berê berê danûstendinê bikin, ji ber ku ji bo danûstendinê proxyek tune: ne rêveberê testê û ne jî hevalên ceribandin.
  • Di nav projeyê de binavbûna pir kûr dibe, û hûn di derbarê hemî pêkhatan de, hem bi gelemperî hem jî bi hûrgulî agahdarî hene.
  • Pêşdebir li we ne wekî "ew zilamê ceribandinê yê ku nizane ew çi dike" nanihêrin, lê ji bilî wekî wekhevek ku bi ceribandinên xweyên otomatîkî û bendewariya xeletiyên ku di pêkhateyek taybetî ya tîmê de xuya dibin feydeyên bêhempa ji tîmê re çêdike nabînin. mal.
  • Wekî encamek, hûn bi bandortir, jêhatîtir û bêtir daxwaz in.

Her ku proje mezin bû, di 100% bûyeran de ez bûm şêwirmendê ceribandinên nû, fêrî wan kirim û zanîna ku min bi xwe fêr bûbû derbas kir. Di heman demê de, li gorî projeyê, min her gav asta herî bilind a pisporên ceribandina otomatê ji rêveberiyê wernegirt û hewce bû ku wan di otomatê de (ji bo kesên eleqedar) perwerde bikim an jî amûrên ji bo karanîna di çalakiyên rojane de biafirînim (alavên ji bo hilberîna daneyan û barkirina wan di pergalê de, amûrek ji bo pêkanîna ceribandina barkirinê / ceribandina aramiyê "zû" û hwd.).

Mînakek projeyek taybetî

Mixabin, ji ber berpirsiyariyên ne-aşkerekirinê, ez nikarim bi hûrgulî li ser projeyên ku ez li ser dixebitim biaxivim, lê ez ê nimûneyên karên tîpîk ên Endezyarek Kalîteya Daneyê li ser yek ji projeyan bidim.

Esasê projeyê ev e ku platformek ji bo amadekirina daneyan ji bo perwerdekirina modelên fêrbûna makîneyê li ser bingeha wê bicîh bike. Xerîdar pargîdaniyek mezin a dermansaziyê ji DY bû. Ji hêla teknîkî ve ew komek bû Kubernetes, rabûne ber AWS EC2 nimûne, bi gelek mîkroxizmet û projeya bingehîn ya Çavkaniya Vekirî ya EPAM - liq, li gorî hewcedariyên xerîdarek taybetî hate adaptekirin (niha proje ji nû ve ji nû ve çêbûye odahu). Pêvajoyên ETL bi kar hatin organîze kirin hewaya apache û daneyên ji Salesforce sîstemên mişterî li AWS S3 Buckets. Dûv re, wêneyek Docker a modelek fêrbûna makîneyê li ser platformê hate bicîh kirin, ku li ser daneyên nû hate perwerde kirin û, bi karanîna navbeynkariya REST API, pêşbîniyên ku ji karsaziyê re eleqedar bûn hilberand û pirsgirêkên taybetî çareser kir.

Bi dîtbarî, her tişt bi vî rengî xuya bû:

Testerê daneya mezin û piçûk: meyl, teorî, çîroka min
Li ser vê projeyê gelek ceribandinên fonksîyonel hebûn, û ji ber leza pêşkeftina taybetmendiyê û hewcedariya domandina leza çerxa berdanê (sprintên du-hefteyî), pêdivî bû ku tavilê li ser ceribandina otomatîkî ya hêmanên herî krîtîk bifikirin. sîstemê. Piraniya platforma Kubernetes-ê bixwe ji hêla ototestên ku tê de hatine bicîh kirin ve hatî vegirtin Çarçoveya Robot + Python, lê di heman demê de pêdivî bû ku piştgirî û berfirehkirina wan jî were kirin. Digel vê yekê, ji bo rehetiya xerîdar, GUI hate afirandin ku modelên fêrbûna makîneyê yên ku li komê hatine bicîh kirin bi rêve bibe, û her weha şiyana ku diyar bike li ku û ku derê pêdivî ye ku dane ji bo perwerdekirina modelan werin veguheztin. Vê pêvekek berfireh berferehkirina ceribandina fonksiyonê ya otomatîkî pêk anî, ku bi piranî bi bangên REST API û hejmarek piçûk ceribandinên UI-ya dawî-2-dawî hate kirin. Li dora ekvatora hemî vê tevgerê, em bi ceribandinek destan re bûn ku bi ceribandina pejirandinê ya guhertoyên hilberê re û bi xerîdar re di derbarê pejirandina serbestberdana paşîn de karek hêja kir. Wekî din, ji ber hatina pisporek nû, me karî xebata xwe belge bikin û çend kontrolên destan ên pir girîng ên ku di cih de otomatîkkirina wan dijwar bû lê zêde bikin.

Û di dawiyê de, piştî ku me ji platformê û pêveka GUI ya li ser wê aramî bi dest xist, me bi karanîna Apache Airflow DAGs dest bi avakirina boriyên ETL kir. Kontrolkirina kalîteya daneya otomatîk bi nivîsandina DAG-yên taybetî yên Airflow-ê ku daneyan li ser bingeha encamên pêvajoya ETL-ê kontrol dike hate kirin. Wekî beşek ji vê projeyê, em bi şens bûn û xerîdar ji me re gihîştina daneya nenaskirî ya ku me li ser ceribandiye da. Me daneyan rêz bi rêz ji bo lihevhatina bi celeban, hebûna daneyên şikestî, jimara giştî ya tomarên berî û paşê, berhevdana veguherînên ku ji hêla pêvajoya ETL ve hatî çêkirin ji bo berhevkirinê, guheztina navên stûnan, û tiştên din kontrol kirin. Wekî din, ev kontrol li ser çavkaniyên daneya cihêreng hatine pîvandin, mînakî, ji bilî SalesForce, di heman demê de ji MySQL re jî.

Kontrolên kalîteya daneya paşîn jixwe di asta S3 de, ku li wir hatibûn hilanîn û ji bo perwerdekirina modelên fêrbûna makîneyê amade bûn, hatin kirin. Ji bo bidestxistina daneyan ji pelê CSV-ya paşîn a ku li ser S3 Bucket-ê ye û erêkirina wê, kod bi kar hatî nivîsandin xerîdarên boto3.

Di heman demê de ji xerîdar hewce bû ku beşek daneyê li yek S3 Bucket û beşek li yekî din hilîne. Di heman demê de ji bo kontrolkirina pêbaweriya cûrbecûrek weha pêdivî bi nivîsandina kontrolên zêde jî hebû.

Tecrûbeya giştî ya ji projeyên din

Mînakek navnîşa herî gelemperî ya çalakiyên endezyarek Kalîteya Daneyê:

  • Daneyên testê (biçûk mezin nederbasdar) bi navgînek otomatîkî amade bikin.
  • Daneyên amadekirî li çavkaniya orjînal barkirin û kontrol bikin ku ew ji bo karanîna amade ye.
  • Pêvajoyên ETL-ê ji bo hilanîna komek daneyan ji hilana çavkaniyê heya hilanîna paşîn an navîn bi karanîna komek mîhengan dest pê bikin (heke gengaz be, ji bo peywira ETL pîvanên mîhengkirî bicîh bikin).
  • Daneyên ku ji hêla pêvajoya ETL ve hatî hilberandin ji bo kalîteya wê û lihevhatina bi daxwazên karsaziyê verast bikin.

Di heman demê de, divê bala sereke ya kontrolê ne tenê li ser vê yekê be ku herikîna daneyê di pergalê de, di prensîbê de, xebitiye û gihîştiye dawiyê (ku beşek ji ceribandina fonksiyonê ye), lê bi piranî li ser kontrolkirin û pejirandina daneyan be. ji bo lihevhatina bi daxwazên bendewarî, naskirina anomalî û tiştên din.

Amûr

Yek ji teknîkên ji bo kontrolkirina daneyan dikare organîzekirina kontrolên zincîreyê di her qonaxek danûstendina daneyê de be, ku di wêjeyê de jê re tê gotin "zincîra daneyê" - kontrolkirina daneyan ji çavkaniyê heya xala karanîna dawîn. Van cûreyên kontrolê bi piranî bi nivîsandina lêpirsîna SQL-ê ve têne bicîh kirin. Eşkere ye ku pirsên weha divê bi qasî ku pêkan sivik bin û perçeyên ferdî yên kalîteya daneyê kontrol bikin (tabloyên metadata, xêzên vala, NULL, Çewtiyên hevoksaziyê - taybetmendiyên din ên ku ji bo kontrolê hewce ne).

Di mijara ceribandina paşvekêşanê de, ku berhevokên daneya amade (neguhêrbar, hinekî guhêrbar) bikar tîne, koda ototestê dikare şablonên amade hilîne ji bo kontrolkirina daneyan ji bo lihevhatina bi kalîteyê (danasînên metadaneyên tabloyê yên çaverêkirî; tiştên nimûneyên rêzê yên ku dikarin bêne di dema ceribandinê de bi korfelaqî hatine hilbijartin, hwd.).

Di heman demê de, di dema ceribandinê de, pêdivî ye ku hûn pêvajoyên ceribandina ETL-ê bi karanîna çarçoveyên wekî Apache Airflow binivîsin, Apache Spark an tewra amûrek celebê ewr-reş jî GCP Dataprep, GCP Dataflow Wate ya vê çîye. Ev rewş, endezyarê ceribandinê neçar dike ku xwe di prensîbên xebitandina amûrên jorîn de bişewitîne û hê bêtir bi bandor hem ceribandina fonksiyonel bike (mînak, pêvajoyên heyî yên ETL li ser projeyekê) û hem jî wan bikar bîne da ku daneyan kontrol bike. Bi taybetî, Apache Airflow xwedan operatorên amade ne ku bi databasên analîtîk ên populer re bixebitin, mînakî GCP BigQuery. Mînaka herî bingehîn a bikaranîna wê jixwe hatiye diyar kirin vir, ji ber vê yekê ez ê xwe dubare nekim.

Ji bilî çareseriyên amade, tu kes ji we re qedexe nake ku hûn teknîk û amûrên xwe bicîh bikin. Ev ê ne tenê ji bo projeyê, lê di heman demê de ji bo Endezyarê Qalîteya Daneyê bixwe jî sûdmend be, ku bi vî rengî asoyên xwe yên teknîkî û jêhatîbûna kodkirinê çêtir dike.

Çawa ew li ser projeyek rastîn dixebite

Nîşanek baş a paragrafên paşîn ên di derbarê "zincîra daneyê", ETL û kontrolên berbiçav de pêvajoya jêrîn ji yek ji projeyên rastîn e:

Testerê daneya mezin û piçûk: meyl, teorî, çîroka min

Li vir, daneyên cûrbecûr (bi xwezayî, ji hêla me ve hatî amadekirin) dikevin nav "funnel" ya pergala me: derbasdar, nederbasdar, tevlihev, hwd., Dûv re ew têne fîlter kirin û di depoyek navîn de diqedin, dûv re ew dîsa di bin rêzek veguherînan de ne. û di depoya paşîn de têne danîn, ku ji wê derê, di encamê de, analîtîk, avakirina martên daneyê û lêgerîna li têgihîştinên karsaziyê têne kirin. Di pergalek wusa de, bêyî ku bi fonksiyonel operasyona pêvajoyên ETL-ê kontrol bikin, em balê dikişînin ser qalîteya daneyan berî û piştî veguherînan, û her weha li ser encamdana analîtîkê.

Ji bo kurtkirina jor, bêyî ku cîhên ku ez lê dixebitim, li her deverê ez beşdarî projeyên Daneyên ku taybetmendiyên jêrîn parve dikirin bûm:

  • Tenê bi navgîniya otomasyonê hûn dikarin hin bûyeran biceribînin û bigihîjin qonaxek berdanê ya ku ji karsaziyê re tê pejirandin.
  • Testerek li ser projeyek wusa yek ji endamên herî rêzdar ê tîmê ye, ji ber ku ew feydeyên mezin ji her yek ji beşdaran re tîne (lezkirina ceribandinê, daneyên baş ji Zanyarê Daneyê, nasîna kêmasiyan di qonaxên destpêkê de).
  • Ne girîng e ku hûn li ser hardware-ya xwe bixebitin an di ewran de - hemî çavkanî di nav komek wekî Hortonworks, Cloudera, Mesos, Kubernetes, hwd de têne berhev kirin.
  • Proje li ser nêzîkatiyek mîkroxizmetê têne çêkirin, têne belav kirin û hesabkirina paralel serdest e.

Ez dixwazim bibînim ku dema ku di warê Qalîteya Daneyê de ceribandinê dike, pisporek ceribandinê bala xwe ya pîşeyî vediguhêze koda hilberê û amûrên ku têne bikar anîn.

Taybetmendiyên cihêreng ên ceribandina Kalîteya Daneyê

Wekî din, ji bo xwe, min evên jêrîn nas kir (ez ê tavilê veqetandinê bikim ku ew pir gelemperî û bi taybetî subjektîf in) taybetmendiyên cihêreng ên ceribandinê di projeyên (pergalan) Daneyên (Daneyên Mezin) û deverên din de:

Testerê daneya mezin û piçûk: meyl, teorî, çîroka min

Girêdanên bikarhêner

  1. Dîtinî: DAMA-DMBOK: Rêvebiriya Daneyên Zanîngehê: Çapa 2.
  2. Navenda Perwerdehiyê EPAM 
  3. Materyalên pêşniyarkirî ji bo endezyarek kalîteya daneya destpêkê:
    1. Kursa belaş li ser Stepik: Destpêka databases
    2. Kursa li ser fêrbûna LinkedIn: Bingehên Zanistiya Daneyê: Endezyariya Daneyê.
    3. Gotar:
    4. Video:

encamê

Kalîteya Data rêgezek sozdar a pir ciwan e, ku bibe beşek ku tê wateya ku bibe beşek ji destpêkek. Gava ku hûn di Qalîteya Daneyê de, hûn ê di nav hejmareke mezin a teknolojiyên nûjen, yên daxwazkirî de bin, lê ya herî girîng, dê derfetên pir mezin ji we re vebin ku hûn ramanên xwe çêbikin û bicîh bînin. Hûn ê bikaribin ne tenê li ser projeyê, lê di heman demê de ji bo xwe jî, bi domdarî wekî pispor pêşkeftina pêşveçûna domdar bikar bînin.

Source: www.habr.com

Add a comment