Data Engineer și Data Scientist: Care este diferența?

Profesiile de Data Scientist și Data Engineer sunt adesea confundate. Fiecare companie are propriile sale specificități de lucru cu date, scopuri diferite pentru analiza lor și o idee diferită despre care specialist ar trebui să se ocupe de ce parte a lucrării, prin urmare fiecare are propriile cerințe. 

Să ne dăm seama care este diferența dintre acești specialiști, ce probleme de afaceri rezolvă, ce abilități au și cât câștigă. Materialul s-a dovedit a fi mare, așa că l-am împărțit în două publicații.

În primul articol, Elena Gerasimova, șeful facultății „Știința datelor și analiză„ în Netology, spune care este diferența dintre un Data Scientist și un Data Engineer și cu ce instrumente lucrează.

Cum diferă rolurile inginerilor și ale oamenilor de știință

Un inginer de date este un specialist care, pe de o parte, dezvoltă, testează și întreține infrastructura de date: baze de date, sisteme de stocare și procesare în masă. Pe de altă parte, acesta este cel care curăță și „pieptănează” datele pentru a fi utilizate de către analiști și oamenii de știință de date, adică creează conducte de procesare a datelor.

Data Scientist creează și antrenează modele predictive (și altele) folosind algoritmi de învățare automată și rețele neuronale, ajutând companiile să găsească modele ascunse, să prezică evoluții și să optimizeze procesele cheie de afaceri.

Principala diferență dintre un Data Scientist și un Data Engineer este că de obicei au obiective diferite. Ambele lucrează pentru a se asigura că datele sunt accesibile și de înaltă calitate. Dar un Data Scientist găsește răspunsuri la întrebările sale și testează ipotezele într-un ecosistem de date (de exemplu, bazat pe Hadoop), iar un Data Engineer creează o conductă pentru deservirea unui algoritm de învățare automată scris de un cercetător de date într-un cluster Spark din același ecosistem. 

Un inginer de date aduce valoare unei afaceri lucrând ca parte a unei echipe. Sarcina sa este de a acționa ca o legătură importantă între diferiți participanți: de la dezvoltatori la consumatori de afaceri de raportare și de a crește productivitatea analiștilor, de la marketing și produs la BI. 

Un Data Scientist, dimpotrivă, participă activ la strategia companiei și extrage perspective, ia decizii, implementează algoritmi de automatizare, modelează și generează valoare din date.
Data Engineer și Data Scientist: Care este diferența?

Lucrul cu date este supus principiului GIGO (garbage in - garbage out): dacă analiștii și oamenii de știință de date se ocupă de date nepregătite și potențial incorecte, atunci rezultatele chiar și folosind algoritmii de analiză cei mai sofisticați vor fi incorecte. 

Inginerii de date rezolvă această problemă construind conducte pentru procesarea, curățarea și transformarea datelor și permițând cercetătorilor de date să lucreze cu date de înaltă calitate. 

Există multe instrumente pe piață pentru lucrul cu date care acoperă fiecare etapă: de la apariția datelor până la ieșire până la un tablou de bord pentru consiliul de administrație. Și este important ca decizia de a le folosi să fie luată de un inginer - nu pentru că este la modă, ci pentru că va ajuta cu adevărat munca celorlalți participanți la proces. 

În mod convențional: dacă o companie trebuie să facă conexiuni între BI și ETL - încărcarea datelor și actualizarea rapoartelor, iată o bază tipică moștenită cu care va trebui să se ocupe un inginer de date (este bine dacă există și un arhitect în echipă).

Responsabilitățile unui inginer de date

  • Dezvoltarea, construcția și întreținerea infrastructurii de prelucrare a datelor.
  • Gestionarea erorilor și crearea unor conducte fiabile de procesare a datelor.
  • Aducerea datelor nestructurate din diverse surse dinamice în forma necesară muncii analiștilor.
  • Furnizarea de recomandări pentru a îmbunătăți consistența și calitatea datelor.
  • Furnizarea și menținerea arhitecturii de date utilizate de oamenii de știință și analiștii de date.
  • Procesați și stocați datele în mod consecvent și eficient într-un cluster distribuit de zeci sau sute de servere.
  • Evaluați compromisurile tehnice ale instrumentelor pentru a crea arhitecturi simple, dar robuste, care pot supraviețui întreruperii.
  • Controlul și suportul fluxurilor de date și sistemelor aferente (configurarea monitorizării și alertelor).

În cadrul traiectoriei Data Engineer există o altă specializare - ML engineer. Pe scurt, acești ingineri sunt specializați în aducerea modelelor de învățare automată în implementarea și utilizarea industrială. Adesea, un model primit de la un cercetător de date face parte dintr-un studiu și este posibil să nu funcționeze în condiții de luptă.

Responsabilitățile unui Data Scientist

  • Extragerea caracteristicilor din date pentru a aplica algoritmi de învățare automată.
  • Utilizarea diverselor instrumente de învățare automată pentru a prezice și a clasifica modele în date.
  • Îmbunătățirea performanței și acurateței algoritmilor de învățare automată prin reglarea fină și optimizarea algoritmilor.
  • Formarea de ipoteze „puternice” în conformitate cu strategia companiei care trebuie testate.

Atât Data Engineer, cât și Data Scientist au o contribuție tangibilă la dezvoltarea unei culturi a datelor, prin care o companie poate genera profituri suplimentare sau poate reduce costurile.

Cu ce ​​limbi și instrumente lucrează inginerii și oamenii de știință?

Astăzi, așteptările pentru oamenii de știință de date s-au schimbat. Anterior, inginerii colectau interogări SQL mari, scriau manual MapReduce și procesau date folosind instrumente precum Informatica ETL, Pentaho ETL, Talend. 

În 2020, un specialist nu poate face fără cunoștințele Python și instrumentele moderne de calcul (de exemplu, Airflow), înțelegerea principiilor de lucru cu platformele cloud (folosirea acestora pentru a economisi hardware, respectând în același timp principiile de securitate).

SAP, Oracle, MySQL, Redis sunt instrumente tradiționale pentru inginerii de date din companiile mari. Sunt bune, dar costul licențelor este atât de mare încât să înveți să lucrezi cu ele are sens doar în proiectele industriale. În același timp, există o alternativă gratuită sub forma Postgres - este gratuită și potrivită nu numai pentru antrenament. 

Data Engineer și Data Scientist: Care este diferența?
Din punct de vedere istoric, solicitările pentru Java și Scala sunt adesea găsite, deși pe măsură ce tehnologiile și abordările se dezvoltă, aceste limbaje trec în fundal.

Cu toate acestea, hardcore BigData: Hadoop, Spark și restul grădinii zoologice nu mai este o condiție prealabilă pentru un inginer de date, ci un fel de instrumente pentru rezolvarea problemelor care nu pot fi rezolvate prin ETL tradițional. 

Tendința sunt serviciile de utilizare a instrumentelor fără cunoașterea limbajului în care sunt scrise (de exemplu, Hadoop fără cunoștințe de Java), precum și furnizarea de servicii gata făcute pentru procesarea datelor în flux (recunoaștere vocală sau recunoaștere a imaginii pe video). ).

Soluțiile industriale de la SAS și SPSS sunt populare, în timp ce Tableau, Rapidminer, Stata și Julia sunt, de asemenea, utilizate pe scară largă de oamenii de știință de date pentru sarcini locale.

Data Engineer și Data Scientist: Care este diferența?
Capacitatea de a construi ei înșiși conducte le-a apărut analiștilor și oamenilor de știință în date cu doar câțiva ani în urmă: de exemplu, este deja posibilă trimiterea datelor către o stocare bazată pe PostgreSQL folosind scripturi relativ simple. 

De obicei, utilizarea conductelor și a structurilor de date integrate rămâne responsabilitatea inginerilor de date. Dar astăzi, tendința pentru specialiștii în formă de T cu competențe largi în domenii conexe este mai puternică ca niciodată, deoarece instrumentele sunt în mod constant simplificate.

De ce inginerul de date și cercetătorul de date lucrează împreună

Lucrând îndeaproape cu inginerii, oamenii de știință în date se pot concentra pe partea de cercetare, creând algoritmi de învățare automată pregătiți pentru producție.
Iar inginerii trebuie să se concentreze pe scalabilitate, reutilizare a datelor și să se asigure că conductele de intrare și ieșire a datelor din fiecare proiect în parte sunt conforme cu arhitectura globală.

Această separare a responsabilităților asigură coerența între echipele care lucrează la diferite proiecte de învățare automată. 

Colaborarea ajută la crearea de produse noi în mod eficient. Viteza și calitatea sunt obținute printr-un echilibru între crearea unui serviciu pentru toată lumea (stocare globală sau integrare de tablouri de bord) și implementarea fiecărei nevoi sau proiect specific (conductă înalt specializată, conectarea surselor externe). 

Lucrul îndeaproape cu oamenii de știință și analiștii de date îi ajută pe ingineri să dezvolte abilități analitice și de cercetare pentru a scrie un cod mai bun. Îmbunătățirea schimbului de cunoștințe între utilizatorii depozitelor și lacurilor de date, făcând proiectele mai agile și oferind rezultate mai durabile pe termen lung.

În companiile care își propun să dezvolte o cultură de lucru cu date și de a construi procese de afaceri bazate pe acestea, Data Scientist și Data Engineer se completează reciproc și creează un sistem complet de analiză a datelor. 

În următorul articol vom vorbi despre ce fel de educație ar trebui să aibă un Data Engineer și Data Scientists, ce abilități trebuie să dezvolte și cum funcționează piața.

De la editorii Netology

Dacă te uiți la profesia de Data Engineer sau Data Scientist, te invităm să studiezi programele noastre de curs:

Sursa: www.habr.com

Adauga un comentariu