SlideShare a Scribd company logo
1 of 22
© Stratio 2018. Confidential, All Rights Reserved.
KAFKA
06th September 2018
Stratio 2018. Confidential, All Rights Reserved
Presentación
Quién soy?
Antonio Abril Ledesma
aabril@stratio.com
Arquitecto Software en Stratio
Kafka
Stratio 2018. Confidential, All Rights Reserved
KafkaINDICE
Introducción1
Arquitectura4
Análisis de tweets en tiempo real2
Características principales3
Demo5
Introducción
1
Stratio 2018. Confidential, All Rights Reserved
Kafka :
Apache Kafka es un sistema de almacenamiento publicador/subscriptor distribuido, particionado y replicado. Estas características, añadidas a que
es muy rápido en lecturas y escrituras lo convierten en una herramienta excelente para comunicar streams de información que se generan a gran
velocidad y que deben ser gestionados por una o varias aplicaciones.
En este ejemplo vamos a ver como mediante Twitter, podemos crear un sistema de ingestión de datos. Crearemos un productor y consumidor de
topics y mostraremos los datos capturados mediante un microservicio creado con Spring Boot
Introducción Kafka
Análisis de tweets en tiempo real
2
Stratio 2018. Confidential, All Rights Reserved
Análisis de tweets en tiempo real usando kafka y spark
¿Qué es? : Aplicación en tiempo real que nos permite auditar los principales tweets que se estén ejecutando con la plataforma de Twitter.
La api de Twitter provee sólo el 3% de esos Tweets a nivel mundial sin coste
No tiene orden de entrada, es aleatorio por diferentes países
¿Para qué sirve?: Permite medir la actividad en la red social, la interacción con sus seguidores y el comportamiento de la/las comunidades
virtuales. Estos datos se pueden guardar y analizan para mejorar el impacto informativo en la audiencia y resultan de gran utilidad para las
aplicaciones de SEO y de marketing digital.
Cómo funciona y qué utiliza: Spring Boot, Java, Kafka, Spark
Genera un microservicio que utiliza Spark Streaming para analizar hashtags populares de los flujos de datos de Twitter. Los datos provienen de la
fuente de Twitter Streaming API y se envían a Kafka. El servicio consumidor recibe datos de Kafka y luego los procesa en una transmisión mediante
Spark Streaming.
Análisis de Twitter en tiempo real Kafka
Stratio 2018. Confidential, All Rights Reserved
Análisis de Twitter en tiempo real Kafka
Características principales
3
Stratio 2018. Confidential, All Rights Reserved
Características
Twitter
¿ Para qué utilizarlo ?
-Podemos conseguir información en tiempo real de eventos (conciertos, deportes)
-Conseguir historial de personas o empresas que necesitamos conocer
-Localización de personas o empresas por localización física
¿Qué beneficios nos aporta en comparación con otros competidores?
-Es una de las plataformas más eficaces de medios sociales
-A través de microblogging, permite acceder a las noticias en tiempo real sobre
opiniones y obtener así una retroalimentación directa con los seguidores
Kafka
Stratio 2018. Confidential, All Rights Reserved
Características
¿Cómo accedemos a la Api de Twitter?
Desde : https://apps.twitter.com/
Configuración fichero .properties con los datos de Twitter
Creamos los tokens de seguridad :
String appId = “appId”
String appSecret = “appSecret”
String accessToken = “accessToken”
String accessTokenSecret = “accessTokenSecret”
Una vez configurado, ya tenemos acceso al servicio
para obtener la información
Kafka
Stratio 2018. Confidential, All Rights Reserved
Características
Kafka:
- Rápido : Un único Broker de Kafka puede manejar cientos de megabytes de
lecturas y escrituras por segundo desde miles de clientes.
- Escalable : Kafka está diseñado para permitir que un solo cluster sirva como el eje
central de datos para una organización grande. Puede ser ampliado elásticamente sin tiempo de inactividad. Los flujos de datos se
dividen y se extiende sobre un cluster de máquinas para permitir que los stream de datos sean más grande que la capacidad de
una máquina
- Duradero : Los mensajes se persisten en disco y se replican dentro del clúster para
evitar la pérdida de datos. Cada Broker puede gestionar terabytes de mensajes sin impacto.
- Distribuido : Kafka cuenta con un diseño de cluster-centric que ofrece durabilidad y
garantías de tolerancia a fallos.
Kafka
Stratio 2018. Confidential, All Rights Reserved
Características
Kafka :
- Los sistemas de mensajería tradicional suelen tener 2 modelos : Queues (p2p) y
Topics (Publish-Suscribe)
- En una cola (Queue) cada mensaje va a un consumidor, mientras que en un topic
(PS) se hace broadcast de un mensaje a todos los consumidores.
- Kafka dispone de una funcionalidad que permite contemplar ambos modelos : se
llama Consumer Group
Kafka
Stratio 2018. Confidential, All Rights Reserved
Características
Estadísticas :
- Existen diversas métricas de rendimiento, estos son algunos ejemplos :
Se observa como Kafka consume a 22K mensajes/segundo, más de 4 veces más rápido que ActiveMQ y RabbitMQ
Kafka
Stratio 2018. Confidential, All Rights Reserved
Características
Spark
Para qué utilizarlo ¿?
-Apache Spark es un sistema de computación en clúster rápido y de
uso general. Proporciona un API de alto nivel en Java, Scala, Python y
R, y un motor optimizado que admite gráficos de ejecución general.
También es compatible con un amplio conjunto de herramientas de
alto nivel que incluyen Spark SQL para SQL y procesamiento de
datos estructurados, MLlib para aprendizaje automático, GraphX ​​
para procesamiento de gráficos y Spark Streaming.
Que beneficios nos aporta en comparación con otros competidores ¿?
-Ofrece unos tiempos de cálculo en memoria mucho más rápidos que cualquier otra plataforma. Almacenamiento de los datos en
la memoria caché hace que las transformaciones que se van produciendo de esos datos también se almacenan en memoria, sin
tener que acceder dentro del disco.
Kafka
Arquitectura
4
Stratio 2018. Confidential, All Rights Reserved
Architectura
Productor: mediante la api java de kafka, le indicamos donde esta corriendo kafka y el topic por donde
escribimos los mensajes
Consumidor: creamos el consumidor indicando el host, puerto donde está arrancado el broker,
configuramos los parámetros como el timeout, tamaño del buffer y el identificador del consumidor
Kafka
Stratio 2018. Confidential, All Rights Reserved
Architectura
¿Quién utiliza este tipo de arquitectura ?
-Empresas para auditar redes sociales
-Campañas de marketing
-Fuerzas del orden para medir eventos
-Gobiernos para conocer orientación de voto de la población
Kafka
Stratio 2018. Confidential, All Rights Reserved
Architectura
Diagrama de secuencia :
Kafka
20
DEMO
Stratio 2018. Confidential, All Rights Reserved
Referencias Architectura
○ Spring for Apache Kafka
○ Spring Social Twitter
○ Spark Overview
○ Apache Kafka Documentation
○ Big Data Processing with Apache Spark - Part 3: Spark Streaming
○ Spring Kafka - Embedded Unit Test Example
Ejemplos de cómo usar con Confluent :
Confluent - Robin Moffat
○ https://www.confluent.io/blog/using-ksql-to-analyse-query-and-transform-data-in-kafka
○ https://github.com/confluentinc/cp-demo
Kafka
Kafka and KSQL - Apache Kafka Meetup

More Related Content

What's hot

What's hot (6)

Servicios amazon en la nube.
Servicios amazon en la nube.Servicios amazon en la nube.
Servicios amazon en la nube.
 
Uso de la herramienta Splunk en CSUC
Uso de la herramienta Splunk en CSUCUso de la herramienta Splunk en CSUC
Uso de la herramienta Splunk en CSUC
 
Un viaje a la observabilidad
Un viaje a la observabilidadUn viaje a la observabilidad
Un viaje a la observabilidad
 
AWS Summit Mexico 2015 Key Note Raul Frias
AWS Summit Mexico 2015 Key Note Raul Frias AWS Summit Mexico 2015 Key Note Raul Frias
AWS Summit Mexico 2015 Key Note Raul Frias
 
Cbs big data-fundamentals-1
Cbs big data-fundamentals-1Cbs big data-fundamentals-1
Cbs big data-fundamentals-1
 
Zophia - Arquitecturas de datos en Google Cloud
Zophia - Arquitecturas de datos en Google CloudZophia - Arquitecturas de datos en Google Cloud
Zophia - Arquitecturas de datos en Google Cloud
 

Similar to Kafka and KSQL - Apache Kafka Meetup

Apis Agregadas computomasivo
Apis Agregadas computomasivoApis Agregadas computomasivo
Apis Agregadas computomasivoAndrea Guevara
 
Pasando modelos de Machine Learning a producción usando AWS
Pasando modelos de Machine Learning a producción usando AWSPasando modelos de Machine Learning a producción usando AWS
Pasando modelos de Machine Learning a producción usando AWSRoberto Esteves
 
Why Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoWhy Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoBig Data Spain
 
Análisis del TCO del Uso de Sofia2 como backend vs desarrollo a medida sobre ...
Análisis del TCO del Uso de Sofia2 como backend vs desarrollo a medida sobre ...Análisis del TCO del Uso de Sofia2 como backend vs desarrollo a medida sobre ...
Análisis del TCO del Uso de Sofia2 como backend vs desarrollo a medida sobre ...Sofia2 Smart Platform
 
API Agregadas y Computo Masivo
API Agregadas y Computo MasivoAPI Agregadas y Computo Masivo
API Agregadas y Computo MasivoAndrea Guevara
 
Spark Streaming introduccion desarrollo conclusion
Spark Streaming introduccion desarrollo conclusionSpark Streaming introduccion desarrollo conclusion
Spark Streaming introduccion desarrollo conclusionciriloallccagaray5
 
2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK
2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK
2016 ULL Cabildo KEEDIO - KEEDIO DATA STACKKEEDIO
 
SDK PALESTRA
SDK PALESTRASDK PALESTRA
SDK PALESTRAPALESTRA
 
Cacique presentacion (español)
Cacique presentacion (español)Cacique presentacion (español)
Cacique presentacion (español)Cacique Test
 
Codemotion 2013 - Quiero tiempo real y lo quiero para ayer
Codemotion 2013 - Quiero tiempo real y lo quiero para ayerCodemotion 2013 - Quiero tiempo real y lo quiero para ayer
Codemotion 2013 - Quiero tiempo real y lo quiero para ayerIván López Martín
 
Introducción a Apache Kafka con DotNetCore
Introducción a Apache Kafka con DotNetCoreIntroducción a Apache Kafka con DotNetCore
Introducción a Apache Kafka con DotNetCoreCamilo Bernal
 
Estudio sobre Spark, Storm, Kafka y Hive
Estudio sobre Spark, Storm, Kafka y HiveEstudio sobre Spark, Storm, Kafka y Hive
Estudio sobre Spark, Storm, Kafka y HiveWellness Telecom
 
AWS Initiate Day Mexico City | Big Data y AI - Impulsando la información y ag...
AWS Initiate Day Mexico City | Big Data y AI - Impulsando la información y ag...AWS Initiate Day Mexico City | Big Data y AI - Impulsando la información y ag...
AWS Initiate Day Mexico City | Big Data y AI - Impulsando la información y ag...Amazon Web Services LATAM
 
Patrones arquitectónicos y mejores prácticas de "big data" en AWS - MXO203 - ...
Patrones arquitectónicos y mejores prácticas de "big data" en AWS - MXO203 - ...Patrones arquitectónicos y mejores prácticas de "big data" en AWS - MXO203 - ...
Patrones arquitectónicos y mejores prácticas de "big data" en AWS - MXO203 - ...Amazon Web Services
 

Similar to Kafka and KSQL - Apache Kafka Meetup (20)

CASO PRACTICO 2.pptx
CASO PRACTICO 2.pptxCASO PRACTICO 2.pptx
CASO PRACTICO 2.pptx
 
Apis Agregadas computomasivo
Apis Agregadas computomasivoApis Agregadas computomasivo
Apis Agregadas computomasivo
 
Pasando modelos de Machine Learning a producción usando AWS
Pasando modelos de Machine Learning a producción usando AWSPasando modelos de Machine Learning a producción usando AWS
Pasando modelos de Machine Learning a producción usando AWS
 
Why Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoWhy Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén Casado
 
API Agregadas
API AgregadasAPI Agregadas
API Agregadas
 
Análisis del TCO del Uso de Sofia2 como backend vs desarrollo a medida sobre ...
Análisis del TCO del Uso de Sofia2 como backend vs desarrollo a medida sobre ...Análisis del TCO del Uso de Sofia2 como backend vs desarrollo a medida sobre ...
Análisis del TCO del Uso de Sofia2 como backend vs desarrollo a medida sobre ...
 
SimpleSAMLphp
SimpleSAMLphpSimpleSAMLphp
SimpleSAMLphp
 
API Agregadas y Computo Masivo
API Agregadas y Computo MasivoAPI Agregadas y Computo Masivo
API Agregadas y Computo Masivo
 
API como SaaS
API como SaaSAPI como SaaS
API como SaaS
 
Spark Streaming introduccion desarrollo conclusion
Spark Streaming introduccion desarrollo conclusionSpark Streaming introduccion desarrollo conclusion
Spark Streaming introduccion desarrollo conclusion
 
2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK
2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK
2016 ULL Cabildo KEEDIO - KEEDIO DATA STACK
 
SDK PALESTRA
SDK PALESTRASDK PALESTRA
SDK PALESTRA
 
Cacique presentacion (español)
Cacique presentacion (español)Cacique presentacion (español)
Cacique presentacion (español)
 
Codemotion 2013 - Quiero tiempo real y lo quiero para ayer
Codemotion 2013 - Quiero tiempo real y lo quiero para ayerCodemotion 2013 - Quiero tiempo real y lo quiero para ayer
Codemotion 2013 - Quiero tiempo real y lo quiero para ayer
 
Introducción a Apache Kafka con DotNetCore
Introducción a Apache Kafka con DotNetCoreIntroducción a Apache Kafka con DotNetCore
Introducción a Apache Kafka con DotNetCore
 
Estudio sobre Spark, Storm, Kafka y Hive
Estudio sobre Spark, Storm, Kafka y HiveEstudio sobre Spark, Storm, Kafka y Hive
Estudio sobre Spark, Storm, Kafka y Hive
 
Servidor push
Servidor pushServidor push
Servidor push
 
AWS Initiate Day Mexico City | Big Data y AI - Impulsando la información y ag...
AWS Initiate Day Mexico City | Big Data y AI - Impulsando la información y ag...AWS Initiate Day Mexico City | Big Data y AI - Impulsando la información y ag...
AWS Initiate Day Mexico City | Big Data y AI - Impulsando la información y ag...
 
Patrones arquitectónicos y mejores prácticas de "big data" en AWS - MXO203 - ...
Patrones arquitectónicos y mejores prácticas de "big data" en AWS - MXO203 - ...Patrones arquitectónicos y mejores prácticas de "big data" en AWS - MXO203 - ...
Patrones arquitectónicos y mejores prácticas de "big data" en AWS - MXO203 - ...
 
Reporte final
Reporte finalReporte final
Reporte final
 

More from Stratio

Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...Stratio
 
Can an intelligent system exist without awareness? BDS18
Can an intelligent system exist without awareness? BDS18Can an intelligent system exist without awareness? BDS18
Can an intelligent system exist without awareness? BDS18Stratio
 
Wild Data - The Data Science Meetup
Wild Data - The Data Science MeetupWild Data - The Data Science Meetup
Wild Data - The Data Science MeetupStratio
 
Using Kafka on Event-driven Microservices Architectures - Apache Kafka Meetup
Using Kafka on Event-driven Microservices Architectures - Apache Kafka MeetupUsing Kafka on Event-driven Microservices Architectures - Apache Kafka Meetup
Using Kafka on Event-driven Microservices Architectures - Apache Kafka MeetupStratio
 
Ensemble methods in Machine Learning
Ensemble methods in Machine Learning Ensemble methods in Machine Learning
Ensemble methods in Machine Learning Stratio
 
Stratio Sparta 2.0
Stratio Sparta 2.0Stratio Sparta 2.0
Stratio Sparta 2.0Stratio
 
Big Data Security: Facing the challenge
Big Data Security: Facing the challengeBig Data Security: Facing the challenge
Big Data Security: Facing the challengeStratio
 
Operationalizing Big Data
Operationalizing Big DataOperationalizing Big Data
Operationalizing Big DataStratio
 
Artificial Intelligence on Data Centric Platform
Artificial Intelligence on Data Centric PlatformArtificial Intelligence on Data Centric Platform
Artificial Intelligence on Data Centric PlatformStratio
 
Introduction to Artificial Neural Networks
Introduction to Artificial Neural NetworksIntroduction to Artificial Neural Networks
Introduction to Artificial Neural NetworksStratio
 
“A Distributed Operational and Informational Technological Stack”
“A Distributed Operational and Informational Technological Stack” “A Distributed Operational and Informational Technological Stack”
“A Distributed Operational and Informational Technological Stack” Stratio
 
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...Stratio
 
Lunch&Learn: Combinación de modelos
Lunch&Learn: Combinación de modelosLunch&Learn: Combinación de modelos
Lunch&Learn: Combinación de modelosStratio
 
Meetup: Spark + Kerberos
Meetup: Spark + KerberosMeetup: Spark + Kerberos
Meetup: Spark + KerberosStratio
 
Distributed Logistic Model Trees
Distributed Logistic Model TreesDistributed Logistic Model Trees
Distributed Logistic Model TreesStratio
 
Multiplaform Solution for Graph Datasources
Multiplaform Solution for Graph DatasourcesMultiplaform Solution for Graph Datasources
Multiplaform Solution for Graph DatasourcesStratio
 
Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016
Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016
Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016Stratio
 
[Strata] Sparkta
[Strata] Sparkta[Strata] Sparkta
[Strata] SparktaStratio
 
Introduction to Asynchronous scala
Introduction to Asynchronous scalaIntroduction to Asynchronous scala
Introduction to Asynchronous scalaStratio
 
Functional programming in scala
Functional programming in scalaFunctional programming in scala
Functional programming in scalaStratio
 

More from Stratio (20)

Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
Mesos Meetup - Building an enterprise-ready analytics and operational ecosyst...
 
Can an intelligent system exist without awareness? BDS18
Can an intelligent system exist without awareness? BDS18Can an intelligent system exist without awareness? BDS18
Can an intelligent system exist without awareness? BDS18
 
Wild Data - The Data Science Meetup
Wild Data - The Data Science MeetupWild Data - The Data Science Meetup
Wild Data - The Data Science Meetup
 
Using Kafka on Event-driven Microservices Architectures - Apache Kafka Meetup
Using Kafka on Event-driven Microservices Architectures - Apache Kafka MeetupUsing Kafka on Event-driven Microservices Architectures - Apache Kafka Meetup
Using Kafka on Event-driven Microservices Architectures - Apache Kafka Meetup
 
Ensemble methods in Machine Learning
Ensemble methods in Machine Learning Ensemble methods in Machine Learning
Ensemble methods in Machine Learning
 
Stratio Sparta 2.0
Stratio Sparta 2.0Stratio Sparta 2.0
Stratio Sparta 2.0
 
Big Data Security: Facing the challenge
Big Data Security: Facing the challengeBig Data Security: Facing the challenge
Big Data Security: Facing the challenge
 
Operationalizing Big Data
Operationalizing Big DataOperationalizing Big Data
Operationalizing Big Data
 
Artificial Intelligence on Data Centric Platform
Artificial Intelligence on Data Centric PlatformArtificial Intelligence on Data Centric Platform
Artificial Intelligence on Data Centric Platform
 
Introduction to Artificial Neural Networks
Introduction to Artificial Neural NetworksIntroduction to Artificial Neural Networks
Introduction to Artificial Neural Networks
 
“A Distributed Operational and Informational Technological Stack”
“A Distributed Operational and Informational Technological Stack” “A Distributed Operational and Informational Technological Stack”
“A Distributed Operational and Informational Technological Stack”
 
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
 
Lunch&Learn: Combinación de modelos
Lunch&Learn: Combinación de modelosLunch&Learn: Combinación de modelos
Lunch&Learn: Combinación de modelos
 
Meetup: Spark + Kerberos
Meetup: Spark + KerberosMeetup: Spark + Kerberos
Meetup: Spark + Kerberos
 
Distributed Logistic Model Trees
Distributed Logistic Model TreesDistributed Logistic Model Trees
Distributed Logistic Model Trees
 
Multiplaform Solution for Graph Datasources
Multiplaform Solution for Graph DatasourcesMultiplaform Solution for Graph Datasources
Multiplaform Solution for Graph Datasources
 
Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016
Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016
Stratio's Cassandra Lucene index: Geospatial use cases - Big Data Spain 2016
 
[Strata] Sparkta
[Strata] Sparkta[Strata] Sparkta
[Strata] Sparkta
 
Introduction to Asynchronous scala
Introduction to Asynchronous scalaIntroduction to Asynchronous scala
Introduction to Asynchronous scala
 
Functional programming in scala
Functional programming in scalaFunctional programming in scala
Functional programming in scala
 

Recently uploaded

tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 

Recently uploaded (20)

tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 

Kafka and KSQL - Apache Kafka Meetup

  • 1. © Stratio 2018. Confidential, All Rights Reserved. KAFKA 06th September 2018
  • 2. Stratio 2018. Confidential, All Rights Reserved Presentación Quién soy? Antonio Abril Ledesma aabril@stratio.com Arquitecto Software en Stratio Kafka
  • 3. Stratio 2018. Confidential, All Rights Reserved KafkaINDICE Introducción1 Arquitectura4 Análisis de tweets en tiempo real2 Características principales3 Demo5
  • 5. Stratio 2018. Confidential, All Rights Reserved Kafka : Apache Kafka es un sistema de almacenamiento publicador/subscriptor distribuido, particionado y replicado. Estas características, añadidas a que es muy rápido en lecturas y escrituras lo convierten en una herramienta excelente para comunicar streams de información que se generan a gran velocidad y que deben ser gestionados por una o varias aplicaciones. En este ejemplo vamos a ver como mediante Twitter, podemos crear un sistema de ingestión de datos. Crearemos un productor y consumidor de topics y mostraremos los datos capturados mediante un microservicio creado con Spring Boot Introducción Kafka
  • 6. Análisis de tweets en tiempo real 2
  • 7. Stratio 2018. Confidential, All Rights Reserved Análisis de tweets en tiempo real usando kafka y spark ¿Qué es? : Aplicación en tiempo real que nos permite auditar los principales tweets que se estén ejecutando con la plataforma de Twitter. La api de Twitter provee sólo el 3% de esos Tweets a nivel mundial sin coste No tiene orden de entrada, es aleatorio por diferentes países ¿Para qué sirve?: Permite medir la actividad en la red social, la interacción con sus seguidores y el comportamiento de la/las comunidades virtuales. Estos datos se pueden guardar y analizan para mejorar el impacto informativo en la audiencia y resultan de gran utilidad para las aplicaciones de SEO y de marketing digital. Cómo funciona y qué utiliza: Spring Boot, Java, Kafka, Spark Genera un microservicio que utiliza Spark Streaming para analizar hashtags populares de los flujos de datos de Twitter. Los datos provienen de la fuente de Twitter Streaming API y se envían a Kafka. El servicio consumidor recibe datos de Kafka y luego los procesa en una transmisión mediante Spark Streaming. Análisis de Twitter en tiempo real Kafka
  • 8. Stratio 2018. Confidential, All Rights Reserved Análisis de Twitter en tiempo real Kafka
  • 10. Stratio 2018. Confidential, All Rights Reserved Características Twitter ¿ Para qué utilizarlo ? -Podemos conseguir información en tiempo real de eventos (conciertos, deportes) -Conseguir historial de personas o empresas que necesitamos conocer -Localización de personas o empresas por localización física ¿Qué beneficios nos aporta en comparación con otros competidores? -Es una de las plataformas más eficaces de medios sociales -A través de microblogging, permite acceder a las noticias en tiempo real sobre opiniones y obtener así una retroalimentación directa con los seguidores Kafka
  • 11. Stratio 2018. Confidential, All Rights Reserved Características ¿Cómo accedemos a la Api de Twitter? Desde : https://apps.twitter.com/ Configuración fichero .properties con los datos de Twitter Creamos los tokens de seguridad : String appId = “appId” String appSecret = “appSecret” String accessToken = “accessToken” String accessTokenSecret = “accessTokenSecret” Una vez configurado, ya tenemos acceso al servicio para obtener la información Kafka
  • 12. Stratio 2018. Confidential, All Rights Reserved Características Kafka: - Rápido : Un único Broker de Kafka puede manejar cientos de megabytes de lecturas y escrituras por segundo desde miles de clientes. - Escalable : Kafka está diseñado para permitir que un solo cluster sirva como el eje central de datos para una organización grande. Puede ser ampliado elásticamente sin tiempo de inactividad. Los flujos de datos se dividen y se extiende sobre un cluster de máquinas para permitir que los stream de datos sean más grande que la capacidad de una máquina - Duradero : Los mensajes se persisten en disco y se replican dentro del clúster para evitar la pérdida de datos. Cada Broker puede gestionar terabytes de mensajes sin impacto. - Distribuido : Kafka cuenta con un diseño de cluster-centric que ofrece durabilidad y garantías de tolerancia a fallos. Kafka
  • 13. Stratio 2018. Confidential, All Rights Reserved Características Kafka : - Los sistemas de mensajería tradicional suelen tener 2 modelos : Queues (p2p) y Topics (Publish-Suscribe) - En una cola (Queue) cada mensaje va a un consumidor, mientras que en un topic (PS) se hace broadcast de un mensaje a todos los consumidores. - Kafka dispone de una funcionalidad que permite contemplar ambos modelos : se llama Consumer Group Kafka
  • 14. Stratio 2018. Confidential, All Rights Reserved Características Estadísticas : - Existen diversas métricas de rendimiento, estos son algunos ejemplos : Se observa como Kafka consume a 22K mensajes/segundo, más de 4 veces más rápido que ActiveMQ y RabbitMQ Kafka
  • 15. Stratio 2018. Confidential, All Rights Reserved Características Spark Para qué utilizarlo ¿? -Apache Spark es un sistema de computación en clúster rápido y de uso general. Proporciona un API de alto nivel en Java, Scala, Python y R, y un motor optimizado que admite gráficos de ejecución general. También es compatible con un amplio conjunto de herramientas de alto nivel que incluyen Spark SQL para SQL y procesamiento de datos estructurados, MLlib para aprendizaje automático, GraphX ​​ para procesamiento de gráficos y Spark Streaming. Que beneficios nos aporta en comparación con otros competidores ¿? -Ofrece unos tiempos de cálculo en memoria mucho más rápidos que cualquier otra plataforma. Almacenamiento de los datos en la memoria caché hace que las transformaciones que se van produciendo de esos datos también se almacenan en memoria, sin tener que acceder dentro del disco. Kafka
  • 17. Stratio 2018. Confidential, All Rights Reserved Architectura Productor: mediante la api java de kafka, le indicamos donde esta corriendo kafka y el topic por donde escribimos los mensajes Consumidor: creamos el consumidor indicando el host, puerto donde está arrancado el broker, configuramos los parámetros como el timeout, tamaño del buffer y el identificador del consumidor Kafka
  • 18. Stratio 2018. Confidential, All Rights Reserved Architectura ¿Quién utiliza este tipo de arquitectura ? -Empresas para auditar redes sociales -Campañas de marketing -Fuerzas del orden para medir eventos -Gobiernos para conocer orientación de voto de la población Kafka
  • 19. Stratio 2018. Confidential, All Rights Reserved Architectura Diagrama de secuencia : Kafka
  • 21. Stratio 2018. Confidential, All Rights Reserved Referencias Architectura ○ Spring for Apache Kafka ○ Spring Social Twitter ○ Spark Overview ○ Apache Kafka Documentation ○ Big Data Processing with Apache Spark - Part 3: Spark Streaming ○ Spring Kafka - Embedded Unit Test Example Ejemplos de cómo usar con Confluent : Confluent - Robin Moffat ○ https://www.confluent.io/blog/using-ksql-to-analyse-query-and-transform-data-in-kafka ○ https://github.com/confluentinc/cp-demo Kafka