Dataingeniør og dataforsker: hvad er forskellen?

Professionerne som dataforsker og dataingeniør er ofte forvirrede. Hver virksomhed har sine egne detaljer om at arbejde med data, forskellige formål med deres analyse og en anden idé om, hvilken specialist der skal beskæftige sig med hvilken del af arbejdet, derfor har hver deres egne krav. 

Lad os finde ud af, hvad forskellen er mellem disse specialister, hvilke forretningsproblemer de løser, hvilke færdigheder de har, og hvor meget de tjener. Materialet viste sig at være stort, så vi delte det op i to publikationer.

I den første artikel, Elena Gerasimova, leder af fakultetet "Datavidenskab og analyse" i Netology, fortæller, hvad forskellen er mellem en dataforsker og en dataingeniør, og hvilke værktøjer de arbejder med.

Hvordan ingeniørers og videnskabsmænds roller adskiller sig

En dataingeniør er en specialist, der på den ene side udvikler, tester og vedligeholder datainfrastruktur: databaser, lager- og massebehandlingssystemer. På den anden side er det ham, der renser og "kæmmer" data til brug for analytikere og dataforskere, det vil sige skaber databehandlingspipelines.

Data Scientist skaber og træner forudsigende (og andre) modeller ved hjælp af maskinlæringsalgoritmer og neurale netværk, der hjælper virksomheder med at finde skjulte mønstre, forudsige udviklinger og optimere vigtige forretningsprocesser.

Den største forskel mellem en dataforsker og en dataingeniør er, at de normalt har forskellige mål. Begge arbejder for at sikre, at data er tilgængelige og af høj kvalitet. Men en dataforsker finder svar på sine spørgsmål og tester hypoteser i et dataøkosystem (for eksempel baseret på Hadoop), og en dataingeniør opretter en pipeline til at servicere en maskinlæringsalgoritme skrevet af en dataforsker i en Spark-klynge inden for samme økosystem. 

En dataingeniør bringer værdi til en virksomhed ved at arbejde som en del af et team. Dens opgave er at fungere som et vigtigt bindeled mellem forskellige deltagere: fra udviklere til forretningsbrugere af rapportering, og at øge produktiviteten hos analytikere, fra marketing og produkt til BI. 

En Data Scientist tager tværtimod aktivt del i virksomhedens strategi og udvinder indsigt, træffer beslutninger, implementerer automatiseringsalgoritmer, modellerer og genererer værdi fra data.
Dataingeniør og dataforsker: hvad er forskellen?

Arbejdet med data er underlagt GIGO-princippet (garbage in - garbage out): Hvis analytikere og dataforskere håndterer uforberedte og potentielt forkerte data, så vil resultaterne, selv ved brug af de mest sofistikerede analysealgoritmer, være forkerte. 

Dataingeniører løser dette problem ved at bygge pipelines til behandling, rensning og transformation af data og ved at lade dataforskere arbejde med data af høj kvalitet. 

Der er mange værktøjer på markedet til at arbejde med data, der dækker alle stadier: fra fremkomsten af ​​data til output til et dashboard for bestyrelsen. Og det er vigtigt, at beslutningen om at bruge dem tages af en ingeniør – ikke fordi det er moderigtigt, men fordi han virkelig vil hjælpe andre deltageres arbejde i processen. 

Konventionelt: Hvis en virksomhed skal lave forbindelser mellem BI og ETL - indlæsning af data og opdatering af rapporter, er her et typisk legacy fundament, som en Data Engineer skal forholde sig til (det er godt, hvis der også er en arkitekt på holdet).

Ansvar for en dataingeniør

  • Udvikling, opbygning og vedligeholdelse af databehandlingsinfrastruktur.
  • Håndtering af fejl og skabe pålidelige databehandlingspipelines.
  • Bringe ustrukturerede data fra forskellige dynamiske kilder til den form, der er nødvendig for analytikernes arbejde.
  • Giver anbefalinger til forbedring af datakonsistens og kvalitet.
  • Tilvejebringelse og vedligeholdelse af den dataarkitektur, der bruges af dataforskere og dataanalytikere.
  • Behandl og gem data konsekvent og effektivt i en distribueret klynge af titusinder eller hundredvis af servere.
  • Evaluer de tekniske afvejninger af værktøjer for at skabe enkle, men robuste arkitekturer, der kan overleve forstyrrelser.
  • Kontrol og support af datastrømme og relaterede systemer (opsætning af overvågning og alarmer).

Der er en anden specialisering inden for Data Engineer-banen - ML-ingeniør. Kort sagt, disse ingeniører specialiserer sig i at bringe maskinlæringsmodeller til industriel implementering og brug. Ofte er en model modtaget fra en dataforsker en del af en undersøgelse og fungerer muligvis ikke under kampforhold.

Ansvar for en dataforsker

  • Udtræk funktioner fra data for at anvende maskinlæringsalgoritmer.
  • Brug af forskellige maskinlæringsværktøjer til at forudsige og klassificere mønstre i data.
  • Forbedring af ydeevnen og nøjagtigheden af ​​maskinlæringsalgoritmer ved at finjustere og optimere algoritmerne.
  • Dannelse af "stærke" hypoteser i overensstemmelse med virksomhedens strategi, der skal testes.

Både Data Engineer og Data Scientist deler et håndgribeligt bidrag til udviklingen af ​​en datakultur, hvorigennem en virksomhed kan generere yderligere overskud eller reducere omkostninger.

Hvilke sprog og værktøjer arbejder ingeniører og videnskabsmænd med?

I dag har forventningerne til dataforskere ændret sig. Tidligere indsamlede ingeniører store SQL-forespørgsler, skrev MapReduce manuelt og behandlede data ved hjælp af værktøjer som Informatica ETL, Pentaho ETL, Talend. 

I 2020 kan en specialist ikke undvære viden om Python og moderne beregningsværktøjer (for eksempel Airflow), forståelse af principperne for at arbejde med cloud-platforme (bruge dem til at spare på hardware, mens sikkerhedsprincipperne overholdes).

SAP, Oracle, MySQL, Redis er traditionelle værktøjer til dataingeniører i store virksomheder. De er gode, men omkostningerne ved licenser er så høje, at det kun giver mening at lære at arbejde med dem i industrielle projekter. Samtidig er der et gratis alternativ i form af Postgres – det er gratis og egner sig ikke kun til træning. 

Dataingeniør og dataforsker: hvad er forskellen?
Historisk set findes der ofte anmodninger om Java og Scala, selvom som teknologier og tilgange udvikler sig, falder disse sprog i baggrunden.

Hardcore BigData: Hadoop, Spark og resten af ​​zoo er dog ikke længere en forudsætning for en dataingeniør, men en slags værktøjer til at løse problemer, som ikke kan løses med traditionel ETL. 

Tendensen er tjenester til brug af værktøjer uden kendskab til det sprog, de er skrevet på (for eksempel Hadoop uden kendskab til Java), samt levering af færdige tjenester til behandling af streamingdata (stemmegenkendelse eller billedgenkendelse på video) ).

Industrielle løsninger fra SAS og SPSS er populære, mens Tableau, Rapidminer, Stata og Julia også er meget brugt af data scientists til lokale opgaver.

Dataingeniør og dataforsker: hvad er forskellen?
Evnen til selv at bygge pipelines viste sig for analytikere og dataforskere for kun et par år siden: for eksempel er det allerede muligt at sende data til et PostgreSQL-baseret lager ved hjælp af relativt simple scripts. 

Typisk forbliver brugen af ​​pipelines og integrerede datastrukturer dataingeniørernes ansvar. Men i dag er trenden for T-formede specialister med brede kompetencer inden for beslægtede områder stærkere end nogensinde, fordi værktøjer konstant bliver forenklet.

Hvorfor dataingeniør og dataforsker arbejder sammen

Ved at arbejde tæt sammen med ingeniører kan Data Scientists fokusere på forskningssiden og skabe produktionsklare maskinlæringsalgoritmer.
Og ingeniører skal fokusere på skalerbarhed, genbrug af data og sikre, at datainput- og outputpipelines i hvert enkelt projekt overholder den globale arkitektur.

Denne adskillelse af ansvar sikrer konsistens på tværs af teams, der arbejder på forskellige maskinlæringsprojekter. 

Samarbejde hjælper med at skabe nye produkter effektivt. Hastighed og kvalitet opnås gennem en balance mellem at skabe en service for alle (global lagring eller integration af dashboards) og implementering af hvert specifikt behov eller projekt (højt specialiseret pipeline, tilslutning af eksterne kilder). 

Et tæt samarbejde med datavidenskabsfolk og analytikere hjælper ingeniører med at udvikle analytiske og forskningsmæssige færdigheder til at skrive bedre kode. Vidensdeling mellem lager- og datasø-brugere forbedres, hvilket gør projekter mere agile og leverer mere bæredygtige langsigtede resultater.

I virksomheder, der har til formål at udvikle en kultur for at arbejde med data og opbygge forretningsprocesser baseret på dem, supplerer Data Scientist og Data Engineer hinanden og skaber et komplet dataanalysesystem. 

I den næste artikel vil vi tale om, hvilken slags uddannelse en dataingeniør og dataforskere skal have, hvilke færdigheder de skal udvikle og hvordan markedet fungerer.

Fra redaktørerne af Netology

Hvis du ser på erhvervet som dataingeniør eller dataforsker, inviterer vi dig til at studere vores kursusprogrammer:

Kilde: www.habr.com

Tilføj en kommentar