Introducción
Mediante Azure HDInsight con Apache Kafka y Apache Spark, puede crear canalizaciones y aplicaciones de análisis de datos de streaming en tiempo real en la nube.
Apache Kafka es un sistema de mensajería distribuida que toma los datos de streaming entrantes de varios sistemas y los pone a disposición de otras aplicaciones en tiempo real. Apache Kafka funciona mediante la creación de una cola de datos ordenados, la replicación de los datos en varias máquinas, de forma que no haya un único punto de error, y de ponerlos a disposición de lo que se conoce como publicadores o consumidores. Los publicadores son los clientes que crean los mensajes y los agregan a la cola de Kafka, y los consumidores reciben los mensajes en función de sus suscripciones.
Apache Spark es un sistema de procesamiento paralelo que permite tomar datos de sistemas como Apache Kafka, transformarlos y reaccionar ante ellos. Apache Kafka permite controlar y guardar los datos, y Apache Spark modificarlos y procesarlos. Cuando se usan de forma conjunta, Spark puede ingerir lotes pequeños o flujos continuos de datos de Kafka y procesarlos en tiempo real con lo que se denomina flujo estructurado. Cuando las empresas implementan el flujo estructurado, pueden usar una única arquitectura para procesar datos por lotes, datos de streaming en tiempo real o una combinación de los dos, lo que les permite subir el nivel de sus aplicaciones a medida que pasan del procesamiento por lotes a incluir el procesamiento en tiempo real, sin tener que aprender ni implementar otros marcos.
Con Apache Kafka y Apache Spark en Azure HDInsight, puede crear esta arquitectura en cuestión de minutos, y beneficiarse de la escalabilidad y la alta disponibilidad de un proveedor de nube en línea. Esto también permite a las empresas que han creado aplicaciones de Kafka y Spark locales migrar estas cargas de trabajo a la nube más fácilmente.
Como ingeniero de datos en el sector bancario, debe poder iniciar el procesamiento de streaming y por lotes de datos entrantes con una latencia muy baja, y cree que Apache Spark y Apache Kafka pueden ser las herramientas adecuadas para el trabajo.
Objetivos de aprendizaje
Al final de este módulo, podrá hacer lo siguiente:
- Usar HDInsight
- Transmitir datos con Apache Kafka
- Describir el flujo estructurado de Spark
- Crear una arquitectura de Spark para Kafka
- Aprovisionar HDInsight para realizar transformaciones de datos
- Crear un productor de Kafka
- Transmitir datos de Kafka a un cuaderno de Jupyter Notebook
- Replicar datos en un clúster secundario