¿Qué es Apache Kafka?

Autor: | Última modificación: 17 de abril de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post:

Algunos de nuestros reconocimientos:

Premios KeepCoding

Apache Kafka forma parte de la gran variedad de sistemas creados para el manejo adecuado del Big Data. Recuerda que el Big Data hace referencia a un gran volumen de datos; de hecho, anualmente se presenta un aumento del 12% en los datos generados. Por ello, este campo exige la multiplicidad de herramientas con las que cuenta.

De hecho, este estudio de los macrodatos desde herramientas opensource como Apache Kafka aumentan la posibilidad de llevar a cabo un procesamiento de los macrodatos muy preciso, en el que se destaque el valor de la información. Por esta razón, en este post, te exponemos qué es Apache Kafka y cómo funciona dentro del mundo Big Data.

¿Qué es Apache Kafka?

Apache Kafka es una herramienta de streaming opensource escrita en JAVA y Scala. En otra palabras, podrás considerar a Kafka como otro tópico de arquitectura Big Data que son los Pub/Sub, los cuales trabajan como un mensaje de streams.

De esta forma, Apache Kafka es una herramienta para lidiar o para tratar con los streams de datos. De manera que el flujo de los datos es continuo y, además, se distribuye en paquetes pequeños de información.

El funcionamiento de este flujo de datos consiste en que se envía en stream un fichero grande como un gran volumen de bits y su principal tarea se basa en llevar y orientar los datos sin importar el tiempo que pueda tardar.

Es decir, Apache Kafka te ayuda a controlar una gran cantidad de datos producidos en tiempo real, por ello se le conoce como un stream de datos. De esta manera, cualquier cantidad de datos que se está produciendo ahora mismo podrás procesarla por medio de Apache Kafka; por ejemplo, los tuits que se están generando justo ahora a medida que se van publicando. Ten en cuenta que debe ser una relación inmediata, no contar con los tuits de hace tres días.

En definitiva, Kafka ayuda a generar un buffer con los datos a procesar. Es decir, crea una clase de sujetadores con unos envases en los que va capturando los mensajes para que tú puedas ir procesando los macrodatos. Para ello, este sistema de transmisión de datos cuenta con ciertos componentes que te compartimos a continuación:

Pub/Sub

Este se presenta cuando estés tratando con streams, sin embargo, lo más importante es entender el concepto de Pub/Sub. Es muy sencillo, ya que se basa en que en una arquitectura de streaming tiene siempre uno o más PUBlishers y uno o más SUBscribers.

¿Qué es Apache Kafka?

Eventos/Mensajes

Ahora, podrás pensar que cada objeto que se publica es un objeto o un mensaje, así lo reconoce Apache Kafka. A pesar de que, en otras palabras, este factor es simplemente información o datos estructurados que se insertan en el sistema a través de topics.

Topics

En cuanto a este componente, los mensajes de un stream pueden organizarse en topics, y a su vez, los SUBscribers pueden subscribirse a uno o mas topics para procesarlos, como se muestra en la siguiente ilustración:

¿Qué es Apache Kafka?

Ejemplo con Kafka en GCP (Google Cloud Pltaform) con Flume

En primer lugar, creas un clúster de Dataproc sencillo, ahora, ve al Google Cloud Marketplace y crea una maquina de Kafka como standalone, preferiblemente virtualizada. En la plataforma se ve de la siguiente manera:

¿Qué es Apache Kafka?
¿Qué es Apache Kafka?
¿Qué es Apache Kafka?
¿Qué es Apache Kafka?
¿Qué es Apache Kafka?

Finalmente, debes crearla y apuntar su IP. Por último, entra en la instancia de Apache Kafka y ejecuta:

  • cd /opt/kafka
  • sudo bin/zookeeper-server-start.sh config/zookeeper.properties &
  • sudo bin/kafka-server-start.sh config/server.properties &
  • sudo bin/kafka-topics.sh –create –topic testkafka –bootstrap-server localhost:9092
  • sudo bin/kafka-console-producer.sh –broker-list localhost:9092 –topic testkafka

Aprende cada vez más sobre Big Data

En el transcurso de este post, te has podido acercar a todo lo relacionado con lo que es Apache Kafka, a partir de la teoría y de la práctica con un ejemplo específico. Sin embargo, desde KeepCoding reconocemos que esta herramienta de transmisión de datos requiere de un mayor conocimiento y, sobre todo, de un desarrollo práctico insistente. En suma, desarrollarlo solo por tu cuenta puede ser muy complicado, pero ¡no te preocupes!

Con nuestro Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning podrás contar con una serie de módulos que te pondrán en contacto con los desarrolladores y herramientas más importantes para el procesamiento de los macrodatos como Machine Learning, Spark & Scala, Tableau, Hadoop, etc. Todo ello de forma tanto teórica como práctica y con el acompañamiento de grandes profesionales y expertos en el universo del Big Data. ¿A qué estás esperando para inscribirte y empezar con nuestro Bootcamp Big Data?

Posts Relacionados

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado