Data Engineer et Data Scientist : quelle est la différence ?

Les professions de Data Scientist et de Data Engineer sont souvent confondues. Chaque entreprise a sa spécificité dans le traitement des données, des objectifs d'analyse différents et une conception variée de la répartition des tùches entre ces spécialistes, ce qui entraßne des exigences distinctes. 

Nous clarifions la différence entre ces spécialistes, les tùches commerciales qu'ils accomplissent, les compétences qu'ils possÚdent et leurs niveaux de salaire. Le document étant conséquent, nous l'avons divisé en deux publications.

Dans le premier article, Elena Gerasimova, responsable du département «Data Science et analytique» chez Netology, explique la différence entre Data Scientist et Data Engineer et les outils qu'ils utilisent.

Comment se différencient les rÎles des ingénieurs et des data scientists

Le Data Engineer est un spécialiste qui, d'une part, conçoit, teste et maintient l'infrastructure de traitement des données : bases de données, entrepÎts de données et systÚmes de traitement de masse. D'autre part, il s'occupe de nettoyer et de structurer les données pour les rendre utilisables par les analystes et les data scientists, c'est-à-dire il crée des pipelines de traitement des données.

Le Data Scientist crée et entraßne des modÚles prédictifs (et d'autres) à l'aide d'algorithmes d'apprentissage automatique et de réseaux neuronaux, aidant les entreprises à détecter des schémas cachés, à prévoir des événements et à optimiser des processus commerciaux clés.

La principale diffĂ©rence entre le Data Scientist et le Data Engineer rĂ©side dans le fait qu'ils ont gĂ©nĂ©ralement des objectifs diffĂ©rents. Tous deux travaillent pour que les donnĂ©es soient accessibles et de qualitĂ©. Cependant, le Data Scientist cherche des rĂ©ponses Ă  ses questions et teste des hypothĂšses dans l'Ă©cosystĂšme de donnĂ©es (par exemple, sur une base Hadoop), tandis que le Data Engineer crĂ©e le pipeline de maintenance de l'algorithme d'apprentissage automatique Ă©laborĂ© par le data scientist, au sein du mĂȘme Ă©cosystĂšme Spark. 

Le Data Engineer apporte de la valeur Ă  l'entreprise en travaillant en Ă©quipe. Sa tĂąche consiste Ă  Ă©tablir un lien crucial entre les diffĂ©rents acteurs : des dĂ©veloppeurs aux consommateurs d'analyses, et Ă  accroĂźtre la productivitĂ© des analystes – qu'ils soient en marketing, en dĂ©veloppement produit ou en Business Intelligence. 

Le Data Scientist, quant Ă  lui, participe activement Ă  la stratĂ©gie de l'entreprise et Ă  l'extraction d'insights, Ă  la prise de dĂ©cisions, Ă  la mise en Ɠuvre des algorithmes d'automatisation, de modĂ©lisation et Ă  la gĂ©nĂ©ration de valeur Ă  partir des donnĂ©es.
Data Engineer et Data Scientist : quelle est la différence ?

Le travail avec les donnĂ©es est soumis au principe GIGO (garbage in — garbage out) : si les analystes et les data scientists manipulent des donnĂ©es non prĂ©parĂ©es et potentiellement incorrectes, les rĂ©sultats, mĂȘme avec les algorithmes d'analyse les plus sophistiquĂ©s, seront erronĂ©s. 

Les ingénieurs des données résolvent ce problÚme en construisant des pipelines pour le traitement, le nettoyage et la transformation des données, permettant ainsi aux data scientists de travailler avec des données de qualité. 

Il existe de nombreux outils sur le marché pour travailler avec les données, couvrant chaque étape : de l'apparition des données à leur affichage sur le tableau de bord du conseil d'administration. Il est important que la décision de les utiliser soit prise par un ingénieur, non pas parce que c'est à la mode, mais parce qu'elle aidera réellement les autres participants au processus. 

En gros, si une entreprise doit faire collaborer BI et ETL — le chargement des donnĂ©es et les mises Ă  jour des rapports, voici une base hĂ©ritĂ©e typique avec laquelle un Data Engineer devra traiter (idĂ©alement, il y aura aussi un architecte dans l'Ă©quipe).

Responsabilités du Data Engineer

  • Conception, construction et maintenance de l'infrastructure de travail avec les donnĂ©es.
  • Gestion des erreurs et crĂ©ation de pipelines de traitement des donnĂ©es fiables.
  • Transformation des donnĂ©es non structurĂ©es provenant de diverses sources dynamiques en un format requis pour le travail des analystes.
  • Fournir des recommandations pour amĂ©liorer la cohĂ©rence et la qualitĂ© des donnĂ©es.
  • Assurer et maintenir l'architecture des donnĂ©es utilisĂ©e par les data scientists et les analystes de donnĂ©es.
  • Traitement et stockage des donnĂ©es de maniĂšre sĂ©quentielle et efficace dans un cluster distribuĂ© de dizaines ou de centaines de serveurs.
  • Évaluation des compromis techniques des outils pour crĂ©er des architectures simples mais robustes capables de rĂ©sister aux pannes.
  • ContrĂŽle et maintenance des flux de donnĂ©es et des systĂšmes associĂ©s (configuration de la surveillance et des alertes).

Il existe une autre spĂ©cialisation au sein du parcours Data Engineer — l'ingĂ©nieur ML. En rĂ©sumĂ©, ces ingĂ©nieurs se spĂ©cialisent dans le dĂ©ploiement de modĂšles d'apprentissage automatique en conditions industrielles. Souvent, le modĂšle fourni par le data scientist fait partie d'une recherche et peut ne pas fonctionner dans des conditions rĂ©elles.

Responsabilités du Data Scientist

  • Extraction de caractĂ©ristiques Ă  partir des donnĂ©es pour l'application des algorithmes d'apprentissage automatique.
  • Utilisation de divers outils d'apprentissage automatique pour prĂ©voir et classifier des motifs dans les donnĂ©es.
  • AmĂ©lioration des performances et de la prĂ©cision des algorithmes d'apprentissage automatique grĂące Ă  l'ajustement fin et Ă  l'optimisation des algorithmes.
  • Formulation d'hypothĂšses « fortes » en accord avec la stratĂ©gie de l'entreprise, qui doivent ĂȘtre vĂ©rifiĂ©es.

À la fois le Data Engineer et le Data Scientist contribuent de maniĂšre significative au dĂ©veloppement d'une culture de traitement des donnĂ©es, permettant Ă  l'entreprise d'augmenter ses profits ou de rĂ©duire ses coĂ»ts.

Avec quels langages et outils travaillent les ingénieurs et les scientifiques des données

Aujourd'hui, les attentes vis-Ă -vis des spĂ©cialistes du traitement des donnĂ©es ont changĂ©. Auparavant, les ingĂ©nieurs rĂ©digeaient de grandes requĂȘtes SQL, Ă©crivaient manuellement des MapReduce et traitaient des donnĂ©es Ă  l'aide d'outils tels qu'Informatica ETL, Pentaho ETL, Talend. 

En 2020, un spécialiste ne peut se passer de la connaissance de Python et des outils modernes de calcul (comme Airflow), ainsi que de la compréhension des principes de travail avec les plateformes cloud (en les utilisant pour économiser sur le matériel tout en respectant les principes de sécurité).

SAP, Oracle, MySQL, Redis — ce sont des outils traditionnels pour les ingĂ©nieurs de donnĂ©es dans les grandes entreprises. Ils sont bons, mais le coĂ»t des licences est si Ă©levĂ© qu'il n'est logique d'apprendre Ă  les utiliser que dans des projets industriels. Il existe nĂ©anmoins une alternative gratuite comme Postgres — il est gratuit et convient non seulement pour l'apprentissage. 

Data Engineer et Data Scientist : quelle est la différence ?
Historiquement, il y a souvent eu une demande pour Java et Scala, bien que, avec l'évolution des technologies et des approches, ces langages passent au second plan.

Cependant, le Big Data hardcore : Hadoop, Spark et le reste du zoo ne sont plus des conditions indispensables pour un ingĂ©nieur de donnĂ©es, mais plutĂŽt un ensemble d'outils pour rĂ©soudre des problĂšmes qui ne peuvent ĂȘtre rĂ©solus avec un ETL traditionnel. 

Les services sans besoin de connaĂźtre le langage dans lequel ils sont Ă©crits (par exemple, Hadoop sans connaissance de Java) sont Ă  la mode, ainsi que la fourniture de services prĂȘts Ă  l'emploi pour le traitement des donnĂ©es en continu (reconnaissance vocale ou d'images sur vidĂ©o).

Les solutions industrielles de SAS et SPSS sont populaires, tandis que Tableau, Rapidminer, Stata et Julia sont également largement utilisés par les data scientists pour des tùches locales.

Data Engineer et Data Scientist : quelle est la différence ?
La possibilitĂ© de construire soi-mĂȘme des pipelines est apparue pour les analystes et les data scientists il y a seulement quelques annĂ©es : par exemple, il est dĂ©jĂ  possible d'acheminer des donnĂ©es vers un stockage basĂ© sur PostgreSQL avec des scripts relativement simples. 

En gĂ©nĂ©ral, l'utilisation de pipelines et de structures de donnĂ©es intĂ©grĂ©es reste entre les mains des data engineers. Mais aujourd'hui plus que jamais, la tendance des spĂ©cialistes en T — avec des compĂ©tences larges dans des domaines connexes — est forte, car les outils se simplifient continuellement.

Pourquoi Data Engineer et Data Scientist doivent-ils travailler ensemble

En collaborant Ă©troitement avec les ingĂ©nieurs, les Data Scientists peuvent se concentrer sur l'aspect recherche, en crĂ©ant des algorithmes de machine learning prĂȘts Ă  l'emploi.
Et les ingénieurs peuvent se concentrer sur l'évolutivité, la réutilisation des données et s'assurer que les pipelines d'entrée et de sortie des données dans chaque projet répondent à l'architecture globale.

Une telle répartition des tùches assure une cohérence d'action entre les groupes de spécialistes travaillant sur différents projets de machine learning. 

La collaboration aide à créer efficacement de nouveaux produits. La rapidité et la qualité sont atteintes grùce à un équilibre entre la création d'un service pour tous (stockage global ou intégration de tableaux de bord) et la réalisation de chaque besoin ou projet spécifique (pipeline spécialisé, connexion à des sources externes). 

Le travail étroit avec les data scientists et les analystes aide les ingénieurs à développer des compétences analytiques et de recherche pour écrire un code de meilleure qualité. L'échange de connaissances entre les utilisateurs de stockages et de lacs de données s'améliore, rendant les projets plus flexibles et assurant des résultats durables à long terme.

Dans les entreprises qui visent à développer une culture de travail des données et à construire des processus commerciaux sur cette base, les Data Scientists et les Data Engineers se complÚtent et créent un systÚme d'analyse de données complet. 

Dans le prochain article, nous allons parler de l'éducation requise pour les Data Engineers et les Data Scientists, des compétences qu'ils doivent développer et de la structure du marché.

De la rédaction de Netology

Si vous envisagez une carriÚre en tant que Data Engineer ou Data Scientist, nous vous invitons à découvrir nos programmes de cours :

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster