Codemotion 2013 - Desarrollo de videojuegos dirigido por pruebas
Codemotion 2016 - Big Data para Javeros con Apache Flink
-
Upload
luis-roldan -
Category
Data & Analytics
-
view
73 -
download
0
Transcript of Codemotion 2016 - Big Data para Javeros con Apache Flink
Big Data para Javeros con Apache Flink
Luis O. Roldán
@cloudhispano
Yo
• Desarrollando desde 1999
• Con Java desde 2001
• En Altran desde 2007
• Participando en proyectos de I+D desde 2013
• AGILE - BIG DATA - CLOUD - IOT - JAVA - MOBILE -NOSQL - PERFORMANCE - WEB DEV - DEVOPS
18/11/2016 Big Data para Javeros con Apache Flink 3
¿Por qué Flink?
• Java
• Big Data envy
• Cloud ready
• Comunidad
18/11/2016 Big Data para Javeros con Apache Flink 4
Historia de Flink
• 05/2011: Stratosphere 0.1
• 05/2014: Stratosphere 0.5 (Apache Incubator)
• 08/2014: Apache Flink 0.6-incubating
• 01/2015: Apache Flink 0.8-incubating
• 06/2015: Apache Flink 0.9
• 08/2016: Apache Flink 1.1
• 12/10/2016: Apache Flink 1.1.3
18/11/2016 Big Data para Javeros con Apache Flink 5
Intro de flink
• Apache Flink es una plataforma Open Source
• Procesado distribuido de datos tanto en Stream como en Batch.
– Comunicación.
– Tolerancia a fallos.
– Gestión de memoria.
– Optimización del Job.
18/11/2016 Big Data para Javeros con Apache Flink 6
Deploy
• Local
• Cluster
– Standalone
– YARN
• Cloud
– GCE
– EC2
– Amazon Elastic MapReduce (EMR)
18/11/2016 Big Data para Javeros con Apache Flink 7
Core
18/11/2016 Big Data para Javeros con Apache Flink 8
• La capa de Runtime recibe un programa en
forma de gráfico de tareas. Un Job Graph es
un flujo de datos paralelo genérico con tareas
arbitrarias que consumen y producen flujos de
datos.
APIs: Batch y Streaming
Batch
• DataSet Transformations
• File systems:
– Hadoop Distributed File
System (HDFS)
– Amazon S3
– MapR file system
– Alluxio
– ¿MongoDB?
Streaming
• DataStream Windows
• Connectores:– Apache Kafka (sink/source)
– Elasticsearch (sink)
– Elasticsearch 2x (sink)
– Hadoop FileSystem (sink)
– RabbitMQ (sink/source)
– Amazon Kinesis Streams(sink/source)
– Twitter Streaming API (source)
– Apache NiFi (sink/source)
– Apache Cassandra (sink)
– Redis (sink)
18/11/2016 Big Data para Javeros con Apache Flink 9
Librerías
• El stack de Flink ofrece bibliotecas de alto
nivel para diferentes casos de uso:
– Procesamiento de eventos complejos (CEP)
– Aprendizaje automático (FlinkML)
– Análisis gráfico (Gelly)
– Consultas relacionales (Table)
18/11/2016 Big Data para Javeros con Apache Flink 10
Casos de uso: Play
18/11/2016 Big Data para Javeros con Apache Flink 11
Casos de uso: Bond
18/11/2016 Big Data para Javeros con Apache Flink 12
Casos de uso: Bond
18/11/2016 Big Data para Javeros con Apache Flink 13
HeatMap example
18/11/2016 Big Data para Javeros con Apache Flink 14
HeatMap example
18/11/2016 Big Data para Javeros con Apache Flink 15
HeatMap example
18/11/2016 Big Data para Javeros con Apache Flink 16
HeatMap example
18/11/2016 Big Data para Javeros con Apache Flink 17
Contras
• Apoyo de las distribuciones Hadoop
(Cloudera, MapR, etc)
• FlinkML: Faltan algoritmos “potentes”
• Third party packages: Evolucionando…
18/11/2016 Big Data para Javeros con Apache Flink 18
Pros
• Es JAVA!
• Streaming First
• Arquitectura Lambda
18/11/2016 Big Data para Javeros con Apache Flink 19
¿Preguntas?
18/11/2016 Big Data para Javeros con Apache Flink 20
18/11/2016 Big Data para Javeros con Apache Flink 21