Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Integrante:
Sebastián Jurado 20-70-4776
Profesor:
Ing. Carmen Ortega
SEMESTRE 1, 2022
1
El Data Engineering Cookbook pretende ser un punto de partida para aprender sobre la
ciencia de los datos, así como identificar los temas a investigar y convertir a personas
que lean este libro en ingenieros de datos. Diversos temas son tratados en este libro,
pero la información primordial es que es lo más importante para ser un ingeniero de
datos.
Las plataformas realizadas por los ingenieros se suelen utilizar de estas maneras:
2
El trabajo del científico de datos es descubrir cómo preparar los datos que alimentan
estos algoritmos, y para entrenar un algoritmo son necesarios datos útiles
Una vez se está satisfecho con el resultado se pone en producción, donde el algoritmo
se alimenta con datos en vivo, luego se monitorea la salida, si los resultados tienen
sentido es que el modelo se encuentra en funcionamiento, mientras que, si la salida del
modelo cambia y dura más de lo esperado, significa que el modelo ya no es funcional.
En este caso sería necesario desencadenar un reentrenamiento del modelo y
reemplazar al que ya está en producción.
3
La parte de ingeniería del modelo hace que estos datos se encuentren disponibles,
tanto para el científico de datos y el proceso de aprendizaje de datos. Entonces esta
parte del modelo se empieza con la configuración de hiperparámetro, y se debe
almacenar y administrar estas configuraciones construyendo canalizaciones de como
ingresan los datos y como la plataforma es conectada a otros sistemas
Una vez que los datos y los sistemas están disponibles, es hora de la parte del
aprendizaje automático, Está listo para procesar. Básicamente listo para el científico de
datos. Una vez que se realiza el análisis, el ingeniero de datos necesita construir
canalizaciones para que sea accesible nuevamente. Por ejemplo, para otros procesos
analíticos, para API, para front-end, etc.
Otro plan de datos es el de plataforma de ciencia de datos, que implica en conectar las
APIs y las apps de flujo de datos para dar inicio a la fase de ingestión y enviar datos a
un almacenamiento temporal que permite a otras etapas realizar un acceso más simple
y rápido a los datos entrantes. Luego en la fase de búfer se implementan herramientas
que pretenden tener un sistema intermedio para datos entrantes y tiene sistema de
publicación y suscripción tales como Apache Kafka, Redis u otras herramientas de las
4
nubes como Google pub/sub o AWS Kinesis. Si no se tiene un búfer, se puede tener
problemas a escribir en directamente en una base de almacenamiento o al procesar los
datos directamente. Siempre se puede tener picos de datos entrantes que detengan los
sistemas. Ya en la fase del framework de procesos es donde se realiza el análisis
real en forma de flujo y procesamiento por lotes ya que los datos de transmisión se
toman de la ingesta y se introducen en el análisis, plataformas como Stream analiza los
datos en vivo generando así resultados rápidos. Luego en la fase de almacenamiento
es donde simplemente es almacenado todos los datos y permite analizar el panorama
general, la mayoría de los datos pueden parecer inútiles, pero es importante que todos
los tipos de datos estén almacenados en cualquier sistema de almacenamiento de big
data o almacenamiento en la nube o también sistemas SQL y/o NoSQL. Ya para
finalizar en la fase de visualización se busca que los usuarios comerciales tomen
decisiones basadas en los datos, es importante tener una buena presentación visual de
los datos y dar acceso directo a estos en el clúster de big data que permitirá a los
desarrolladores utilizar los resultados de los análisis, así como datos sin procesar para
crear la aplicación más optimas.
También es importante que el ingeniero de datos este familiarizado con Git, ya que es
importante que se tenga un seguimiento de los cambios en la codificación de los
programas. Si el código es colocado en GitHub es de fácil acceso para compañeros del
grupo encontrar códigos y entenderlo a través de documentación y pueden extraerlo,
crear ramas y hacer cambios.
5
Es necesario también poseer como profesional la capacidad de adaptarse rápidamente
a circunstancias cambiantes y realizar trabajos en frameworks que agilicen el trabajo de
datos de manera considerable. Es necesario también los conocimientos básicos de
computación y transmisión de redes de datos, así como también de seguridad y
privacidad de los datos, los usos de Linux y los conceptos básicos de sistemas
operativos. Y por último saber los conceptos básicos y el manejo de contenedores y
microservicios de Docker.
También los ingenieros de datos toman en cuenta la nube, y las plataformas que usan
esta, tales como AWS, Azure, IBM, Google y las nubes hibridas (que son una
combinación de implementación local y en la nube, teniendo como ejemplo a Google
Anthos)
Se dice que Big Data posee cuatro “V’s” que dan una dirección general del proyecto,
las cuales son:
• Volumen
• Velocidad
• Veracidad
• Variedad
Sin embargo, Big Data posee un problema y es que es muy poco confiable. Realmente
un usuario no puede confiar en los datos, en especial cuando se viene del lado de IoT y
no se puede estar 100% seguro de que la medida real es la correcta y el libro en si no
recomienda usar herramientas de Big Data.
6
Otro tema para tratar es el ETL, el cual es un despliegue de plataforma típico de la
plataforma de la vieja escuela, en el cual consiste en los dispositivos que utilizan una
API de datos para cargar datos y almacenarlos en una base de datos SQL. Una
herramienta de análisis externa consulta los datos y carga los resultados a la base de
datos SQL. A continuación, los usuarios utilizan la interfaz de usuario para visualizar los
datos almacenados en la base de datos.
7
Aunque el libro no recomienda en sí la utilización de Big Data, recomienda el uso de las
plataformas de Hadoop en caso de que utilizar Big Data sea necesario en el desarrollo
del proyecto de software
Algo que hace que Hadoop sea tan popular es que su funcionalidad central es el motor
de adopción ya que muchos proyectos y plataformas de Apache utilizan sus funciones
principales, entre estas están:
Siendo Apache Spark, considerado por muchos años como el rival de Hadoop, el
software más eficiente con el que Hadoop puede encajar ya que Spark es un marco de
análisis para los recursos que almacena Hadoop,
8
ejecuta un nodo de datos HDFS, también se ejecuta un subproceso de trabajo de
Spark.
Spark puede identificar de forma nativa en qué nodo de datos se almacenan los datos
necesarios. Esto permite que Spark use el trabajador que se ejecuta en la máquina
donde se almacenan los datos para cargar los datos en la memoria
Para finalizar, de mas habilidades que el ingeniero de datos debe tener de manera
avanzada es el manejo de Apache Flink y las Bases de Datos SQL y NoSQL (de estas
se pueden destacar tales como Elasticsearch, MongoDB, Hive y Impala) así como
visualización en Android e IOS y herramientas de inteligencia empresarial tales como
Tableau.
9
Consideración Final: Realizar esta lectura pude comprender como trabajan los
ingenieros y científicos de datos, que les conviene y que no a la hora de realizar
proyectos con datos, y las herramientas y plataformas disponibles para la realización
de estas actividades de análisis e investigación de datos, también se pudo observar las
ventajas y desventajas de usar Big Data, y los procesos realizados a la hora de
implementar Machine Learning, entre muchas cosas más.
10