Data Engineer a Data Scientist: aký je vlastne rozdiel?

Povolania Data Scientist a Data Engineer sa často zamieňajú. Každá spoločnosť má svoju špecifiku práce s údajmi, rôzne ciele ich analyzovania a odlišné predstavy o tom, kto z odborníkov by sa mal zamerať na akú časť práce, a preto má každá požiadavka svoje vlastné kritériá. 

Vysvetlíme, aký je rozdiel medzi týmito odborníkmi, aké úlohy v podnikaní riešia, aké zručnosti majú a koľko zarábajú. Materiál sa ukázal byť rozsiahly, preto sme ho rozdelili na dva články.

V prvom článku Elena Gerasimova, vedúca fakulty „Data Science a analytika“ na Netológii, vysvetľuje, aký je rozdiel medzi Data Scientist a Data Engineer a s akými nástrojmi pracujú.

Ako sa rozlišujú úlohy inžinierov a scientistov

Inžinier údajov je odborník, ktorý na jednej strane vyvíja, testuje a udržiava infraštruktúru práce s údajmi: databázy, úložiská a systémy hromadného spracovania. Na druhej strane je to ten, kto čistí a „upratuje“ údaje pre použitie analytikmi a dátovými vedcami, teda vytvára potrubia spracovania údajov.

Data Scientist vytvára a trénuje prediktívne (a nielen) modely pomocou algoritmov strojového učenia a neurónových sietí, čím pomáha podniku odhaľovať skryté vzory, predpovedať vývoj udalostí a optimalizovať kľúčové obchodné procesy.

Hlavný rozdiel medzi Data Scientist a Data Engineer spočíva v tom, že zvyčajne majú rôzne ciele. Obe sa snažia o to, aby údaje boli dostupné a kvalitné. Ale Data Scientist hľadá odpovede na svoje otázky a testuje hypotézy v ekosystéme údajov (napríklad na základe Hadoop), zatiaľ čo Data Engineer vytvára pipeline pre údržbu algoritmu strojového učenia, ktorý napísal dátový vedec, v klastri Spark v rámci toho istého ekosystému. 

Inžinier údajov prináša hodnotu podnikaniu pracujúc v tíme. Jeho úlohou je vystupovať ako dôležité spojivo medzi rôznymi účastníkmi: od vývojárov až po obchodných spotrebiteľov reportov, a zvyšovať produktivitu analytikov — od marketingových a produktových až po BI. 

Data Scientist, naopak, aktívne sa podieľa na stratégii spoločnosti a získavaní poznatkov, rozhodovaní, implementácii automatizačných algoritmov, modelovaní a generovaní hodnoty z údajov.
Data Engineer a Data Scientist: aký je vlastne rozdiel?

Práca s dátami podlieha princípu GIGO (garbage in — garbage out): ak analytici a dátoví vedci pracujú s nepripravenými a potenciálne nesprávnymi údajmi, výsledky aj s najsofistikovanejšími analytickými algoritmami budú chybnými. 

Dátoví inžinieri riešia tento problém budovaním potrubí na spracovanie, čistenie a transformáciu dát, čo umožňuje dátovému vedcovi pracovať už s kvalitnými údajmi. 

Na trhu je veľa nástrojov na prácu s dátami, ktoré pokrývajú každý z krokov: od vzniku dát až po zobrazenie na paneli pre výbor riaditeľov. Dôležité je, aby rozhodnutie o ich použití prijal inžinier, nie preto, že je to trendy, ale preto, že to naozaj pomôže ostatným účastníkom procesu. 

Podmienene: ak spoločnosti potrebujú zblížiť BI a ETL — načítanie dát a aktualizácie správ, tu je typický legacy základ, s ktorým sa bude musieť Data Engineer zaoberať (je dobré, ak v tíme okrem neho bude aj architekt).

Povinnosti Data Engineer

  • Vývoj, stavba a údržba infraštruktúry na prácu s dátami.
  • Spracovanie chýb a vytváranie spoľahlivých potrubí na spracovanie dát.
  • Prispôsobenie štruktúrovaných dát z rôznych dynamických zdrojov do podoby potrebnej pre prácu analytikov.
  • Poskytovanie odporúčaní na zvýšenie konzistencie a kvality dát.
  • Zabezpečenie a podpora architektúry dát používaných dátovými vedcami a analytikmi dát.
  • Spracovanie a ukladanie dát postupne a efektívne v distribuovanom klastere na desiatky alebo stovky serverov.
  • Hodnotenie technických kompromise nástrojov na vytváranie jednoduchých, ale spoľahlivých architektúr, ktoré prežijú zlyhania.
  • Kontrola a podpora dátových tokov a súvisiacich systémov (nastavenie monitorovania a upozornení).

Existuje ešte jedna špecializácia v rámci dráhy Data Engineer — ML engineer. Skrátka, títo inžinieri sa špecializujú na privádzanie modelov strojového učenia do priemyselných implementácií a používania. Často model od dátového vedca je časťou výskumu a nemusí fungovať v ostrých podmienkach.

Povinnosti Data Scientist

  • Extrahovanie charakteristík z dát na aplikáciu algoritmov strojového učenia.
  • Používanie rôznych nástrojov strojového učenia na predpovedanie a klasifikáciu vzorov v údajoch.
  • Zvýšenie výkonnosti a presnosti algoritmov strojového učenia prostredníctvom jemného ladenia a optimalizácie algoritmov.
  • Formulovanie ‚silných‘ hypotéz v súlade so stratégiou spoločnosti, ktoré je potrebné overiť.

Data Engineer a Data Scientist sa zhodujú vo výraznom príspevku k rozvoju kultúry práce s údajmi, s ktorou môže spoločnosť získať dodatočný zisk alebo znížiť náklady.

S ktorými jazykmi a nástrojmi pracujú inžinieri a vedci?

Dnes sa očakávania od špecialistov na spracovanie údajov zmenili. Kým predtým inžinieri zostavovali veľké SQL dotazy, manuálne písali MapReduce a spracovávali údaje pomocou nástrojov ako Informatica ETL, Pentaho ETL, Talend. 

V roku 2020 sa odborník nemôže zaobísť bez znalosti Pythonu a moderných nástrojov na vykonávanie výpočtov (napríklad Airflow), ako aj porozumenia princípom práce s cloudovými platformami (ich využívanie na úsporu na „harde“, pri dodržaní zásad bezpečnosti).

SAP, Oracle, MySQL, Redis — to sú tradičné nástroje data inžiniera vo veľkých spoločnostiach. Sú dobré, ale náklady na licencie sú také vysoké, že má zmysel učiť sa s nimi pracovať iba v priemyselných projektoch. Existuje však bezplatná alternatíva v podobe Postgresu — je bezplatný a hodí sa nielen na vzdelávanie. 

Data Engineer a Data Scientist: aký je vlastne rozdiel?
Historicky sa často vyskytuje dopyt po Jave a Scale, aj keď s rozvojom technológií a prístupov tieto jazyky ustupujú do pozadia.

Napriek tomu hardcore BigData: Hadoop, Spark a ďalší zverinec už nie sú nevyhnutnou podmienkou pre data inžiniera, skôr sú to rôzne nástroje na riešenie problémov, ktoré nie sú riešiteľné tradičným ETL. 

V trende sú služby na používanie nástrojov bez znalosti jazyka, v ktorom sú napísané (napríklad Hadoop bez znalosti Javy), ako aj poskytovanie hotových služieb na spracovanie streamingových údajov (rozpoznávanie hlasu alebo obrazov vo videu).

Priemyselné riešenia od SAS a SPSS sú populárne, pričom Tableau, Rapidminer, Stata a Julia sa tiež široko používajú dátovými vedcami na lokálne úlohy.

Data Engineer a Data Scientist: aký je vlastne rozdiel?
Možnosť samostatne budovať pipeline sa analytikom a dátovým vedcom objavila len pred pár rokmi: napríklad, už je možné pomocou relatívne jednoduchých skriptov posielať dáta do úložiska na báze PostgreSQL. 

Zvyčajne je používanie potrubí a integrovaných štruktúr dát v kompetencii dátových inžinierov. Dnes je však trend na T-typov odborníkov silnejší ako kedykoľvek predtým – s širokými kompetenciami v príbuzných oblastiach, pretože nástroje sa neustále zjednodušujú.

Prečo by mal Data Engineer a Data Scientist spolupracovať

Práca v tesnej spolupráci s inžiniermi umožňuje dátovým vedcom sústrediť sa na výskumnú časť, vytvárajúc funkčné algoritmy strojového učenia.
Inžinieri sa môžu sústrediť na škálovateľnosť, opätovné použitie dát a zabezpečiť, aby potrubia na vstup a výstup dát v každom projekte zodpovedali globálnej architektúre.

Takéto rozdelenie povinností zabezpečuje súlad medzi skupinami odborníkov pracujúcich na rôznych projektoch strojového učenia. 

Spolupráca pomáha efektívne vytvárať nové produkty. Rýchlosť a kvalita sú dosahované vďaka rovnováhe medzi vytváraním služby pre všetkých (globálne úložisko alebo integrácia dashboardov) a realizáciou každej konkrétnej potreby alebo projektu (špecializovaný pipeline, pripojenie externých zdrojov). 

Tesná spolupráca s dátovými vedcami a analytikmi pomáha inžinierom rozvíjať analytické a výskumné zručnosti na písanie kvalitnejšieho kódu. Zlepšuje sa výmena vedomostí medzi používateľmi úložísk a dátových jazier, čo robí projekty flexibilnejšími a zabezpečuje trvácnejšie výsledky.

Vo firmách, ktoré si kladú za cieľ rozvoj kultúry práce s dátami a budovanie obchodných procesov na ich základe, sa dátoví vedci a dátoví inžinieri navzájom dopĺňajú a vytvárajú komplexný systém analýzy dát. 

V nasledujúcom materiáli sa budeme zaoberať tým, aké vzdelanie by mali mať dátoví inžinieri a dátoví vedci, aké zručnosti by mali rozvíjať a ako je usporiadaný trh.

Od redakcie Netology

Ak sa zaujímate o profesiu dátového inžiniera alebo dátového vedca, pozývame vás preskúmať programy našich kurzov:

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster