Consultas DRPC con Trident

Trident es una abstracción de alto nivel sobre Storm para facilitar el procesamiento de streams stateful.
Trident permite realizar joins, agregaciones, groups, funciones y filtros sobre los datos recibidos. Para saber más sobre Trident podéis mirar (entre otras muchos sitios) el API de Trident y el post un poco de Trident.

Storm permite ejecutar RPC (Remote Procedure Call) de forma distribuida mediante la topología DRPC.

StormDRPC

Un ejemplo sobre como utilizar Trident para realizar consultas sobre el típico caso de la cuenta de palabras sería este:

  • Creamos el Spout para el test

TridentSpoutTest

  •  Creamos la topología para el contado de las palabras

TridentStatewordCounts

  • Creamos la topologia DRPC para las consultas del numero de ocurrencias de las palabras

TopologynewDRPCStream

  • Para realizar las consultas utilizamos el método execute del DRPC

Consultas

La clase completa TridentWordCount.java quedaría de la siguiente manera:

TridentWordCount

Y el resultado de la ejecución de la clase con las cuatro consultas nos muestra algo como esto:

ocurrencias

Deja un comentario