Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Rate This
Estoy preparando un curso que tengo que dar sobre Spring Batch. Para
poder contar todo de la manera ms actualizada posible me met hace
unos das en la web de Springframework y acced al apartado
de proyectos. Me he llevado la grata sorpresa de que ha aparecido un
nuevo proyecto llamado Spring xd, est en su versin 1.0.3 en el
momento que estoy escribiendo este post pero tiene muy buena pinta.
Por lo que he podido ver a modo de resumen es el Spring-Roo del
BigData. Spring Roo es una herramienta de Spring que, por medio de la
linea de comando, te permite crear aplicaciones Spring sin necesidad de
escribir cdigo Java. En este caso, Spring xd, te permite crear Streams y
redirigirlos a distintos sumideros sink y para tratar la informacin.
Tambin dispone de herramientas de mtricas muy interesantes para
poder preparar un panel de control o estadsitcas sobre los streams que
est manejando.
Una visin rpida de lo que es Spring xd se puede ver en este enlace.
Para poder investigar un poco sobre este proyecto nuevo he tratado de
seguir un ejemplo que me he encontrado en esta pgina. Aunque est
perfectamente explicado el ejemplo en dicha pgina, voy a contarlo por
aqu en mi idioma.
El ejemplo consiste en obtener todos los tweets que se escriben en
tiempo real, generar un stream y preparar estadsticas sobre stos
muy fcil.
Lo primero: descargar la ltima versin de Spring xd desde la pgina
principal. Ah mismo te dan indicaciones de cmo hacerlo.
Una vez descomprimido, tenemos que arrancarlo y preparar el entorno:
<root-install-dir>/spring-xd/xd/xd-singlenode
1
Acto seguido, en una nueva ventana de terminal, arrancamos el shell:
<root-install-dir>/spring-xd/shell/xd-shell
1
Ya tenemos arrancado Spring xd y listo para generar streams.
1Description
2
Default
Type
----------3
4------------------------------------------------------------------------------------------------- -------5-----expression
the expression to be evaluated for the log content; use '#root' to
6log the full message payload
String
7 level
the log
8level
String
9INFO
name
'xd.sink.')
inputType
consumes
Como habeis podido ver, todos los taps se han creado y desplegado a la
vez deploy. De esta manera ya se han quedado a la escucha del
stream principal tweets que por ahora no hemos desplegado, solo lo
hemos creado.
stream deploy tweets
1
Arrancamos!!!
Status
----------1---------------------------------------------------------------------------------------2--------------------------------------------------------------------------------------3 tagcount
tap:stream:tweets > field-value-counter --fieldName=entities.hashtags.tex
4--name=hashtags
deployed
5
tweetcount
tap:stream:tweets > aggregate6counter
7
deployed
tweetlang
tap:stream:tweets > field-value-counter
--fieldName=lang
deployed
tweets
twitterstream --consumerKey='xxx' --consumerSecret='xxx' --accessToken='x