Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de...

26
Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 1/26 Calidad del Agua Madrid/2016 Curso Business Intelligence & Big Data Coach: José Carlos García Juan Carlos Ibañez Autores: Antonio Jesus Palmero Angel Díaz Ginneth Camacho Fernando Casado

Transcript of Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de...

Page 1: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

1/26

Calidad del Agua

Madrid/2016

Curso Business Intelligence & Big Data

Coach:

José Carlos García Juan Carlos Ibañez

Autores:

Antonio Jesus Palmero

Angel Díaz Ginneth Camacho Fernando Casado

Page 2: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

2/26

Indice

1. Introducción 3 1.1. Propósito 3 1.2. Alcance 3 1.3. Organización del documento 3

2. Contexto 4 2.1. Descripción 4 2.2. Objetivos de Negocio 4 2.3. Contexto de Negocio 5

3. Responsables y Usuarios 8 3.1. Responsables y Usuarios 8

3.1.1. Descripción de los Responsables que no son Usuarios de la solución 8 3.1.2. Descripción de los usuarios de la solución 10

3.2. Responsables y necesidades clave del usuario 10

4. Solución propuesta 12 4.1. Planificación y Gestión del proyecto. 12 4.2. Definición de la arquitectura. 13

4.2.1. Componentes de la arquitectura 13 4.2.2. Workflow del proceso 15 4.2.3. Almacenamiento y analítica de la información. 16 4.2.4. Explotación y visualización del modelo. 19

4.3. Casos de uso propuestos 26 4.3.1. Modelo de Casos de uso 26

Page 3: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

3/26

1. Introducción

1.1. Propósito

El Documento Visión ofrece un nivel alto de la solución en el contexto de negocio correspondiente; se

utiliza por parte de los responsables del Cliente para tener una vista rápida de los principales puntos

cubiertos por el proyecto.

Además es el punto de vista en común para entender el problema y sirve para dirigir la base principal

sobre la que estructurar las ideas.

Su propósito es asegurar el consenso sobre el alcance y objetivos de la solución.

1.2. Alcance

Este documento“Visión” cubre el alcance del proyecto Calidad del agua - CICE.

1.3. Organización del documento

El presente documento incluye los siguientes capítulos:

� CONTEXTO: Ofrece una visión de las motivaciones de negocio que originan la implementación de la solución propuesta.

� RESPONSABLES Y USUARIOS: Describe a los responsables en el Proyecto y sus necesidades clave.

� SOLUCION PROPUESTA: • Presenta una panorámica de los casos de uso (casos de uso más relevantes y actores) y de los

objetivos de negocio que tienen que ser cubiertos,

• Describe el alcance funcional de la solución y sus principales funcionalidades.

Page 4: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

4/26

2. Contexto

2.1. Descripción

Los ecosistemas marinos son importantes no solo porque incluyen diferentes tipos de hábitat y

albergan una enorme riqueza de especies, sino que, además son parte fundamental en la regulación

hidrológica y climática; debido a su alta productividad de fitoplancton, constituyen una importante

fuente de carbono y oxígeno, elementos necesarios para la vida en la tierra. Los ambientes costeros

asociados a estos ecosistemas ofrecen también beneficios a las comunidades humanas que se asientan

en su cercanía ya que protegen la línea costera de la erosión y las tormentas. Las zonas costeras con

playa favorecen el desarrollo turístico en una región determinada, por lo que la regulación de las

actividades humanas que puedan alterar la calidad de las aguas marinas se vuelve prioritaria para

muchos países. De acuerdo a los requisitos y especificaciones de sustentabilidad de playas, la

presencia bacteriológica del agua de mar se va a medir en función del tiempo en que una luz/laser

lanzada por un telescopio sea recibida por el mismo telescopio. Éste tiempo variará según la turbidez

que tenga el agua analizada y el dispositivo informará del tipo de sustancia causante de dicha turbidez,

que podrían estar relacionados directamente con enfermedades del tracto digestivo de los mamíferos,

entre otras, y pueden afectar a la salud de los usuarios de las playas contaminadas con éstas

sustancias.

2.2. Objetivos de Negocio

¿Por qué es importante hacer una monitorización de la calidad del agua de mar? Debido al crecimiento

urbano y a la presión actual de los proyectos costeros de gran escala que están autorizados en todas

las regiones, debemos vigilar con mayor frecuencia la calidad del agua de mar para asegurarnos de

que permanezca en óptimas condiciones y garantizar la protección tanto de nuestros valiosos recursos

naturales cómo de nuestra salud. Las playas de la Costa Canaria son un orgullo, ya que debido a su

belleza, le da una vocación turística a la región ya que mucha gente viene a disfrutar de éstas.

Además, el sector de la pesca artesanal depende de que las condiciones del mar se mantengan

óptimas para que su economía no se vea afectada y garantizar la salud del ecosistema marino, los

locales y de los usuarios. Es por esto, se debe vigilar que la calidad del agua de mar sea buena ya que

a través de una monitorización constante podremos detectar cambios relacionados a las 6 actividades

humanas a lo largo del tiempo y así velar por la protección de nuestros valiosos recursos naturales y el

cuidado de nuestra salud.

Se pretende conseguir la bandera azul en las playas analizadas, la cual es otorgada por criterios que se

agrupan en cuatro áreas:

- Calidad de las aguas de baño.

- Información y educación ambiental.

Page 5: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

5/26

- Gestión ambiental y Seguridad.

- Servicios e instalaciones.

Lo que se pretende con este proyecto es centrarse en el primer criterio nombrado (Calidad de las

aguas de baño).

Se utilizarán modelos de clasificación para clasificar los tipos de vertidos que sean detectados y que

permitan al usuario tomar decisiones sobre cómo actuar para solucionar los problemas detectados,

como por ejemplo utilizando productos químicos que ayuden en la disolución del vertido. Otro caso

de uso sería analizar las embarcaciones que hayan estado fondeadas en los espacios analizados y

analizar la posible sanción si se detecta que el vertido es de la sustancia que dicha embarcación

transporta.

Como posible caso de uso futuro se podría analizar la dirección del viento para analizar hacia donde

se podría desplazar el vertido y esto permitiría tomar decisiones clave y anticiparse a futuros

problemas de contaminación. Este último caso de uso queda fuera del alcance de este proyecto

inicial, pero puede ser una muy buena palanca de venta para continuar con el análisis que se

realizará.

2.3. Contexto de Negocio

El mantener la calidad de agua en lugares turísticos es un factor primordial para garantizar la

protección de la salud de los usuarios y es un punto de interés para el sector turístico, dado que las

playas adquieren un valor agregado al contar con una certificación de playas limpias (Banderas

Azules).

¿Por qué medir posibles vertidos en una muestra de agua? Si se detectan descargas vertidas al

mar pueden significar un riesgo para la salud humana debido a que pueden causar enfermedades en la

piel o gastrointestinales. Estos padecimientos pueden ser adquiridos por bañistas cuando entran en

contacto con aguas contaminadas. Por tal este proyecto pretende analizar indicadores que se obtengan

de las clasificaciones de los tipos de vertido que se encuentren en las playas y de las aguas salobres.

Para obtener una línea base de la calidad de agua de mar, es necesario medir indicadores

bacteriológicos y parámetros fisicoquímicos básicos que describan sus características. De acuerdo a los

requisitos y especificaciones de sustentabilidad de playas, la calidad bacteriológica del agua de mar,

lagunas costeras y estuarios deberá medirse en función del tipo de vertido detectado sobre la muestra

de agua marina. Para este programa se medirá la transparencia, medida en metros sobre el coeficiente

de atenuación de luz. Estos parámetros son importantes ya que son los que caracterizan el agua,

además, son parámetros que afectan la vida en ella.

Sitios donde se llevará a cabo la monitorización

Los sitios donde se llevarán a cabo los muestreos están en función del auge de actividades humanas

como el tránsito de embarcaciones (por las descargas de combustibles y desechos orgánicos), de la

modificación de la línea de costa, de las comunidades en desarrollo (por las descargas de aguas

residuales y posibles desalinizadoras) y de las descargas de agua natural proveniente de arroyos.

Debido a que en general, los cuerpos de agua no son homogéneos en cuanto a sus propiedades

Page 6: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

6/26

microbiológicas se muestrearán varios puntos por sitio, los cuales estarán en relación al auge de las

actividades antes descritas.

Instrumentación.

Diagrama de Telescopio receptor de información:

El telescopio1 será instalado en avionetas que recorrerán los puntos de costa a analizar y realizarán la

recopilación de los datos.

1 Ver patente en: http://www.oepm.es/pdf/ES/0000/000/01/07/59/ES-1075980_U.pdf

Page 7: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

7/26

Una breve descripción tanto de los datos de entrada como de salida:

- Datos de entrada localización. Identificación de la zona geográfica que escanea el dispositivo.

- Datos de entrada fecha y hora de lectura.

- Datos de entrada ch1_410nm, ch2_450nm, ch3_490nm, ch4_530nm, ch5_580nm,

ch6_610nm, ch7_670nm:

La luz/laser que recibe el telescopio se descompone en 7 canales medidos en nanómetros (mide la

longitud de onda de la luz - laser). Cada canal es un color.

Los valores están normalizados (valores entre 0 y 1).

- Datos de entrada fwhm_ns:

El tiempo en nanosegundos que tarda la luz en retornar al dispositivo.

- Datos de salida label:

Contendrá los siguientes valores crudo 'norne'; crudo 'maya', fuel oleo 'IFO380' (f.o intermedio); fuel

oleo vía '1BIA' (f.o. bajo índice azufre); no target: sin resto

2.4. Valor de Negocio

La Bandera Azul se ha convertido en un símbolo reconocido por millones de usuarios de playas y

puertos, y en un estándar mundial de eco-calidad turística en más de sesenta países de los cinco

continentes.

La Bandera Azul es una certificación de calidad:

1. Con mayor antigüedad y continuidad en el tiempo.

2. Con mayor participación, cooperación activa y apoyos institucionales, cualitativos y

cuantitativos.

3. Con mayor extensión e implantación geográfica.

4. Con un crecimiento más rápido y un mayor potencial de crecimiento futuro.

5. Con un enfoque interdisciplinar y equilibrado entre sus tres dimensiones: económico-turística;

ecológica-sanitario-ambiental y educativa-social.

6. Con un balance original y único entre su dimensión pública y privada.

7. Con mayor difusión mediática como marca y grado de conocimiento popular.

8. Con mayor demanda de conocimiento y/o extensión de su metodología y espíritu a otros

sectores.

9. Con probada independencia de presiones políticas, partidarias o territoriales, corporativas o

económicas.

10. Con el mejor ratio costes-beneficios, materiales y simbólicos, para todos sus

participantes/protagonistas.

Page 8: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

8/26

3. Responsables y Usuarios

3.1. Responsables y Usuarios

En el actual proyecto se han identificado los siguientes roles responsables:

- Responsable de captura de información.

- Responsable de análisis de datos.

- Responsable de infraestructura técnica.

- Responsable de desarrollo de explotación de información.

- Responsables Informática de área de medio ambiente Gobierno Canario.

- Usuarios directivos medio ambiente Gobierno Canario.

3.1.1. Descripción de los Responsables que no son Usuarios de la solución

Responsable de captura de información

Descripción Equipo responsable de realizar la captura de los datos en los diferentes puntos de captura.

Perfil Especialistas en manejo de telescopio.

Responsabilidades Recopilación de información diaria de los diferentes puntos de análisis.

Criterios de éxito Existencia de datos diarios

Implicación Responsable captura de información

Productos a obtener Datos diarios de los 5 puntos de captura

Comentarios

Responsable de análisis de datos

Descripción Equipo responsable de análisis de los datos nuevos recopilados con los ya existentes en el sistema.

Perfil Analista de datos experto en R

Responsabilidades Análisis de los datos recopilados e integrar con los datos históricos para favorecer la toma de decisiones.

Criterios de éxito Obtener conclusiones que favorezcan la toma de decisiones

Implicación Responsable de análisis de datos

Productos a obtener Conclusiones basadas en datos de análisis

Comentarios

Page 9: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

9/26

Responsable de infraestructura técnica

Descripción Equipo responsable de mantener infraestructura técnica del proyecto.

Perfil Experto técnico en tecnología Hadoop

Responsabilidades Montaje y mantenimiento de infraestructura Hadoop que permitirá analizar los datos recopilados y realizar el almacenamiento de la información que permita al sistema recopilar conclusiones.

Criterios de éxito Infraestructura robusta y escalable que favorezca el análisis de grandes cantidades de datos.

Implicación Responsable de infraestructura técnica.

Productos a obtener Sistema robusto y fácilmente escalable

Comentarios

Responsable de desarrollo de modelado y explotación de la información

Descripción Equipo responsable de desarrollo de realizar el modelado de los datos y del diseño y desarrollo del Cuadro de Mando.

Perfil Experto en modelado y técnico en tecnología para desarrollo de Cuadro de Mando

Responsabilidades Modelado de los datos, construcción de DataWareHouse (Hechos, Dimensiones e Indicadores) y diseño y desarrollo de Cuadro de Mando Operativo.

Criterios de éxito DataWarehouse optimizado y con alto rendimiento para que el Cuadro de Mando se comporte de manera eficaz.

Implicación Responsable de desarrollo de modelado y explotación de la información.

Productos a obtener DataWareHouse y Cuadro de Mando.

Comentarios

Responsable informática de área de medio ambiente d e Gobierno Canario

Descripción Equipo responsable de supervisión de desarrollo del proyecto. Pruebas y validación del producto final.

Perfil Experto técnico y conocedor del negocio.

Responsabilidades Supervisar los trabajos de desarrollo desde la captura de los datos hasta la entrega del Cuadro de Mando, teniendo que revisar y aprobar funcionalidad y rendimiento del producto.

Criterios de éxito Recogida de datos, creación DataWarehouse optimizado y Cuadro de Mando eficaz.

Implicación Responsable informática de área de medio ambiente de Gobierno Canario.

Productos a obtener DataWareHouse y Cuadro de Mando.

Comentarios

Page 10: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

10/26

3.1.2. Descripción de los usuarios de la solución

<Nombre Usuario>

Descripción Responsable de equipo de medio ambiente.

Perfil Experto en negocio con capacidad de toma de decisiones en pos de conseguir objetivos marcados por el área de medio ambiente.

Responsabilidades Revisión y auditoría de los datos. Seguimiento y control de los indicadores para la consecución de los objetivos del área de medio ambiente.

Criterios de éxito Datos fiables, ágiles, rendimiento óptimo del sistema. Cuadro de Mando eficaz y fácil de usar.

Implicaciones Responsable negocio área de medio ambiente Gobierno Canario.

Productos a obtener Cuadro de Mando para análisis de indicadores claves para el negocio.

Persona delegada

Comentarios

3.2. Responsables y necesidades clave del usuario

Necesidad/Problema Solución esperada Prioridad Relacionados

Datos diarios con el estado de las aguas en las playas seleccionadas

Información recogida utilizando telescopio Alta Responsable de captura de la información.

Integración de los datos recogidos con el histórico de manera fiable

Proceso óptimo de integración del dato nuevo con el histórico para su posterior explotación

Alta Responsable de captura de la información / Responsable de Infraestructura técnica / Responsable de desarrollo de modelado y explotación de la información

Realización de análisis de información para predicciones

Algoritmo analítico que realice predicciones en base a unos datos históricos

Alta Responsable de análisis de datos

Cálculo de indicadores El sistema calculará los indicadores definidos por negocio

Alta Responsable de desarrollo de modelado y explotación de la información

Visualización de la información

Cuadro de mando operativo que muestre de una manera gráfica e intuitiva los indicadores objetivos marcados por el negocio

Alta Responsable de desarrollo de modelado y explotación de la información

Validación de las necesidades planteadas por el negocio

Seguimiento y control de las tareas de análisis y desarrollo del proyecto para garantizar que el producto final cubra las expectativas y necesidades marcadas por el negocio

Alta Responsable informática de área de medio ambiente de Gobierno Canario

Page 11: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

11/26

Definición de los indicadores y objetivos a analizar por el producto a desarrollar

Análisis de negocio de indicadores y objetivos

Alta Usuario Final Negocio / Responsable informática de área de medio ambiente de Gobierno Canario

Page 12: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

12/26

4. Solución propuesta

4.1. Planificación y Gestión del proyecto.

El proyecto se gestionará mediante un enfoque Agile, haciendo uso de la metodología Scrum. Se

establecen dailys para evaluar el trabajo realizado y a realizar y posibles elementos bloqueantes. Al

final del sprint se realiza una review para evaluar el trabajo completado o no y mostrar una demo de la

plataforma.

Se ha planificado el proyecto en tres sprints más un sprint inicial (sprint 0) dedicado al análisis de

negocio y a la evaluación del software necesario. Dos sprints en los que se desarrollará el grueso de la

solución y un tercero en el que se integrarán los distintos componentes desarrollados de modo que el

workflow del proceso sea adecuado.

El trabajo se organizará en tres epics que nos permitirán minimizar bloqueos por dependencias, causa

principal de retrasos en proyectos. Son las siguientes:

- Instalación e implementación de la Arquitectura Big Data

- Implementación de Machine Learning

- Instalación e implementación de la Arquitectura DWH

El desarrollo final del proyecto se muestra en la siguiente imagen :

Page 13: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

13/26

4.2. Definición de la arquitectura.

4.2.1. Componentes de la arquitectura

Cluster Big Data

• Zookeeper. Soluciona problemas de consenso entre aplicaciones y proporciona un repositorio

de configuración común disponible para todas las aplicaciones. Se encuentra instalado en pro-

nodo01, pro-nodo02 y pro-nodo03 en Alta Disponibilidad.

• Flume. Consume inicialmente el contenido del fichero de entrada y lo publica en kafka. Se

encuentra instalado en pro-nod01

• Kafka. Gestor de colas de tipo publicación-suscripción. Recibe el fichero de Flume. Instalado

en pro-nodo01.

• Mesos. Permite gestionar los recursos disponibles en un entorno distribuido. Se han instalado

3 nodos maestros y 3 esclavos en pro-nodo01, pro-nodo02 y pro-nodo03.

• Spark. Framework que permite procesar información de forma distribuida. En nuestro caso,

nos suscribimos al topic de kafka para, mediante Spark Streaming y Spark sql, realizar un

proceso de limpieza, mapeo y la persistencia en hdfs (los valores de origen) y en Postgres X2.

En la solución propuesta se han incluido nodos esclavos en los nodos pro-nodo01, pro-nodo02

y pro-nodo03 y un maestro en pro-nodo01.

• HDFS. Sistema de ficheros de hadoop en el que persistiremos la información original

procedente de Kafka de forma distribuida. Para la solución, se ha optado por poner data nodes

en los nodos pro-nodo01, pro-nodo02 y pro-nodo03. El name node en el nodo 1 y el secondary

name node en el nodo 2.

Cluster DataWarehouse Big Data

• Postgres X2. Gestor de base de datos relacional MPP que, además de permitir escalado

vertical permite escalado horizontal, distribuyendo la información y la computación a lo largo

del cluster sin perder las propiedades ACID básicas en un gestor de base de datos relacional.

En pro-nodo04 y pro-nodo05 estarán los data node y el coordinador y el gtm (gestor de

transacciones) estará en el pro-nodo04.

• R server. Servidor con el lenguaje de programación R que nos permitirá, dado un conjunto de

muestras, clasificar el tipo de muestra recogida.

• Power BI. Permite la creación de informes y Dashboards

Page 14: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

14/26

Podemos ver a continuación la solución final descrita:

Toda la información de la instalación y la configuración de los sistemas utilizados se encuentra

descrita en el documento Anexo I Instalación y Configuración de Sistemas.

Page 15: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

15/26

4.2.2. Workflow del proceso

El workflow constará de una parte ejecutada en streaming y otra parte en batch. Se describen a

continuación:

Parte streaming

1. Flume recibe los datos del telescopio y los envía a un topic de Kafka

2. Spark se suscribe al topic de kafka, persiste los datos originales en hdfs, evalúa si los valores del

registro son correctos, realiza mapeo de valores y persiste los datos en Postgres X2

Parte batch

3. R recibe los datos cargados en Postgres X2 y ejecuta su algoritmo para clasificar la muestra y vuelve

a persistir los datos en Postgres X2 ya con un tipo asignado.

4. Se ejecuta un procedimiento en Postgres X2 que traspasa la los datos depositados por R en el

DataWarehouse.

5. Podemos ver con Power BI los dashboards generados.

Vemos en la siguiente imagen el workflow del proceso completo:

Se tiene como objetivo el no perder ninguna de las lecturas diarias que se realizan en cada uno de los

dispositivos.

La estructura que tendrán los ficheros de información que son generados por los diferentes telescopios

será la siguiente:

- Localización.

- Fecha y Hora de lectura.

- CH1 (nanómetros, valor normalizado entre 0 y 1).

- CH2 (nanómetros, valor normalizado entre 0 y 1).

- CH3 (nanómetros, valor normalizado entre 0 y 1).

Page 16: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

16/26

- CH4 (nanómetros, valor normalizado entre 0 y 1).

- CH5 (nanómetros, valor normalizado entre 0 y 1).

- CH6 (nanómetros, valor normalizado entre 0 y 1).

- CH7 (nanómetros, valor normalizado entre 0 y 1).

- Tiempo (nanosegundos. El tiempo en nanosegundos que tarda la luz en retornar al dispositivo.

4.2.3. Almacenamiento y analítica de la información.

La información recibida se almacena en HDFS y se envía a PostGreSQL X2 para su procesamiento con

R y su explotación con Power BI. Dicha base de datos será alimentada diariamente y almacenará todas

las lecturas realizadas por los dispositivos sin la pérdida de ningún dato.

a. Limpieza, validación y transformación del dato.

Los procesos de limpieza, validación y transformación del dato son realizados por Spark en primer

lugar y posteriormente con R.

b. Fase de analítica.

En esta fase de proyecto se desarrollará, además del almacenamiento, la fase de analítica. Dicha

analítica, programada en R, leerá los datos almacenados y analizará mediante modelos estadísticos y

de predicción, cuáles serán los diferentes tipos de fuel que se están vertiendo en los diferentes puntos

geográficos analizados.

Page 17: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

17/26

En la fase de analítica se elaboran dos modelos siguiendo el siguiente proceso:

Toda la información sobre los modelos de clasificación se encuentra en el documento Anexo II

Elaboración del modelo para la clasificación de las lecturas.

Page 18: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

18/26

El dataset de entrenamiento utilizado ha sido generado a partir de un detector de sustancias

fluorescentes. La patente es:

http://www.oepm.es/pdf/ES/0000/000/01/07/59/ES-1075980_U.pdf

c. Fase de modelado.

Comprende la fase de definición de la estructura que va a contener la información del proyecto. Se ha

utilizado un esquema de copo de nieve, de esta manera organizamos la base de datos en tablas de

hechos y dimensiones.

Reglas y Nomenclatura.

Con el uso de patrones y reglas se facilita el trabajo de asignar nombres a los datos y objetos de las

bases de datos, permitiendo así, mayor facilidad de identificación, comprensión y mantenimiento.

Reglas Generales.

A continuación se enumeran un conjunto de reglas generales que se han tenido en cuenta a la hora de

definir nombres para los distintos objetos presentes en las bases de datos:

• Los nombres deben ajustarse al máximo a la idea de proyecto.

• Los nombres de los objetos no deben utilizar ningún carácter especial, a excepción del carácter

“_” que se puede utilizar como separador para hacer más legibles los nombres.

• En los nombres no se utilizarán ni artículos ni preposiciones que sean irrelevantes para el

significado del objeto: Ejemplo: co_zona_lectura (correcto) co_zona_de_lectura (incorrecto)

• Las columnas se nombrarán usando letras en minúscula.

Nomenclatura de Tablas - Sufijos por funcionalidad.

Resulta útil definir directamente en el nombre de la tabla la funcionalidad para la que esta ha sido

definida. En el proyecto se utilizarán los siguientes sufijos.

Sufijo Descripción

Ori Tablas que contienen datos originales

sin ningún tratamiento

Opt Tablas con una optimización o guarde

el resultado de un modelo

Bi Tablas con agregaciones simples

Page 19: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

19/26

Nomenclatura de columnas.

A continuación, se muestran las diferentes abreviaturas que se utilizarán como prefijo para expresar la

naturaleza de la columna.

Naturaleza Prefijo Tipo

Identificador id Numérico entero

Código co Alfabético, numérico o

alfanumérico

Nombre no Alfabético o alfanumérico

Descripción ds Alfabético o alfanumérico

Fecha dt Date, expresado en YYYY-MM-DD

Cantidad qt Numérico entero

Valor vl Numérico con decimales

4.2.4. Explotación y visualización del modelo.

La explotación y visualización de la información se realizará a través de un Cuadro de Mando Operativo

que permita al usuario tener una visión global, clara y gráfica de la situación con objetivo de análisis.

Los pasos a seguir en esta fase serán los siguientes:

- Definición de indicadores y dimensiones necesarios para el cuadro de mando de calidad del agua.

- Modelo de base de datos.

- Carga de la tabla.

- Implementación del cuadro de mando.

a. Diagramas Entidad – Relación.

• Base de Datos Stage: crudos_stage

Page 20: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

20/26

• Base de Datos DWS: crudos_BI

b. Código DDL de las base de datos.

• Base de Datos Stage: crudos_stage

-- DROP DATABASE crudos_stage;

CREATE DATABASE crudos_stage

WITH OWNER = postgres

ENCODING = 'UTF8';

CREATE TABLE lecturas_ori (

id_lectura serial NOT NULL,

dt_lectura date NULL,

vl_ch1_410nm numeric not null,

vl_ch2_450nm numeric not null,

vl_ch3_490nm numeric not null,

vl_ch4_530nm numeric not null,

vl_ch5_580nm numeric not null,

vl_ch6_610nm numeric not null,

vl_ch7_670nm numeric not null,

qt_fwhm_ns int null,

id_localizacion int,

CONSTRAINT pk_lecturas_ori PRIMARY KEY (id_lectura)

Page 21: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

21/26

) DISTRIBUTE BY ROUNDROBIN;

• Base de Datos DWS: crudos_BI

--DROP DATABASE IF EXISTS crudos_BI;

CREATE DATABASE crudos_bi

WITH OWNER = postgres

ENCODING = 'UTF8';

CREATE TABLE tipo_crudo(

id_tipo_crudo serial NOT NULL,

no_tipo_crudo varchar(25) NOT NULL,

ds_tipo_crudo varchar(50) NULL,

CONSTRAINT pk_tipo_crudo PRIMARY KEY (id_tipo_crudo)

) DISTRIBUTE BY REPLICATION;

INSERT INTO TIPO_CRUDO (id_tipo_crudo,no_tipo_crudo,ds_tipo_crudo) VALUES (1,'norne',NULL);

INSERT INTO TIPO_CRUDO (id_tipo_crudo,no_tipo_crudo,ds_tipo_crudo) VALUES (2,'maya',NULL);

INSERT INTO TIPO_CRUDO (id_tipo_crudo,no_tipo_crudo,ds_tipo_crudo) VALUES (3,'ifo380','fuel oleo IFO380 (f.o intermedio)');

INSERT INTO TIPO_CRUDO (id_tipo_crudo,no_tipo_crudo,ds_tipo_crudo) VALUES (4,'f1bia','fuel oleo vía 1BIA (f.o. bajo índice azufre)');

INSERT INTO TIPO_CRUDO (id_tipo_crudo,no_tipo_crudo,ds_tipo_crudo) VALUES (5,'notarget','no target: sin resto');

CREATE TABLE localizacion(

id_localizacion serial NOT NULL,

co_localizacion varchar(3) NOT NULL,

no_localizacion varchar(25) NOT NULL,

CONSTRAINT pk_localizacion PRIMARY KEY (id_localizacion)

) DISTRIBUTE BY REPLICATION;

INSERT INTO localizacion (id_localizacion,co_localizacion,no_localizacion) VALUES (1,'ten','tenerife');

INSERT INTO localizacion (id_localizacion,co_localizacion,no_localizacion) VALUES (2,'pal','las palmas');

CREATE TABLE calendar (

dt_fecha date NOT NULL,

ww_445 int4 NOT NULL,

yy_445 int4 NOT NULL,

id_ini_445 int2 NOT NULL,

Page 22: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

22/26

ww_cal int4 NOT NULL,

yy_cal int4 NOT NULL,

id_ini_cal int2 NOT NULL

) DISTRIBUTE BY REPLICATION;

-- ...

INSERT INTO calendar VALUES ('2015-12-31', '52', '2015', '0', '53', '2015', '0');

INSERT INTO calendar VALUES ('2016-01-01', '1', '2016', '1', '53', '2015', '0');

INSERT INTO calendar VALUES ('2016-01-02', '1', '2016', '0', '53', '2015', '0');

INSERT INTO calendar VALUES ('2016-01-03', '1', '2016', '0', '53', '2015', '0');

INSERT INTO calendar VALUES ('2016-01-04', '1', '2016', '0', '1', '2016', '1');

INSERT INTO calendar VALUES ('2016-01-05', '1', '2016', '0', '1', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-06', '1', '2016', '0', '1', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-07', '1', '2016', '0', '1', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-08', '1', '2016', '0', '1', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-09', '2', '2016', '1', '1', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-10', '2', '2016', '0', '1', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-11', '2', '2016', '0', '2', '2016', '1');

INSERT INTO calendar VALUES ('2016-01-12', '2', '2016', '0', '2', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-13', '2', '2016', '0', '2', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-14', '2', '2016', '0', '2', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-15', '2', '2016', '0', '2', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-16', '3', '2016', '1', '2', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-17', '3', '2016', '0', '2', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-18', '3', '2016', '0', '3', '2016', '1');

INSERT INTO calendar VALUES ('2016-01-19', '3', '2016', '0', '3', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-20', '3', '2016', '0', '3', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-21', '3', '2016', '0', '3', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-22', '3', '2016', '0', '3', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-23', '4', '2016', '1', '3', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-24', '4', '2016', '0', '3', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-25', '4', '2016', '0', '4', '2016', '1');

INSERT INTO calendar VALUES ('2016-01-26', '4', '2016', '0', '4', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-27', '4', '2016', '0', '4', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-28', '4', '2016', '0', '4', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-29', '4', '2016', '0', '4', '2016', '0');

INSERT INTO calendar VALUES ('2016-01-30', '5', '2016', '1', '4', '2016', '0');

Page 23: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

23/26

INSERT INTO calendar VALUES ('2016-01-31', '5', '2016', '0', '4', '2016', '0');

-- ...

CREATE TABLE lecturas_opt (

id_lectura serial NOT NULL,

dt_lectura date NULL,

vl_ch1_410nm numeric not null,

vl_ch2_450nm numeric not null,

vl_ch3_490nm numeric not null,

vl_ch4_530nm numeric not null,

vl_ch5_580nm numeric not null,

vl_ch6_610nm numeric not null,

vl_ch7_670nm numeric not null,

qt_fwhm_ns int null,

id_localizacion int,

no_tipo_crudo varchar(25) NOT NULL,

CONSTRAINT pk_lecturas_opt PRIMARY KEY (id_lectura),

CONSTRAINT fk01_localizacion_opt FOREIGN KEY (id_localizacion)

REFERENCES localizacion (id_localizacion) MATCH FULLON UPDATE NO ACTION ON DELETE NO ACTION

) DISTRIBUTE BY ROUNDROBIN;

CREATE TABLE lecturas_dest(

id_lectura serial NOT NULL,

dt_lectura date NULL,

vl_ch1_410nm numeric not null,

vl_ch2_450nm numeric not null,

vl_ch3_490nm numeric not null,

vl_ch4_530nm numeric not null,

vl_ch5_580nm numeric not null,

vl_ch6_610nm numeric not null,

vl_ch7_670nm numeric not null,

qt_fwhm_ns int null,

id_localizacion int,

no_tipo_crudo varchar(25) NOT NULL,

CONSTRAINT pk_lecturas_dest PRIMARY KEY (id_lectura),

CONSTRAINT fk01_localizacion_dest FOREIGN KEY (id_localizacion)

REFERENCES localizacion (id_localizacion) MATCH FULL

ON UPDATE NO ACTION ON DELETE NO ACTION

Page 24: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

24/26

) DISTRIBUTE BY ROUNDROBIN;

CREATE TABLE lecturas_bi (

dt_lectura date,

id_tipo_crudo integer NOT NULL,

id_localizicion integer NOT NULL,

qt_lecturas integer NOT NULL,

CONSTRAINT Pk_lecturas_bi PRIMARY KEY (dt_lectura, id_tipo_crudo, id_localizicion),

CONSTRAINT fk01_tipo_crudo FOREIGN KEY (id_tipo_crudo)

REFERENCES tipo_crudo (id_tipo_crudo) MATCH FULL

ON UPDATE NO ACTION ON DELETE NO ACTION,

CONSTRAINT fk02_localizacion FOREIGN KEY (id_localizicion)

REFERENCES localizacion (id_localizacion) MATCH FULL

ON UPDATE NO ACTION ON DELETE NO ACTION

) DISTRIBUTE BY ROUNDROBIN;

Capa de Presentación.

CLASE OBJETO DESCRIPCION

Indicadores Nº de lecturas Cuenta del número de lecturas.

Tipo de Crudo Tipo de Crudo Descripción del tipo de crudo.

Fecha Muestra

Fecha Muestra Fecha de recogida de la muestra.

Año Muestra Año de la fecha de la muestra.

Mes Muestra Mes de la fecha de la muestra.

Localización Código de localización Código de la localización.

Localización Descripción de la localización.

Page 25: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

25/26

Page 26: Calidad del Agua - cice.es · Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity 2/26 Indice 1. Introducción 3 1.1. Propósito 3 1.2.

Visión de la Solución CICE / Calidad del agua 06 de diciembre de 2016 Issuing Entity

26/26

4.3. Casos de uso propuestos

4.3.1. Modelo de Casos de uso

Es necesario que el usuario pueda analizar los números de vertidos realizados para un espacio de

tiempo y una determinada localización. Para ello se le permitirá obtener la información filtrando por los

siguientes conceptos:

- Localización.

- Tipo de Crudo.

- Fecha.

o Año.

o Mes.

La información se agrupará por uno o varios de los siguientes conceptos:

- Tipo de Crudo.

- Fecha de Muestra.

o Año

o Mes

- Localización.