Data Engineer i Data Scientist: koja je razlika?

Zanimanja Data Scientist i Data Engineer često se miješaju. Svaka tvrtka ima svoju specifičnost u radu s podacima, različite ciljeve analize i različite predstave o tome tko od stručnjaka treba raditi na kojem dijelu posla, stoga svaki postavlja svoje zahtjeve. 

Razjasnimo razliku između ovih stručnjaka, koje poslovne zadatke rješavaju, kakve vještine posjeduju i koliko zarađuju. Materijal je opsežan, stoga smo ga podijelili na dvije objave.

U prvom članku Elena Gerasimova, voditeljica fakulteta „Data Science i analitika“ na Netologiji, objašnjava razliku između Data Scientista i Data Engineera te s kojim alatima rade.

Kako se razlikuju uloge inženjera i znanstvenika

Inženjer podataka je stručnjak koji, s jedne strane, razvija, testira i održava infrastrukturu za rad s podacima: baze podataka, skladišta i sustave za masovnu obradu. S druge strane, on čišći i 'uređuje' podatke za korištenje analitičarima i data scientistima, tj. stvara cjevovode za obradu podataka.

Data Scientist stvara i obučava prediktivne (i ne samo) modele pomoću algoritama strojnog učenja i neuro mreža, pomažući poslovanju da pronađe skrivene obrasce, prognozira razvoj događaja i optimizira ključne poslovne procese.

Glavna razlika između Data Scientista i Data Engineera je ta da obično imaju različite ciljeve. Oba rade na tome da podaci budu dostupni i kvalitetni. No, Data Scientist pronalazi odgovore na svoja pitanja i testira hipoteze unutar ekosustava podataka (na primjer, na temelju Hadoopa), dok Data Engineer stvara cjevovod za održavanje algoritma strojnog učenja koji je napisao data scientist u klasteru Sparka unutar istog ekosustava. 

Inženjer podataka donosi vrijednost poslovanju radeći u timu. Njegov zadatak je da bude važna karika između različitih sudionika: od programera do poslovnih korisnika izvještaja, te poveća produktivnost analitičara — od marketinga i proizvoda do BI. 

Data Scientist, s druge strane, aktivno sudjeluje u strategiji tvrtke i izvlačenju uvida, donošenju odluka, implementaciji algoritama automatizacije, modeliranja i generiranju vrijednosti iz podataka.
Data Engineer i Data Scientist: koja je razlika?

Rad s podacima podlaže principu GIGO (garbage in — garbage out): ako analitičari i data znanstvenici rade s nepripremljenim i potencijalno netočnim podacima, rezultati čak i uz najsloženije analitičke algoritme bit će netočni. 

Inženjeri podataka rješavaju ovaj problem gradeći cjevovode za obradu, čišćenje i transformaciju podataka, omogućavajući data znanstvenicima da rade s kvalitetnim podacima. 

Na tržištu postoji mnogo alata za rad s podacima koji pokrivaju svaki od koraka: od pojave podataka do prikaza na nadzornoj ploči za upravu. Važno je da odluku o njihovom korištenju donese inženjer, ne zato što je to moderno, već zato što će to stvarno pomoći ostalim sudionicima u procesu. 

Uslovno: ako tvrtki treba uskladiti BI i ETL — učitavanje podataka i ažuriranje izvještaja, ovo je tipična legacy osnova s kojom će se Data Engineer susresti (dobro je ako u timu osim njega bude i arhitekt).

Obaveze Data Engineera

  • Razvijanje, izgradnja i održavanje infrastrukture za obradu podataka.
  • Obrada grešaka i izrada pouzdanih cjevovoda za obradu podataka.
  • Uređivanje nestrukturiranih podataka iz različitih dinamičnih izvora u oblik potreban analitičarima.
  • Davanje preporuka za poboljšanje konzistentnosti i kvalitete podataka.
  • Osiguravanje i podržavanje arhitekture podataka koju koriste data znanstvenici i analitičari podataka.
  • Obrada i pohrana podataka dosljedno i učinkovito u distribuiranom klasteru na desetinama ili stotinama poslužitelja.
  • Procjena tehničkih kompromisa alata za izgradnju jednostavnih, ali pouzdanih arhitektura koje mogu izdržati kvarove.
  • Nadzor i podrška podacima i povezanim sustavima (postavljanje nadzora i upozorenja).

Postoji još jedna specijalizacija unutar putanje Data Engineera — ML inženjer. Ukratko, takvi inženjeri se specijaliziraju za dovođenje modela strojog učenja do industrijske primjene i korištenja. Često model koji dolazi od data znanstvenika je dio istraživanja i možda neće raditi u stvarnim okolnostima.

Obaveze Data Scientista

  • Izdvajanje značajki iz podataka za primjenu algoritama strojnog učenja.
  • Korištenje različitih alata za strojno učenje za predviđanje i klasifikaciju obrazaca u podacima.
  • Povećanje performansi i točnosti algoritama strojnog učenja putem fine prilagodbe i optimizacije algoritama.
  • Formiranje 'jakih' hipoteza u skladu sa strategijom tvrtke koje je potrebno provjeriti.

I Data Engineer i Data Scientist povezuju značajan doprinos razvoju kulture rada s podacima, putem koje kompanija može ostvariti dodatnu dobit ili smanjiti troškove.

S kojim jezicima i alatima rade inženjeri i znanstvenici podataka

Danas su očekivanja od stručnjaka za obradu podataka promijenjena. Ranije su inženjeri pisali velike SQL upite, ručno pisali MapReduce i obrađivali podatke pomoću alata kao što su Informatica ETL, Pentaho ETL, Talend. 

U 2020. godini, stručnjaku nije moguće zaobići poznavanje Pythona i modernih alata za izvođenje proračuna (npr. Airflow), kao i razumijevanje principa rada s oblacima (korištenje za uštedu na 'hardveru', uz poštivanje principa sigurnosti).

SAP, Oracle, MySQL, Redis — to su tradicionalni alati za inženjere podataka u velikim kompanijama. Dobar su odabir, ali trošak licenci je toliko visok da ima smisla učiti raditi s njima samo u industrijskim projektima. Uz to, postoji besplatna alternativa u obliku Postgresa — besplatan je i prikladan ne samo za učenje. 

Data Engineer i Data Scientist: koja je razlika?
Povijesno se često traže Java i Scala, iako s razvojem tehnologija i pristupa ti jezici gube na važnosti.

Ipak, hardcore BigData: Hadoop, Spark i ostali alati — više nisu obavezni uvjet za inženjera podataka, već vrsta alata za rješavanje problema koje nije moguće riješiti tradicionalnim ETL-om. 

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

Popularna su industrijska rješenja od SAS-a i SPSS-a, dok se Tableau, Rapidminer, Stata i Julia također široko koriste od strane znanstvenika podataka za lokalne zadatke.

Data Engineer i Data Scientist: koja je razlika?
Mogućnost da sami kreiraju pipeline-ove imala su analitičari i Data Scientist-i tek prije nekoliko godina: na primjer, već je moguće relativno jednostavnim skriptama usmjeriti podatke u skladište temeljenom na PostgreSQL-u. 

Obično korištenje cjevovoda i integriranih struktura podataka ostaje u nadležnosti Data inženjera. No danas je kao nikada prije naglasak na T-oblikovanim stručnjacima — sa širokim kompetencijama u susjednim područjima, jer se alati kontinuirano pojednostavljuju.

Zašto Data Engineer i Data Scientist trebaju raditi zajedno

Radom u uskoj suradnji s inženjerima, Data Scientist-i se mogu usredotočiti na istraživački dio, stvarajući radne algoritme strojnog učenja.
A inženjeri se mogu fokusirati na skalabilnost, ponovnu iskoristivost podataka i osigurati da cjevovodi za unos i izlaz podataka u svakom pojedinom projektu odgovaraju globalnoj arhitekturi.

Takva podjela odgovornosti osigurava dosljednost djelovanja između grupa stručnjaka koji rade na različitim projektima strojnog učenja. 

Suradnja pomaže učinkovito razvijati nove proizvode. Brzina i kvaliteta postižu se zahvaljujući ravnoteži između stvaranja usluge za sve (globalno skladište ili integracija nadzornih ploča) i implementacije svake konkretne potrebe ili projekta (usko specijalizirani cjevovod, povezivanje vanjskih izvora). 

Uska suradnja s Data Scientist-ima i analitičarima pomaže inženjerima u razvoju analitičkih i istraživačkih vještina za pisanje kvalitetnijeg koda. Poboljšava se razmjena znanja između korisnika skladišta i jezera podataka, što čini projekte fleksibilnijima i osigurava održivije dugoročne rezultate.

U tvrtkama koje imaju za cilj razvijanje kulture rada s podacima i uspostavljanje poslovnih procesa temeljenih na njima, Data Scientist-i i Data Engineer-i se međusobno dopunjuju i stvaraju cjelovit sustav analize podataka. 

U sljedećem materijalu raspravljamo o tome koje obrazovanje trebaju imati Data Engineer-i i Data Scientist-i, koje vještine trebaju razvijati i kako je organizirano tržište.

Od uredništva Netologije

Ako razmišljate o zanimanju Data Engineer ili Data Scientist, pozivamo vas da istražite programe naših tečajeva:

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster