El objetivo de este Trabajo Práctico es implementar una aplicación de consola que utilice el modelo de programación MapReduce junto con el framework HazelCast para el procesamiento de datos de sensores de peatones. Más información sobre la consigna en el pdf encontrado en este mismo directorio.
En base a lo visto en clase, la estructura de este proyecto está dividida en 3 partes: Api - Server - Client
Contiene los modelos y clases que deben conocer todos los nodos tales como los mapper y reducer.
Levanta una instancia de Hazelcast con cierta configuración.
Contiene parsers necesarios para cada query a invocar y se encarga de crear el trabajo que la resuelva.
Asegurarse de enocontrarse en el directorio principal del proyecto y de darle permisos de ejecución al ejecutable compile.sh con el comando chmod +x compile.sh.
Luego, ejecute:
> ./compile.shPara ejecutar el servidor, ubíquese en el directorio tpe2-g6-server-1.0-SNAPSHOT y ejecute:
> run-server.sh -Dmask='xx.xx.xx.xx'donde xx.xx.xx.xx es la mascara IP de la red en la que se encuentra el servidor.
En caso de no indicarla, el valor default es 127.0.0.*
Esto levantará una instancia de hazelcast
Para ejecutar cualquiera de las consultas, ubíquese en el directorio tpe2-g6-client-1.0-SNAPSHOT y ejecute alguno de los scripts. Para ejecutar una consulta:
> ./queryX -Daddresses='xx.xx.xx.xx:yyyy' -DinPath=XX -DoutPath=YY [params]Xes el número de la consulta a ejecutar-Daddresses=xx.xx.xx.xx:yyyydondexx.xx.xx.xxes la dirección IP del servidor yyyyyes el puerto en el que se ejecuta alguno de los nodos del cluster. Pueden indicarse varias IPs, separadas por punto y coma (;).-DinPath=XXdondeXXes la ruta donde se encuentran los archivos de entradasensors.csvyreadings.csv.-DoutPath=YYdondeYYes la ruta donde se desea guardar los archivos de salidaqueryX.csvytimeX.txt, siendoXel número de la consulta.[params]son los parámetros extras que corresponden para algunas queries.
-Dcombineindica si es que se quiere ejecutar la consulta con un Combiner.
-Dmines la cantidad mínima de peatones registrados en la medición más alta de un sensor activo.
-Dnes la cantidad de sensores a mostrar en el resultado.-Dyeares el año para el cual se desea obtener el resultado.