Enxeñeiro de datos e científico de datos: cal é a diferenza?

As profesións de Data Scientist e Data Engineer adoitan confundirse. Cada empresa ten as súas propias especificidades de traballar con datos, diferentes fins para a súa análise e unha idea diferente de que especialista debe ocuparse de que parte do traballo, polo que cada unha ten os seus propios requisitos. 

Imos descubrir cal é a diferenza entre estes especialistas, que problemas empresariais solucionan, que habilidades teñen e canto gañan. O material resultou ser grande, polo que o dividimos en dúas publicacións.

No primeiro artigo, Elena Gerasimova, xefa da facultade "Ciencia de datos e analítica" en Netology, indica cal é a diferenza entre un Data Scientist e un Data Engineer e con que ferramentas traballan.

Como se diferencian os papeis dos enxeñeiros e dos científicos

Un enxeñeiro de datos é un especialista que, por unha banda, desenvolve, proba e mantén a infraestrutura de datos: bases de datos, sistemas de almacenamento e procesamento masivo. Por outra banda, este é quen limpa e "peitea" os datos para o seu uso por analistas e científicos de datos, é dicir, crea canalizacións de procesamento de datos.

Data Scientist crea e adestra modelos preditivos (e outros) utilizando algoritmos de aprendizaxe automática e redes neuronais, axudando ás empresas a atopar patróns ocultos, prever desenvolvementos e optimizar os procesos comerciais clave.

A principal diferenza entre un Data Scientist e un Data Engineer é que adoitan ter obxectivos diferentes. Ambos traballan para garantir que os datos sexan accesibles e de alta calidade. Pero un científico de datos atopa respostas ás súas preguntas e proba hipóteses nun ecosistema de datos (por exemplo, baseado en Hadoop) e un enxeñeiro de datos crea unha canalización para atender un algoritmo de aprendizaxe automática escrito por un científico de datos nun clúster de Spark dentro do mesmo ecosistema. 

Un enxeñeiro de datos aporta valor a unha empresa traballando como parte dun equipo. A súa tarefa é actuar como un vínculo importante entre os diferentes participantes: desde desenvolvedores ata empresas consumidoras de informes, e aumentar a produtividade dos analistas, desde o marketing e o produto ata a BI. 

Un Data Scientist, pola contra, participa activamente na estratexia da empresa e extrae insights, toma decisións, implementa algoritmos de automatización, modela e xera valor a partir dos datos.
Enxeñeiro de datos e científico de datos: cal é a diferenza?

Traballar con datos está suxeito ao principio GIGO (garbage in - garbage out): se os analistas e os científicos de datos tratan con datos non preparados e potencialmente incorrectos, os resultados, incluso usando os algoritmos de análise máis sofisticados, serán incorrectos. 

Os enxeñeiros de datos resolven este problema creando canalizacións para procesar, limpar e transformar datos e permitir que os científicos de datos traballen con datos de alta calidade. 

Existen moitas ferramentas no mercado para traballar con datos que abarcan todas as etapas: desde a aparición dos datos ata a saída ata un cadro de mando para o consello de administración. E é importante que a decisión de usalos sexa tomada por un enxeñeiro, non porque estea de moda, senón porque realmente axudará ao traballo doutros participantes no proceso. 

Convencionalmente: se unha empresa precisa establecer conexións entre BI e ETL, cargando datos e actualizando informes, aquí tes unha base típica coa que un enxeñeiro de datos terá que lidiar (é bo se tamén hai un arquitecto no equipo).

Responsabilidades dun enxeñeiro de datos

  • Desenvolvemento, construción e mantemento de infraestruturas de procesamento de datos.
  • Xestión de erros e creación de canalizacións fiables de procesamento de datos.
  • Achegar datos non estruturados de diversas fontes dinámicas á forma necesaria para o traballo dos analistas.
  • Ofrecer recomendacións para mellorar a coherencia e a calidade dos datos.
  • Proporcionar e manter a arquitectura de datos utilizada polos científicos de datos e os analistas de datos.
  • Procesa e almacena datos de forma consistente e eficiente nun clúster distribuído de decenas ou centos de servidores.
  • Avalía os compromisos técnicos das ferramentas para crear arquitecturas sinxelas pero robustas que poidan sobrevivir ás interrupcións.
  • Control e soporte de fluxos de datos e sistemas relacionados (configuración de monitores e alertas).

Existe outra especialización dentro da traxectoria Data Engineer - ML engineer. En resumo, estes enxeñeiros están especializados en levar modelos de aprendizaxe automática á implementación e uso industrial. Moitas veces, un modelo recibido dun científico de datos forma parte dun estudo e pode non funcionar en condicións de combate.

Responsabilidades do Data Scientist

  • Extraer funcións dos datos para aplicar algoritmos de aprendizaxe automática.
  • Utilizar varias ferramentas de aprendizaxe automática para predicir e clasificar patróns en datos.
  • Mellorar o rendemento e a precisión dos algoritmos de aprendizaxe automática axustando e optimizando os algoritmos.
  • Formación de hipóteses "fortes" de acordo coa estratexia da empresa que cómpre probar.

Tanto o Data Engineer como o Data Scientist comparten unha contribución tanxible ao desenvolvemento dunha cultura de datos, a través da cal unha empresa pode xerar beneficios adicionais ou reducir custos.

Con que linguaxes e ferramentas traballan os enxeñeiros e científicos?

Hoxe, as expectativas dos científicos de datos cambiaron. Anteriormente, os enxeñeiros recollían grandes consultas SQL, escribían manualmente MapReduce e procesaban datos utilizando ferramentas como Informatica ETL, Pentaho ETL, Talend. 

En 2020, un especialista non pode prescindir do coñecemento de Python e das ferramentas de cálculo modernas (por exemplo, Airflow), da comprensión dos principios de traballo con plataformas en nube (usalos para aforrar hardware, observando os principios de seguridade).

SAP, Oracle, MySQL, Redis son ferramentas tradicionais para enxeñeiros de datos das grandes empresas. Son bos, pero o custo das licenzas é tan alto que aprender a traballar con elas só ten sentido en proxectos industriais. Ao mesmo tempo, hai unha alternativa gratuíta en forma de Postgres: é gratuíto e axeitado non só para adestrar. 

Enxeñeiro de datos e científico de datos: cal é a diferenza?
Historicamente, adoitan atoparse solicitudes de Java e Scala, aínda que a medida que se desenvolven tecnoloxías e enfoques, estas linguaxes pasan a un segundo plano.

Non obstante, o BigData hardcore: Hadoop, Spark e o resto do zoo xa non é un requisito previo para un enxeñeiro de datos, senón unha especie de ferramentas para resolver problemas que non poden ser resoltos polo ETL tradicional. 

A tendencia son os servizos de uso de ferramentas sen coñecemento da lingua na que están escritas (por exemplo, Hadoop sen coñecementos de Java), así como a prestación de servizos preparados para o procesamento de datos en streaming (recoñecemento de voz ou recoñecemento de imaxes en vídeo). ).

As solucións industriais de SAS e SPSS son populares, mentres que Tableau, Rapidminer, Stata e Julia tamén son moi utilizadas polos científicos de datos para tarefas locais.

Enxeñeiro de datos e científico de datos: cal é a diferenza?
A capacidade de construír canalizacións por si mesmos apareceu aos analistas e científicos de datos hai só un par de anos: por exemplo, xa é posible enviar datos a un almacenamento baseado en PostgreSQL mediante scripts relativamente sinxelos. 

Normalmente, o uso de canalizacións e estruturas de datos integradas segue a ser responsabilidade dos enxeñeiros de datos. Pero hoxe en día, a tendencia dos especialistas en forma de T con amplas competencias en campos relacionados é máis forte que nunca, porque as ferramentas están a simplificarse constantemente.

Por que o enxeñeiro de datos e o científico de datos traballan xuntos

Ao traballar en estreita colaboración cos enxeñeiros, os científicos de datos poden centrarse no lado da investigación, creando algoritmos de aprendizaxe automática preparados para a produción.
E os enxeñeiros deben centrarse na escalabilidade, na reutilización de datos e na garantía de que as canalizacións de entrada e saída de datos en cada proxecto individual cumpran coa arquitectura global.

Esta separación de responsabilidades garante a coherencia entre os equipos que traballan en diferentes proxectos de aprendizaxe automática. 

A colaboración axuda a crear novos produtos de forma eficiente. A rapidez e a calidade conséguense mediante un equilibrio entre a creación dun servizo para todos (almacenamento global ou integración de cadros de mando) e a implementación de cada necesidade ou proxecto específico (canalización moi especializada, conexión de fontes externas). 

Traballar en estreita colaboración con científicos de datos e analistas axuda aos enxeñeiros a desenvolver habilidades analíticas e de investigación para escribir un código mellor. Mellora o intercambio de coñecemento entre os usuarios de almacéns e lagos de datos, facendo os proxectos máis áxiles e proporcionando resultados máis sostibles a longo prazo.

Nas empresas que pretenden desenvolver unha cultura de traballo con datos e construír procesos de negocio baseados neles, Data Scientist e Data Engineer complétanse e crean un completo sistema de análise de datos. 

No seguinte artigo falaremos de que tipo de educación debería ter un enxeñeiro de datos e un científico de datos, que habilidades necesitan desenvolver e como funciona o mercado.

Dos editores de Netology

Se estás mirando a profesión de Enxeñeiro de Datos ou Científico de Datos, invitámosche a estudar os nosos programas de cursos:

Fonte: www.habr.com

Engadir un comentario