- Fecha de publicación
- October 2019
- Tecnología
- Artículo
_ESIC Business & Marketing School
ESIC Business & Marketing School.
Existen tantas definiciones de data engineer como profesionales que se dedican a esta rama del desarrollo de aplicaciones. A diferencia de sus primos los data scientists, el de data engineer es un rol que no aparece con grandes rótulos de neón.
Se trata de una tarea silenciosa pero fundamental para el desarrollo de sistemas de información complejos, en particular aquellos que hacen uso de las tecnologías big data.
En el proceso de tratamiento avanzado de datos, los data scientists entrenan modelos que extraen conocimiento sobre el problema a tratar a partir de los datos usando herramientas matemáticas y conocimientos del dominio de negocio.
Pero antes de que sea posible definir y entrenar el modelo es necesario tener disponible un conjunto de datos válido sobre el que trabajar.
Para ello es necesario obtener, depurar y preparar los datos para su explotación. El encargado de realizar esta tarea es, cómo no, el data engineer, que es el encargado de asegurarse de definir e implementar un flujo de datos desde su origen hasta su explotación de una forma controlada y automatizada.
Son por tanto un componente vital en el proceso de análisis avanzado de los datos y son imprescindibles en cualquier empresa que pretenda que los datos sean el centro de su actividad. Ya sea para la toma de decisiones o para su monetización.
Por tanto, en una definición formal podríamos decir que el data engineer es el profesional enfocado en el diseño, desarrollo y mantenimiento de los sistemas de procesamiento de datos dentro de un proyecto big data.
¿Qué conocimientos le son útiles a un data engineer para llevar a cabo sus
funciones?
En primer lugar debe tener un conocimiento fluido de bases de datos relacionales y del lenguaje de consulta SQL. Esto le da el conocimiento sobre las técnicas de modelado de datos más utilizadas y conocimiento sobre cómo acceder a los datos de origen cuando estos residen en este tipo de almacenamiento.
En el mundo del big data no se huye tampoco del uso de esta tecnología cuando el caso en cuestión lo requiere. Además dado que el SQL es un estándar en lo referente a las consultas de datos, cada vez más y más herramientas big data lo soportan como lenguaje de acceso a los mismos.
El data engineer debe conocer técnicas de limpieza, sumarización y validación de los datos, de modo que la información llegue a los usuarios de la misma en la forma más adecuada para su correcta explotación.
El data engineer conoce como usar de forma óptima motores de procesamiento de datos big data de alto rendimiento como MapReduce, Spark o Flink.
Entre sus tareas habituales suele encontrarse el dar soporte a la configuración de los clusters de procesamiento, número de cores, memoria y otros parámetros de bajo nivel. Todo enfocado a que la ejecución de los modelos sea lo más eficiente.
¿Qué tecnologías son clave para un data engineer?
Entre las tecnologías usadas por un data engineer suelen encontrarse otras como bases de datos no relacionales y cómo modelar los datos en ellas. Ejemplos de estas tecnologías son HBASE, Cassandra o MongoDb. También es interesante que conozca el uso de motores de indexación como SolR o ElasticSearch.
En los sistemas de obtención de datos, en la actualidad, es muy importante para un data engineer el tener conocimiento de las tecnologías que permiten el acceso a los mismos en tiempo real. Generalmente hablamos de tecnologías de streaming, como Flume, Kafka o Spark Structured Streaming.
Su sistema operativo habitual es linux donde un data engineer debería tener gran soltura a la hora de desarrollar sus actividades habituales. Sus lenguajes de programación habituales son Java, Scala o Kotlin para el desarrollo de procesos de tratamiento de datos.
Y Python como lenguaje para el análisis y preparación previa de los datos y otras tareas de soporte al proceso de los mismos. También debe conocer las técnicas y herramientas habituales hoy en día para el desarrollo de aplicaciones git, metodologías ágiles, etc…
Además, es cada día más urgente para él tener conocimientos del desarrollo de aplicaciones nativas para la nube. En el mundo empresarial actual éste es un movimiento que cada vez más y más empresas están llevando a cabo. Conocer las diferencias entre el desarrollo de aplicaciones locales y basadas en la nube es necesario para realizar este movimiento con seguridad.
Para terminar, como profesional el data engineer debe ser capaz de moverse con confianza dentro de una gran cantidad de campos diferentes de la informática de sistemas y no debe parar en ningún momento de aprender y añadir nuevas herramientas a su cinturón.
¿Quieres dominar las tecnologías Big Data y convertirte en Director de Proyectos end to end? Fórmate con el Máster en Big Data y Business Analytics.
También te puede interesar
Team building: qué es y cómo podemos implementarlo en una empresa
Los empleados son la estructura de cualquier empresa. Sin ellos, el negocio no saldría adelante, motivo suficiente para tener departamentos encargados tan solo de buscar estrategias para que los empl...
- Publicado por _ESIC Business & Marketing School
Qué es el modelo zero trust y cómo ayuda a mejorar la seguridad de tu empresa
La pandemia de covid-19 supuso un antes y un después en el funcionamiento de las compañías. La sociedad al completo se vio obligada a trabajar desde casa, lo que hizo que las empresas tuvieran que ...
- Publicado por _ESIC Business & Marketing School
Dirección estratégica: qué es, para qué sirve y ejemplos
¿Vale todo el mundo para dirigir una compañía? Ser ambicioso y querer ascender en una empresa es, por supuesto, algo positivo y gratificante. Pero ¿qué ocurre cuando muchas personas llegan al pun...
- Publicado por _ESIC Business & Marketing School