Podatkovni inženir in podatkovni znanstvenik: kakšna je razlika?

Poklica Data Scientist in Data Engineer se pogosto zamenjujeta. Vsako podjetje ima svoje specifike dela s podatki, različne namene njihove analize in različno predstavo o tem, kateri strokovnjak naj se ukvarja s katerim delom dela, zato ima vsako svoje zahteve. 

Ugotovimo, kakšna je razlika med temi strokovnjaki, katere poslovne težave rešujejo, kakšna znanja imajo in koliko zaslužijo. Gradiva se je izkazalo za veliko, zato smo ga razdelili v dve publikaciji.

V prvem članku Elena Gerasimova, vodja fakultete "Podatkovna znanost in analitika" v netologiji, pove, kakšna je razlika med podatkovnim znanstvenikom in podatkovnim inženirjem ter s kakšnimi orodji delata.

Kako se razlikujejo vloge inženirjev in znanstvenikov

Podatkovni inženir je specialist, ki na eni strani razvija, testira in vzdržuje podatkovno infrastrukturo: baze podatkov, sisteme za shranjevanje in množično obdelavo. Po drugi strani pa je ta tisti, ki čisti in »češe« podatke za uporabo analitikov in podatkovnih znanstvenikov, torej ustvarja cevovode za obdelavo podatkov.

Data Scientist ustvarja in usposablja napovedne (in druge) modele z uporabo algoritmov strojnega učenja in nevronskih mrež, s čimer podjetjem pomaga najti skrite vzorce, predvideti razvoj in optimizirati ključne poslovne procese.

Glavna razlika med podatkovnim znanstvenikom in podatkovnim inženirjem je, da imata običajno različne cilje. Oba si prizadevata zagotoviti, da so podatki dostopni in visokokakovostni. Toda podatkovni znanstvenik najde odgovore na svoja vprašanja in preizkusi hipoteze v podatkovnem ekosistemu (na primer na podlagi Hadoopa), podatkovni inženir pa ustvari cevovod za servisiranje algoritma strojnega učenja, ki ga je napisal podatkovni znanstvenik v gruči Spark znotraj istega ekosistem. 

Podatkovni inženir prinaša vrednost podjetju s tem, da dela kot del ekipe. Njegova naloga je delovati kot pomemben vezni člen med različnimi udeleženci: od razvijalcev do poslovnih potrošnikov poročanja ter povečevati produktivnost analitikov, od marketinga in produkta do BI. 

Podatkovni znanstvenik, nasprotno, aktivno sodeluje pri strategiji podjetja in pridobivanju vpogledov, sprejemanju odločitev, izvajanju algoritmov za avtomatizacijo, modeliranju in ustvarjanju vrednosti iz podatkov.
Podatkovni inženir in podatkovni znanstvenik: kakšna je razlika?

Delo s podatki je podvrženo principu GIGO (garbage in - garbage out): če se analitiki in podatkovni znanstveniki ukvarjajo z nepripravljenimi in potencialno napačnimi podatki, bodo rezultati tudi z uporabo najbolj sofisticiranih analitičnih algoritmov napačni. 

Podatkovni inženirji to težavo rešujejo tako, da zgradijo cevovode za obdelavo, čiščenje in preoblikovanje podatkov ter podatkovnim znanstvenikom omogočijo delo z visokokakovostnimi podatki. 

Na trgu je veliko orodij za delo s podatki, ki pokrivajo vse faze: od videza podatkov do izhoda do nadzorne plošče za upravni odbor. In pomembno je, da odločitev o njihovi uporabi sprejme inženir - ne zato, ker je to modno, ampak zato, ker bo resnično pomagal pri delu drugih udeležencev v procesu. 

Običajno: če mora podjetje vzpostaviti povezave med BI in ETL - nalaganje podatkov in posodabljanje poročil, je tukaj tipična zapuščena podlaga, s katero se bo moral ukvarjati podatkovni inženir (dobro je, če je v ekipi tudi arhitekt).

Odgovornosti podatkovnega inženirja

  • Razvoj, izgradnja in vzdrževanje infrastrukture za obdelavo podatkov.
  • Obravnava napak in ustvarjanje zanesljivih cevovodov za obdelavo podatkov.
  • Priprava nestrukturiranih podatkov iz različnih dinamičnih virov v obliko, ki je potrebna za delo analitikov.
  • Zagotavljanje priporočil za izboljšanje doslednosti in kakovosti podatkov.
  • Zagotavljanje in vzdrževanje podatkovne arhitekture, ki jo uporabljajo podatkovni znanstveniki in podatkovni analitiki.
  • Obdelujte in shranjujte podatke dosledno in učinkovito v porazdeljeni gruči desetin ali stotin strežnikov.
  • Ocenite tehnične kompromise orodij za ustvarjanje preprostih, a robustnih arhitektur, ki lahko preživijo motnje.
  • Nadzor in podpora podatkovnih tokov in povezanih sistemov (nastavitev monitoringa in alarmiranja).

Obstaja še ena specializacija znotraj poti Data Engineer – ML inženir. Skratka, ti inženirji so specializirani za uvajanje modelov strojnega učenja v industrijsko implementacijo in uporabo. Pogosto je model, prejet od podatkovnega znanstvenika, del študije in morda ne bo deloval v bojnih razmerah.

Odgovornosti podatkovnega znanstvenika

  • Pridobivanje funkcij iz podatkov za uporabo algoritmov strojnega učenja.
  • Uporaba različnih orodij za strojno učenje za napovedovanje in razvrščanje vzorcev v podatkih.
  • Izboljšanje učinkovitosti in natančnosti algoritmov strojnega učenja s fino nastavitvijo in optimizacijo algoritmov.
  • Oblikovanje »močnih« hipotez v skladu s strategijo podjetja, ki jih je treba testirati.

Tako Data Engineer kot Data Scientist imata oprijemljiv prispevek k razvoju podatkovne kulture, s pomočjo katere lahko podjetje ustvari dodaten dobiček ali zmanjša stroške.

S katerimi jeziki in orodji delajo inženirji in znanstveniki?

Danes so se pričakovanja podatkovnih znanstvenikov spremenila. Prej so inženirji zbirali velike poizvedbe SQL, ročno pisali MapReduce in obdelovali podatke z orodji, kot so Informatica ETL, Pentaho ETL, Talend. 

Leta 2020 specialist ne more brez poznavanja Pythona in sodobnih orodij za izračun (na primer Airflow), razumevanja načel dela z oblačnimi platformami (z njihovo uporabo za varčevanje s strojno opremo, ob upoštevanju varnostnih načel).

SAP, Oracle, MySQL, Redis so tradicionalna orodja za podatkovne inženirje v velikih podjetjih. So dobri, vendar so stroški licenc tako visoki, da je učenje dela z njimi smiselno samo v industrijskih projektih. Hkrati obstaja brezplačna alternativa v obliki Postgresa - je brezplačen in primeren ne le za usposabljanje. 

Podatkovni inženir in podatkovni znanstvenik: kakšna je razlika?
V preteklosti pogosto najdemo zahteve za Javo in Scalo, čeprav z razvojem tehnologij in pristopov ti jeziki zbledijo v ozadje.

Vendar hardcore BigData: Hadoop, Spark in preostali živalski vrt ni več predpogoj za podatkovnega inženirja, temveč nekakšna orodja za reševanje problemov, ki jih tradicionalni ETL ne more rešiti. 

V trendu so storitve za uporabo orodij brez znanja jezika, v katerem so napisana (na primer Hadoop brez znanja Jave), pa tudi zagotavljanje že pripravljenih storitev za obdelavo pretočnih podatkov (prepoznavanje glasu ali prepoznavanje slike na videu). ).

Priljubljene so industrijske rešitve SAS in SPSS, medtem ko podatkovni znanstveniki pogosto uporabljajo Tableau, Rapidminer, Stata in Julia za lokalne naloge.

Podatkovni inženir in podatkovni znanstvenik: kakšna je razlika?
Sposobnost, da sami zgradijo cevovode, se je analitikom in podatkovnim znanstvenikom pojavila šele pred nekaj leti: na primer, že je mogoče poslati podatke v shrambo, ki temelji na PostgreSQL, z relativno preprostimi skripti. 

Običajno uporaba cevovodov in integriranih podatkovnih struktur ostaja odgovornost podatkovnih inženirjev. Toda danes je trend specialistov v obliki črke T s širokimi kompetencami na sorodnih področjih močnejši kot kdaj koli prej, saj se orodja nenehno poenostavljajo.

Zakaj podatkovni inženir in podatkovni znanstvenik delata skupaj

S tesnim sodelovanjem z inženirji se lahko Data Scientists osredotočijo na raziskovalno plat in ustvarijo algoritme strojnega učenja, pripravljene za proizvodnjo.
In inženirji se morajo osredotočiti na razširljivost, ponovno uporabo podatkov in zagotavljanje, da so cevovodi za vnos in izhod podatkov v vsakem posameznem projektu skladni z globalno arhitekturo.

Ta ločitev odgovornosti zagotavlja doslednost med ekipami, ki delajo na različnih projektih strojnega učenja. 

Sodelovanje pomaga pri učinkovitem ustvarjanju novih izdelkov. Hitrost in kakovost sta doseženi z ravnovesjem med ustvarjanjem storitve za vsakogar (globalno shranjevanje ali integracija nadzornih plošč) in izvajanjem vsake posebne potrebe ali projekta (visoko specializiran cevovod, povezovanje zunanjih virov). 

Tesno sodelovanje s podatkovnimi znanstveniki in analitiki pomaga inženirjem razviti analitične in raziskovalne sposobnosti za pisanje boljše kode. Izboljša se izmenjava znanja med uporabniki skladišč in podatkovnega jezera, zaradi česar so projekti bolj prožni in zagotavljajo bolj trajnostne dolgoročne rezultate.

V podjetjih, ki želijo razviti kulturo dela s podatki in na njihovi podlagi graditi poslovne procese, se Data Scientist in Data Engineer dopolnjujeta in ustvarjata celovit sistem za analizo podatkov. 

V naslednjem članku bomo govorili o tem, kakšno izobrazbo morajo imeti podatkovni inženirji in podatkovni znanstveniki, katere veščine morajo razviti in kako deluje trg.

Od urednikov revije Netology

Če iščete poklic podatkovnega inženirja ali podatkovnega znanstvenika, vas vabimo k študiju naših programov tečajev:

Vir: www.habr.com

Dodaj komentar