Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

¿Dónde encaja Apache Flink en el ecosistema actual de tecnologías Big Data?

1,664 views

Published on

#1 Meetup Apache Flink en Madrid - España

Published in: Software

¿Dónde encaja Apache Flink en el ecosistema actual de tecnologías Big Data?

  1. 1. Meetup Apache Flink Madrid Introducción a Apache Flink ¿Dónde encaja Apache Flink en el ecosistema de tecnologías Big Data? Dr. Rubén Casado ruben.casado@treelogic.com #1. Introducción a Apache Flink. Networking
  2. 2. Meetup Apache Flink Madrid Introducción a Apache Flink ¿Dónde encaja Apache Flink en el ecosistema de tecnologías Big Data? Dr. Rubén Casado ruben.casado@treelogic.com #1. Introducción a Apache Flink. Networking
  3. 3. Meetup Apache Flink Madrid Introducción a Apache Flink AGENDA 1. ¿Qué y cómo es Big Data? 2. Batch processing 3. Real-time processing 4. Hybrid computation model 5. Apache Flink en el ecosistema Big Data
  4. 4. Meetup Apache Flink Madrid Introducción a Apache Flink ¿QUÉ ES BIG DATA? Grandes cantidades de datos estructurados y desestructurados que no se pueden procesar utilizando tecnologías tradicionales.
  5. 5. Meetup Apache Flink Madrid Introducción a Apache Flink ¿CÓMO ES BIG DATA? Big Data are high-volume, high-velocity, and/or high-variety information assets that require new forms of processing to enable enhanced decision making, insight discovery and process optimization. - Gartner IT Glossary -
  6. 6. Meetup Apache Flink Madrid Introducción a Apache Flink 3 PROBLEMAS VOLUMEN VARIEDAD VELOCIDAD
  7. 7. Meetup Apache Flink Madrid Introducción a Apache Flink 3 SOLUCIONES BATCH PROCESSING NOSQL STREAMING PROCESSING
  8. 8. Meetup Apache Flink Madrid Introducción a Apache Flink 3 SOLUCIONES BATCH PROCESSING NOSQL STREAMING PROCESSING
  9. 9. Meetup Apache Flink Madrid Introducción a Apache Flink ¿CIENCIA O INGENIERÍA? VOLUMEN VARIEDAD VELOCIDAD
  10. 10. Meetup Apache Flink Madrid Introducción a Apache Flink ¿CIENCIA O INGENIERÍA? VOLUMEN VARIEDAD VELOCIDAD VALOR
  11. 11. Meetup Apache Flink Madrid Introducción a Apache Flink ¿CIENCIA O INGENIERÍA? VOLUMEN VARIEDAD VELOCIDAD VALORAnálisis de Datos (DATA SCIENCE) Ingeniería del Software (DATA ENGINEERING)
  12. 12. Meetup Apache Flink Madrid Introducción a Apache Flink VELOCITY BATCH PROCESSING  Escalable.  Grandes cantidades de información estática.  Distribuido.  Paralelo.  Tolerante a fallos.  Alta latencia. VOLUME
  13. 13. Meetup Apache Flink Madrid Introducción a Apache Flink STREAMING PROCESSING  Baja latencia.  Información generada de continuo (streams).  Distribuido.  Paralelo.  Tolerante a fallos. VOLUME VELOCITY
  14. 14. Meetup Apache Flink Madrid Introducción a Apache Flink HYBRID COMPUTATION MODEL     Combina VOLUME VELOCITY
  15. 15. Meetup Apache Flink Madrid Introducción a Apache Flink PARADIGMAS DE PROCESAMIENTO Batch processing  Datos estáticos  Escalabilidad  Volumen Streaming processing  Datos en continuo  Resultados en tiempo real  Velocidad Hybrid computation  Arquitecturas Lambda & Kappa  Volumen + Velocidad 2006 2010 2014 ORIGEN 2003 1ª GENERACIÓN 2ª GENERACIÓN 3ª GENERACIÓN
  16. 16. Meetup Apache Flink Madrid Introducción a Apache Flink BIG DATA: LÍNEA DEL TIEMPO 2005 The Google File System 2004 2006 2010 2014 2003 20152009 2008 2007 2013 2012 2011 BATCH STREAM HYBRID MapReduce: Simplified Data Processing on Large Clusters Yahoo! comienza a trabajar en Hadoop Yahoo! crea S4 Facebook crea Hive LinkedIn presenta Samza Doug Cutting comienza el desarrollo de Hadoop Apache Hadoop está en producción Nathan Marz crea Storm Yahoo! crea Pig MillWheel: Fault-Tolerant Stream Processing at Internet Scale LinkedIn crea Kafka Cloudera crea Flume Nathan Marz define la Arquitectura Lambda Se libera Spark Arrancan Lambdoop & Summinbgird Stratosphere evoluciona a Apache Flink Comienza la batalla SQL-on-Hadoop Jay Kreps define la Arquitectura Kappa Cloudera libera Kudu 2016 Google propone Apache Beam
  17. 17. Meetup Apache Flink Madrid Introducción a Apache Flink FLUJO DE PROCESAMIENTO RESULTSDATA STORAGE DATA ANALYSIS DATA ACQUISITION
  18. 18. Meetup Apache Flink Madrid Introducción a Apache Flink AGENDA 1. ¿Qué y cómo es Big Data? 2. Batch processing 3. Real-time processing 4. Hybrid computation model 5. Apache Flink en el ecosistema Big Data
  19. 19. Meetup Apache Flink Madrid Introducción a Apache Flink HADOOP
  20. 20. Meetup Apache Flink Madrid Introducción a Apache Flink ECOSISTEMA HADOOP
  21. 21. Meetup Apache Flink Madrid Introducción a Apache Flink SPARK  Sistema de computación distribuida optimizado para data analytics.  No es una versión modificada de Hadoop.  Compatible con HDFS.  Almacenamiento en memoria para ejecuciones rápidas de procesamientos iterativos.  API similar a MapReduce pero extendida.  Accesible desde Scala, Java, Python y R.
  22. 22. Meetup Apache Flink Madrid Introducción a Apache Flink SPARK VERSUS HADOOP
  23. 23. Meetup Apache Flink Madrid Introducción a Apache Flink ECOSISTEMA SPARK Spark SQL Spark Streaming MLlib (MACHINE LEARNING) GraphX (GRAPH) Apache Spark
  24. 24. Meetup Apache Flink Madrid Introducción a Apache Flink AGENDA 1. ¿Qué y cómo es Big Data? 2. Batch processing 3. Real-time processing 4. Hybrid computation model 5. Apache Flink en el ecosistema Big Data
  25. 25. Meetup Apache Flink Madrid Introducción a Apache Flink REAL-TIME PROCESSING TECHNOLOGIES RESULTS DATA STORAGE DATA ANALYSIS DATA ACQUISITION
  26. 26. Meetup Apache Flink Madrid Introducción a Apache Flink FLUME STREAMING DATA SOURCE SINK CHANNEL AGENT PROCESSING
  27. 27. Meetup Apache Flink Madrid Introducción a Apache Flink KAFKA  Kafka un sistema de colas distribuido, particionado y replicado. • Modelo Productor/Consumidor. • Almacena los mensajes en categorías llamadas topics. • Se ejecuta sobre un clúster.
  28. 28. Meetup Apache Flink Madrid Introducción a Apache Flink Hadoop Storm JobTracker Nimbus TaskTracker Supervisor Job Topology STORM  Sistema de computación en tiempo real distribuido y escalable.  Hace para real-time processing lo que Hadoop hizo para batch processing.  Topology: grafo de procesamiento. Cada nodo contiene la lógica de aplicación. • Spout: Origen de los streams de datos. Leen de la fuente y emite dato a dato hacía la topología. • Bolts: Unidad de procesamiento. Leen datos de otros nodos, procesan y pueden producir datos hacia otros nodos. • Stream: Secuencia infinita de tuplas. Una tupla es un objeto serializado
  29. 29. Meetup Apache Flink Madrid Introducción a Apache Flink SAMZA  Motor de procesamientos de data streams en tiempo real.  Desarrollado por LinkedIn. Perfecta conexión con Kafka. Compatible con YARN. • Stream: Conjunto de mensajes inmutables de una misma categoría. • Job: Código que transforma un stream en otro stream. • Partition: Para asegurar escalabilidad, cada stream se parte en partitions de mensajes ordenados. • Tasks: Por asegurar escalabilidad, un job se divide en tasks. • Checkpoint: para asegurar recuperación ante fallos. • State management: Estado de cada task. Persistente y consultable.
  30. 30. Meetup Apache Flink Madrid Introducción a Apache Flink SPARK STREAMING  Spark para real-time processing.  Procesamiento de streaming como una serie de micro batch Jobs.  Almacenamiento de los estados en memoria.  API similar a Spark.
  31. 31. Meetup Apache Flink Madrid Introducción a Apache Flink AGENDA 1. ¿Qué y cómo es Big Data? 2. Batch processing 3. Real-time processing 4. Hybrid computation model 5. Apache Flink en el ecosistema Big Data
  32. 32. Meetup Apache Flink Madrid Introducción a Apache Flink ARQUITECTURA LAMBDA
  33. 33. Meetup Apache Flink Madrid Introducción a Apache Flink ARQUITECTURA LAMBDA
  34. 34. Meetup Apache Flink Madrid Introducción a Apache Flink SERVING DBSTREAM PROCESSING SYSTEM DATA DATA STORAGE 1 2 3 4 5 . Job version n Job version n+1 Outoput table n+1 Outoput table n Query ARQUITECTURA KAPPA
  35. 35. Meetup Apache Flink Madrid Introducción a Apache Flink SERVING DBSTREAM PROCESSING SYSTEM DATA DATA STORAGE 1 2 3 4 5 . Job version n Job version n+1 Outoput table n+1 Outoput table n Query ARQUITECTURA KAPPA
  36. 36. Meetup Apache Flink Madrid Introducción a Apache Flink AGENDA 1. ¿Qué y cómo es Big Data? 2. Batch processing 3. Real-time processing 4. Hybrid computation model 5. Apache Flink en el ecosistema Big Data
  37. 37. Meetup Apache Flink Madrid Introducción a Apache Flink APACHE FLINK  Stack tecnológico desarrollado inicialmente como proyecto de I+D Stratosphere por grupos de investigación de Berlín. Apache Incubator en Abril 2014 y Apache Top Level en Diciembre 2014.  Motor de procesamiento en memoria: • Procesamiento de streaming puro. Batch es un tipo concreto de Streaming. • API similar a Spark. • Soporte nativo de iteraciones. • Híbrido mediante Arquitectura Kappa. • Ecosistema creciendo.
  38. 38. Meetup Apache Flink Madrid Introducción a Apache Flink EJEMPLOS  Batch  Streaming
  39. 39. Meetup Apache Flink Madrid Introducción a Apache Flink Librerías Ingesta y almacenamiento de datos Motores de procesamiento Gestores de aplicaciones y recursos CLASIFICACIÓN YARN
  40. 40. Meetup Apache Flink Madrid Introducción a Apache Flink COMPARACIÓN CON OTRAS TECNOLOGÍAS API low-level high-level high-level Data Transfer batch batch pipelined & batch Memory Management disk-based JVM-managed Active managed Iterations file system cached in-memory cached streamed Fault tolerance task level task level job level Good at massive scale out data exploration heavy backend & iterative jobs Libraries many external built-in & external evolving built-in & external Batch processing Streaming “true” mini batches “true” API low-level high-level high-level Fault tolerance tuple-level ACKs RDD-based (lineage) coarse checkpointing State not built-in external internal Exactly once at least once exactly once exactly once Windowing not built-in restricted flexible Latency low medium low Throughput medium high high Streaming processing
  41. 41. Meetup Apache Flink Madrid Introducción a Apache Flink ¡GRACIAS! ruben_casado ruben.casado@treelogic.com

×