Data Engineer i Data Scientist: u čemu je razlika?

Profesije Data Scientist i Data Engineer se često brkaju. Svaka kompanija ima svoje specifičnosti rada sa podacima, različite ciljeve njihove analize i drugačiju ideju o tome koji specijalista treba da se bavi kojim delom posla, pa svako ima svoje zahteve. 

Hajde da shvatimo koja je razlika između ovih stručnjaka, koje poslovne probleme rješavaju, koje vještine posjeduju i koliko zarađuju. Ispostavilo se da je materijal velik, pa smo ga podijelili u dvije publikacije.

U prvom članku Elena Gerasimova, šefica fakulteta “Nauka o podacima i analitika" u Netologiji, govori koja je razlika između Data Scientist i Data Engineer i sa kojim alatima rade.

Kako se uloge inženjera i naučnika razlikuju

Inženjer podataka je stručnjak koji, s jedne strane, razvija, testira i održava infrastrukturu podataka: baze podataka, sisteme za skladištenje i masovnu obradu. S druge strane, to je onaj koji čisti i „češlja“ podatke koje koriste analitičari i data naučnici, odnosno kreira cevovode za obradu podataka.

Data Scientist kreira i trenira prediktivne (i druge) modele koristeći algoritme mašinskog učenja i neuronske mreže, pomažući preduzećima da pronađu skrivene obrasce, predvide razvoj i optimizuju ključne poslovne procese.

Glavna razlika između Data Scientist i Data Engineera je u tome što oni obično imaju različite ciljeve. I jedan i drugi rade na tome da podaci budu dostupni i visokog kvaliteta. Ali, Data Scientist pronalazi odgovore na svoja pitanja i testira hipoteze u ekosistemu podataka (na primjer, baziran na Hadoopu), a Data Engineer kreira cevovod za servisiranje algoritma za mašinsko učenje koji je napisao naučnik podataka u Spark klasteru unutar istog ekosistema. 

Inženjer podataka donosi vrijednost poslu radeći kao dio tima. Njegov zadatak je da djeluje kao važna veza između različitih učesnika: od programera do poslovnih korisnika izvještavanja, te da poveća produktivnost analitičara, od marketinga i proizvoda do BI. 

Data Scientist, naprotiv, aktivno učestvuje u strategiji kompanije i izvlači uvide, donosi odluke, implementira algoritame automatizacije, modelira i stvara vrijednost iz podataka.
Data Engineer i Data Scientist: u čemu je razlika?

Rad s podacima podliježe principu GIGO (smeće u - smeće van): ako analitičari i naučnici podataka rade s nepripremljenim i potencijalno netačnim podacima, onda će rezultati čak i korištenjem najsofisticiranijih algoritama analize biti netačni. 

Inženjeri podataka rješavaju ovaj problem izgradnjom cevovoda za obradu, čišćenje i transformaciju podataka i omogućavajući naučnicima podataka da rade sa visokokvalitetnim podacima. 

Na tržištu postoji mnogo alata za rad s podacima koji pokrivaju svaku fazu: od izgleda podataka do izlaza do kontrolne ploče za upravni odbor. I važno je da odluku o njihovoj upotrebi donese inženjer - ne zato što je to moderno, već zato što će on zaista pomoći radu drugih učesnika u procesu. 

Konvencionalno: ako kompanija treba da uspostavi veze između BI-a i ETL-a – učitavanje podataka i ažuriranje izvještaja, evo tipične naslijeđene osnove s kojom će se morati nositi inženjer podataka (dobro je ako u timu postoji i arhitekta).

Odgovornosti inženjera podataka

  • Razvoj, izgradnja i održavanje infrastrukture za obradu podataka.
  • Rukovanje greškama i stvaranje pouzdanih cevovoda za obradu podataka.
  • Dovođenje nestrukturiranih podataka iz različitih dinamičkih izvora u formu neophodnu za rad analitičara.
  • Pružanje preporuka za poboljšanje konzistentnosti i kvaliteta podataka.
  • Pružanje i održavanje arhitekture podataka koju koriste naučnici podataka i analitičari podataka.
  • Obradite i skladištite podatke dosljedno i efikasno u distribuiranom klasteru od desetina ili stotina servera.
  • Procijenite tehničke kompromise alata za stvaranje jednostavnih, ali robusnih arhitektura koje mogu preživjeti poremećaje.
  • Kontrola i podrška tokova podataka i povezanih sistema (postavljanje nadzora i upozorenja).

U okviru putanje Data Engineer postoji još jedna specijalizacija - ML inženjer. Ukratko, ovi inženjeri su specijalizovani za dovođenje modela mašinskog učenja u industrijsku implementaciju i upotrebu. Često je model dobijen od naučnika podataka dio studije i možda neće raditi u borbenim uvjetima.

Odgovornosti Data Scientist-a

  • Izdvajanje karakteristika iz podataka za primjenu algoritama mašinskog učenja.
  • Korištenje različitih alata za strojno učenje za predviđanje i klasifikaciju obrazaca u podacima.
  • Poboljšanje performansi i tačnosti algoritama mašinskog učenja finim podešavanjem i optimizacijom algoritama.
  • Formiranje “jakih” hipoteza u skladu sa strategijom kompanije koje je potrebno testirati.

I Data Engineer i Data Scientist dijele opipljiv doprinos razvoju kulture podataka, kroz koju kompanija može ostvariti dodatni profit ili smanjiti troškove.

Sa kojim jezicima i alatima rade inženjeri i naučnici?

Danas su se očekivanja od naučnika podataka promijenila. Ranije su inženjeri prikupljali velike SQL upite, ručno pisali MapReduce i obrađivali podatke koristeći alate kao što su Informatica ETL, Pentaho ETL, Talend. 

U 2020. stručnjak ne može bez poznavanja Pythona i modernih alata za proračun (na primjer, Airflow), razumijevanja principa rada sa platformama u oblaku (koristeći ih za uštedu na hardveru, uz poštovanje sigurnosnih principa).

SAP, Oracle, MySQL, Redis su tradicionalni alati za inženjere podataka u velikim kompanijama. Oni su dobri, ali cijena licenci je toliko visoka da učenje rada s njima ima smisla samo u industrijskim projektima. Istovremeno, postoji besplatna alternativa u obliku Postgresa - besplatna je i pogodna ne samo za obuku. 

Data Engineer i Data Scientist: u čemu je razlika?
Istorijski gledano, zahtjevi za Javu i Scalu se često nalaze, iako kako se tehnologije i pristupi razvijaju, ovi jezici nestaju u pozadini.

Međutim, hardcore BigData: Hadoop, Spark i ostatak zoološkog vrta više nije preduvjet za data inženjera, već svojevrsni alat za rješavanje problema koji se ne mogu riješiti tradicionalnim ETL-om. 

Trend su servisi za korištenje alata bez poznavanja jezika na kojem su napisani (npr. Hadoop bez znanja Jave), kao i pružanje gotovih servisa za obradu striming podataka (prepoznavanje glasa ili prepoznavanje slike na videu). ).

Industrijska rješenja iz SAS-a i SPSS-a su popularna, dok Tableau, Rapidminer, Stata i Julia također naširoko koriste naučnici podataka za lokalne zadatke.

Data Engineer i Data Scientist: u čemu je razlika?
Mogućnost da sami grade cevovode pojavila se analitičarima i naučnicima za podatke tek pre nekoliko godina: na primer, već je moguće slati podatke u skladište zasnovano na PostgreSQL koristeći relativno jednostavne skripte. 

Tipično, upotreba cevovoda i integrisanih struktura podataka ostaje odgovornost inženjera podataka. Ali danas je trend za stručnjake u obliku slova T sa širokim kompetencijama u srodnim oblastima jači nego ikad, jer se alati stalno pojednostavljuju.

Zašto Data Engineer i Data Scientist rade zajedno

Bliskom saradnjom sa inženjerima, Data Scientists se mogu fokusirati na istraživačku stranu, stvarajući algoritme mašinskog učenja spremne za proizvodnju.
Inženjeri se moraju fokusirati na skalabilnost, ponovnu upotrebu podataka i osiguravanje da su cevovodi za unos i izlaz podataka u svakom pojedinačnom projektu u skladu sa globalnom arhitekturom.

Ova podjela odgovornosti osigurava dosljednost među timovima koji rade na različitim projektima mašinskog učenja. 

Saradnja pomaže u stvaranju novih proizvoda efikasno. Brzina i kvalitet se postižu balansom između kreiranja usluge za svakoga (globalno skladištenje ili integracija nadzornih ploča) i implementacije svake specifične potrebe ili projekta (visoko specijalizovani kanal, povezivanje eksternih izvora). 

Bliska saradnja sa naučnicima i analitičarima podataka pomaže inženjerima da razviju analitičke i istraživačke veštine za pisanje boljeg koda. Razmjena znanja među korisnicima skladišta i jezera podataka se poboljšava, čineći projekte agilnijim i dajući održivije dugoročne rezultate.

U kompanijama koje imaju za cilj da razviju kulturu rada sa podacima i grade poslovne procese zasnovane na njima, Data Scientist i Data Engineer se dopunjuju i kreiraju kompletan sistem analize podataka. 

U sljedećem članku ćemo govoriti o tome kakvo obrazovanje treba da imaju Data Engineer i Data Scientists, koje vještine trebaju razviti i kako funkcionira tržište.

Od urednika Netologije

Ako tražite zanimanje Data Engineer ili Data Scientist, pozivamo vas da proučite naše programe kurseva:

izvor: www.habr.com

Dodajte komentar