Codemotion 2016 - Big Data para Javeros con Apache Flink

20
Big Data para Javeros con Apache Flink Luis O. Roldán @cloudhispano

Transcript of Codemotion 2016 - Big Data para Javeros con Apache Flink

Page 1: Codemotion 2016 - Big Data para Javeros con Apache Flink

Big Data para Javeros con Apache Flink

Luis O. Roldán

@cloudhispano

Page 2: Codemotion 2016 - Big Data para Javeros con Apache Flink

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

Page 3: Codemotion 2016 - Big Data para Javeros con Apache Flink

¿Por qué Flink?

• Java

• Big Data envy

• Cloud ready

• Comunidad

18/11/2016 Big Data para Javeros con Apache Flink 4

Page 4: Codemotion 2016 - Big Data para Javeros con Apache Flink

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

Page 5: Codemotion 2016 - Big Data para Javeros con Apache Flink

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

Page 6: Codemotion 2016 - Big Data para Javeros con Apache Flink

Deploy

• Local

• Cluster

– Standalone

– YARN

• Cloud

– GCE

– EC2

– Amazon Elastic MapReduce (EMR)

18/11/2016 Big Data para Javeros con Apache Flink 7

Page 7: Codemotion 2016 - Big Data para Javeros con Apache Flink

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.

Page 8: Codemotion 2016 - Big Data para Javeros con Apache Flink

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

Page 9: Codemotion 2016 - Big Data para Javeros con Apache Flink

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

Page 10: Codemotion 2016 - Big Data para Javeros con Apache Flink

Casos de uso: Play

18/11/2016 Big Data para Javeros con Apache Flink 11

Page 11: Codemotion 2016 - Big Data para Javeros con Apache Flink

Casos de uso: Bond

18/11/2016 Big Data para Javeros con Apache Flink 12

Page 12: Codemotion 2016 - Big Data para Javeros con Apache Flink

Casos de uso: Bond

18/11/2016 Big Data para Javeros con Apache Flink 13

Page 13: Codemotion 2016 - Big Data para Javeros con Apache Flink

HeatMap example

18/11/2016 Big Data para Javeros con Apache Flink 14

Page 14: Codemotion 2016 - Big Data para Javeros con Apache Flink

HeatMap example

18/11/2016 Big Data para Javeros con Apache Flink 15

Page 15: Codemotion 2016 - Big Data para Javeros con Apache Flink

HeatMap example

18/11/2016 Big Data para Javeros con Apache Flink 16

Page 16: Codemotion 2016 - Big Data para Javeros con Apache Flink

HeatMap example

18/11/2016 Big Data para Javeros con Apache Flink 17

Page 17: Codemotion 2016 - Big Data para Javeros con Apache Flink

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

Page 18: Codemotion 2016 - Big Data para Javeros con Apache Flink

Pros

• Es JAVA!

• Streaming First

• Arquitectura Lambda

18/11/2016 Big Data para Javeros con Apache Flink 19

Page 19: Codemotion 2016 - Big Data para Javeros con Apache Flink

¿Preguntas?

18/11/2016 Big Data para Javeros con Apache Flink 20

Page 20: Codemotion 2016 - Big Data para Javeros con Apache Flink

18/11/2016 Big Data para Javeros con Apache Flink 21