Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pulsar y Apache Apex
Pulsar y Apache Apex
1 / 16
Apache Pulsar es una solución multi-tenant, de alto rendimiento para servicios de mensajería
servidor-servidor.
1 Siguiente
1 / 16
Pulsar y Apache Apex.
3 / 16
En la siguiente imagen se puede ver un ejemplo de función Pulsar escrita en lenguaje Java:
Estas funciones son ejecutadas siempre que es publicado un mensaje en el tema de entrada.
Anterior 1 2 3 Siguiente
3 / 16
Pulsar y Apache Apex.
4 / 16
Metas
El objetivo de las funciones Pulsar es crear, de una forma fácil, una lógica de procesamiento a
cualquier nivel sin implementar un sistema vecino (Ej: Apache Storm).
Pulsar Functions es, en esencia, una plataforma de cómputo que queda a su disposición como
parte de su sistema de mensajería Pulsar.
Programación
Anterior 1 2 3 4 Siguiente
4 / 16
Pulsar y Apache Apex.
5 / 16
Modelo de programación
Las funciones reciben información (mensajes) de uno o más temas de entrada y cada vez que se
recibe algún mensaje la función hace múltiples cosas sobre dichos mensajes como:
Apache BookKeeper
Incrementar un contador
Anterior 1 2 3 4 5 Siguiente
5 / 16
Pulsar y Apache Apex.
6 / 16
Anterior 1 2 3 4 5 6 Siguiente
6 / 16
Pulsar y Apache Apex.
7 / 16
Si escribiéramos esta función Pulsar en lenguaje Java utilizando el SDK que proporciona Pulsar
Functions, el código quedaría de la siguiente manera:
Anterior 2 3 4 5 6 7 Siguiente
7 / 16
Pulsar y Apache Apex.
8 / 16
Apache Apex es una plataforma nativa de Hadoop que unifica el “stream processing” y el “batch
processing”. Esta plataforma procesa big data sobre la marcha de una manera que es escalable,
con gran rendimiento, tolerable a fallos, seguro, distribuido y fácilmente operable.
Apache Apex fue desarrollada por la empresa DataTorrent bajo Apache License 2.0.
Anterior 3 4 5 6 7 8 Siguiente
8 / 16
Pulsar y Apache Apex.
9 / 16
Apache Apex fue posible gracias a que se introdujo YARN que trajo la opción de explorar cómo
podrían realizar "muchas cosas" los recursos distribuidos que manejan big data.
Apache Apex es el primer motor nativo de YARN. Permite el manejo de gran volumen de datos
por lotes.
Está preparado para generar el mayor valor posible a las empresas que trabajan con entornos
donde se manejan gran cantidad de datos, de ahí que sea la solución de referencia para llevar los
proyectos de Big Data al éxito.
La programación de la API de Apache Apex es sencilla ya que se puede utilizar Java o Scala.
Esta API hace posible que los usuarios puedan conectar cualquier función para procesar los
eventos.
Anterior 4 5 6 7 8 9 Siguiente
9 / 16
Pulsar y Apache Apex.
10 / 16
Reutilización de código
No es necesaria una gran capacitación para que los desarrolladores puedan crear aplicaciones
en Apache Apex. Además no supone un cambio a gran escala en su lógica comercial.
Apex permite módulos reutilizables y utilizar la misma lógica de negocios para el lote y la
transmisión.
Código
Anterior 5 6 7 8 9 10 Siguiente
10 / 16
Pulsar y Apache Apex.
11 / 16
Operabilidad
Apex está diseñado para mejorar la operatividad y no preocuparse por los fallos o la pérdida de
información ya que Apex asegura este respaldo.
Con Apex la tolerancia a fallos es nativa de Hadoop y no hay que usar un sistema adicional para
mantenerla.
Apex tiene construcciones de datos en movimiento que hacen posible que el flujo de datos
esté en millones de eventos/segundo usando un solo núcleo. Es una plataforma que se puede
aprovechar de manera fácil y es muy escalable ya que está basada en los estándares de seguridad
de Hadoop.
Por defecto, esta plataforma viene con soporte para servicios web y métricas. Esto hace que su
utilización e integración sea fácil con los componentes actuales de la tubería de datos (pipeline).
Los equipos de desarrollo pueden usar los sistemas y paneles existentes y monitorear los datos
en acción con cambios ínfimos en la plataforma.
Con diferentes conectores y la posibilidad de agregar más, Apex es fácilmente integrable con un
flujo de datos existente.
Anterior 6 7 8 9 10 11 Siguiente
11 / 16
Pulsar y Apache Apex.
12 / 16
Esta página nos dará un vistazo completo del estado de todo el sistema como el uso del
procesador y de la memoria, las aplicaciones, el rendimiento, problemas… etc.
Desde aquí podremos lanzar paquete de aplicación y administrar las tuplas de los esquemas
para los datos de dentro de Apex.
Anterior 7 8 9 10 11 12 Siguiente
12 / 16
Pulsar y Apache Apex.
13 / 16
Apex nos provee unas cuantas aplicaciones ya creadas anteriormente que podemos ver aquí:
Vamos a usar la aplicación WordCount Demo para ver como funciona. Le daremos a lanzar
aplicación y veremos un mensaje de que la aplicación ha sido correctamente lanzada:
Anterior 7 8 9 10 11 12 13 Siguiente
13 / 16
Pulsar y Apache Apex.
14 / 16
Anterior 7 8 9 10 11 12 13 14 Siguiente
14 / 16
Pulsar y Apache Apex.
15 / 16
Anterior 7 8 9 10 11 12 13 14 15 Siguiente
15 / 16
Pulsar y Apache Apex.
16 / 16
Después de unos pocos segundos veremos como las tuplas se llenan, clicaremos en una tupla
para ver su contenido. Como podemos observar del contenido, la aplicación ha realizado
una cuenta de caracteres de datos basados en ventanas:
Podemos detener esta aplicación clicando en el botón “shutdown” o “kill” de la página principal
de la aplicación.
Ejercicio
¡Correcto! ×
Anterior 7 8 9 10 11 12 13 14 15 16
16 / 16