• Skip to primary navigation
  • Skip to main content

Master Big Data online

Master Big Data online

  • Inicio
  • Profesores
  • Requisitos de Acceso
  • Proceso de Admisión

MÓDULO IV: PROCESAMIENTO DE DATOS EN TIEMPO REAL

Presentación y contextualización

En la corta historia del Big Data existen a día de hoy dos tendencias tecnológicas que conviven y permiten afrontar los problemas de procesamiento de grandes datos de manera diferente.

La primera aproximación fue la de procesar los datos allí donde residen y la encarna el ecosistema Apache Hadoop. Una de las limitaciones de dicha tecnología es que la latencia de procesamiento es grande y los resultados del procesado se tienen en el rango de minutos u horas.

Una aproximación alternativa es procesar los datos en tránsito para que los resultados se obtengan en segundos e incluso en tiempo real. Consiste en procesar flujos de datos o streams para obtener resultados prácticamente inmediatos y poder utilizarlos para toma de decisiones rápidas.

El presente módulo introduce los conceptos de streaming, su utilidad y las soluciones arquitectónicas y tecnológicas que actualmente se usan para procesamiento de grandes datos en vuelo.

Requisitos y/o recomendaciones

El módulo requiere conocimientos básicos de:

  1. Programación para la implementación de escenarios básicos de procesamiento de streams.
  2. Manejo de soluciones de virtualización. En el presente módulo se experimentará con herramientas en instalaciones locales. El profesor suministrará un Virtual Appliance compatible con VMWare y VirtualBox con todo lo necesario como parte del material del módulo.
  3. Manejo de soluciones cloud. Para aquellas herramientas del módulo para las que existan soluciones PaaS o SaaS se usarán soluciones de nube pública.

Competencias que se adquieren

Al término del módulo se deberán alcanzar los siguientes objetivos:

  • Diferenciar casos de uso en los que aplica el procesamiento de streams de información.
  • Interiorizar el patrón básico de arquitectura para procesamiento de streams, conocido como arquitectura Kappa.
  • Reconocer las múltiples soluciones tecnológicas para procesamiento de streams y disponer de criterios para la selección de la más adecuada.
  • Implementar pipelines básicos de adquisición y procesamiento de streams con las soluciones tecnológicas apredidas.

Contenidos

En la asignatura se tratarán los siguientes contenidos:

  • Introducción a las arquitecturas de procesamiento de streams:
    • Conceptos y casos de uso
    • Patrones de arquitectura: Arquitectura Kappa
    • Componentes tecnológicos para adquisición, transmisión y procesamiento de streams
  • Componentes tecnológicos de adquisición y transmisión de eventos:
    • Adquisición con Apache Flume
    • Adquisición y transmisión con Apache Kafka
    • Soluciones en cloud
  • Componentes tecnológicos de procesamiento de streams de eventos:
    • Procesamiento con Spark Streaming
    • Kafka para procesamiento: Kafka Streams y KSQL
    • Procesamiento con Apache Storm
    • Procesamiento con Apache Flink
    • Otras soluciones y soluciones en cloud
  • Procesamiento de streams:
    • Machine learning en streaming
    • Algoritmos aproximados

El presente módulo se impartirá en seis sesiones con el plan de trabajo siguiente.

Sesión 1: Fundamentos de streaming.

  1. Conceptos.
  2. Casos de uso.
  3. Patrones de arquitectura.
  4. Componentes de arquitectura.

Sesión 2: Adquisición y transmisión de eventos. Flume y Kafka.

  1. Flujos de adquisición de eventos con Apache Flume.
  2. Introducción a Apache Kafka.
  3. Kafka como sistema de mensajería. Publicación y consumición de eventos.
  4. Kafka como sistema de almacenamiento. Disponibilidad, tolerancia a fallos y particionamiento.
  5. Adquisición y publicación de eventos con Kafka Connect.
  6. Alternativas de adquisición y transmisión en cloud.

Sesión 3: Procesamiento de streams de eventos con Spark Streaming.

  1. Introducción a Spark Streaming. Discretizando streams.
  2. Receptores. Integración con Kafka.
  3. Transformaciones. SQL sobre streams.
  4. Manteniendo estado.
  5. Structured Streaming.

Sesión 4: Procesamiento de streams de eventos con Apache Storm.

  1. Introducción a Storm. Conceptos.
  2. Integración con terceros y Kafka.
  3. Paralelismo y garantías de procesamiento.
  4. Introducción a Trident.

Sesión 5: Otras tecnologías de procesamiento de streams de eventos.

  1. Procesamiento de eventos con Apache Flink.
  2. Procesamiento con Kafka: Kafka Streams y KSQL.
  3. Soluciones PaaS y SaaS de procesamiento en cloud.

Sesión 6: Escenarios de procesamiento de streams de eventos.

  1. Introducción a los algoritmos aproximados.
  2. Ejemplos de algoritmos aproximados.
  3. Aprendizaje automático sobre streams.

Bibliografía

  • Using Flume: http://shop.oreilly.com/product/0636920030348.do
  • Kafka in Action: https://www.manning.com/books/kafka-in-action
  • Spark: The Definitive Guide: http://shop.oreilly.com/product/0636920034957.do
  • Flink in Action: https://manning-content.s3.amazonaws.com/download/7/5c5664d-ba2d-41b0-bf48-e733601eb3b5/Wadkar_Flink_MEAP_V02_ch1.pdf
  • Storm Real-Time Processing Cookbook: https://www.amazon.com/Real-Time-Processing-Cookbook-Quinton-Anderson/dp/1782164421
  • Data Streams: Algorithms and Applications: https://www.amazon.com/Data-Streams-Applications-Foundations-Theoretical/dp/193301914X

Recursos de apoyo y Webgrafía

  • Flume: https://flume.apache.org/documentation.html
  • Kafka: http://kafka.apache.org/documentation.html
  • Spark Streaming. https://spark.apache.org/docs/latest/streaming-programming-guide.html
  • Flink: https://ci.apache.org/projects/flink/flink-docs-release-1.4/
  • Storm: http://storm.apache.org/releases/current/index.html

Copyright © 2021 · info@master-bigdata.online