Traducción no actualizada
Data Historian: ¿de qué trata?
Data Historian constituye un método eficiente de recopilar y guardar datos de series temporales. Los datos podrían provenir de las líneas de producción, las rutas de transporte, los dispositivos de red, los satélites y otros dispositivos. Los datos se almacenan con una indicación de fecha y hora y otra información de identificación, como el ID de dispositivo y la ubicación. Puede crear un panel de control para obtener información en tiempo real, o bien puede almacenar los datos para analizarlos fuera de línea.
Datos de ejemplo de Data Historian
Los datos de ejemplo que se utilizan en el flujo de secuencias de Data Historian contienen datos meteorológicos formateados procedentes de cinco estaciones meteorológicas. Los datos incluyen ID de la estación, huso horario, fecha en formato UTC (Tiempo universal coordinado), latitud, longitud, temperatura, presión atmosférica, humedad, temperatura interior y lluvia.
Objetivo
Nuestro objetivo es recopilar datos de las estaciones meteorológicas y calcular la temperatura media, la presión barométrica, la humedad, la temperatura interior y la precipitación para cada estación meteorológica cada minuto.
Descripción de los operadores
En la siguiente captura de pantalla se muestra el aspecto del flujo de secuencias de ejemplo de Data Historian en el lienzo.
Vamos a examinar más detenidamente estos operadores.
Operador Datos de ejemplo
Datos de ejemplo es el origen de los datos meteorológicos correspondiente al flujo de secuencias. En las siguientes capturas de pantalla se muestran las propiedades de los datos meteorológicos y algunos de sus atributos de esquema.
El flujo de secuencias ingiere los datos de ejemplo. Los atributos de esquema incluyen el ID de estación meteorológica, el huso horario, la fecha en formato UTC, la indicación de fecha y hora, la longitud de la estación meteorológica, etc.
Primer operador agregado
A continuación, queremos calcular el promedio de presión barométrica, humedad, temperatura interior y lluvias del día en curso para cada estación meteorológica. Podemos hacer esos cálculos con el primer operador agregado.
Ventanas
La agregación se realiza en “ventanas” de datos. Los tipos de ventanas y el tipo que utilice dependen de cuándo y con qué frecuencia desea calcular los resultados.
Una ventana deslizante calcula el resultado de la agregación siempre que llega una nueva tupla. Una tupla permanece en la ventana hasta que su antigüedad supera el tamaño de la ventana. Por ejemplo, si el tamaño de la ventana es de 30 días, una tupla se elimina cuando tiene más de 30 días.
Este tipo de ventanas se utiliza para cálculos dinámicos y actualizados, tales como la información sobre lluvia que se envía a una aplicación móvil.
Una ventana contigua calcula el resultado de la agregación una vez al final de cada período designado, independientemente de la frecuencia con la que lleguen las tuplas. Entonces todas las tuplas (no solo la más antigua) "salen" de la ventana.
Este tipo de ventana resulta más adecuado para situaciones en las que se requieren actualizaciones a intervalos específicos. Por ejemplo, para informar sobre la temperatura, la presión y la humedad cada hora.
Vamos a utilizar una ventana contigua porque queremos aplicar una función a las tuplas cada minuto.
Particionamiento
Nuestro objetivo es calcular los promedios para cada estación meteorológica. Para realizar estos cálculos, particionamos por "id". Los datos de ejemplo se han tomado de cinco estaciones meteorológicas. Cada estación meteorológica es una partición separada y forman un total de cinco particiones.
¿Qué ocurre durante la salida de datos?
Puesto que utilizamos una ventana de 60 segundos, todas las tuplas "salen" cada 60 segundos, y luego se aplica la función designada para cada atributo. La agregación se realiza sobre particiones individuales (estaciones meteorológicas) en cada ventana.
Por ejemplo, la función “PassThrough” se ejecuta sobre los atributos “id”, “tz” y ‘dateutc” de cada partición. “PassThrough” permite que estos atributos pasen sin que se aplique ningún filtro ni se realice ningún cambio. Por el contrario, la función “Average” se ejecuta sobre los atributos “rainfall” y “humidity” para calcular sus cantidades medias para cada partición (estación meteorológica).
Segundo operador agregado
El segundo operador agregado ingiere la salida del primer operador agregado. El segundo operador se define como el primero, excepto en que las tuplas 'salen' cada 180 segundos. El agregado se realiza con mucha menor frecuencia en el segundo operador agregado. Como resultado, se envían menos datos para el almacenamiento en Cloud Object Storage.
Cloud Object Storage
Cloud Object Storage proporciona almacenamiento en la nube para cantidades masivas de datos no estructurados. Una instancia de Cloud Object Storage debe suministrarse en IBM Cloud y, a continuación, asociarse con el proyecto.
En nuestro ejemplo, definimos la vía de acceso del archivo donde almacenar los datos en Cloud Object Storage. En primer lugar, pulse y, a continuación, seleccione el grupo existente denominado
datahistoriador/weather\_storage
.
Creamos un nuevo archivo llamado HD_ %TIME.csv
. Creamos un nuevo archivo cada 1800 segundos (10 minutos). Añadiendo "%TIME" al nombre del archivo, crearemos un nombre exclusivo cada vez que se cree el archivo. De lo contrario, el nuevo archivo sobrescribe el existente.
Ejecución del flujo de secuencias de ejemplo Data Historian
Cuando selecciona Ejemplo de Data Historian en la ventana Crear flujo de secuencias y define la instancia de Cloud Object Storage que ha de utilizar, el flujo de secuencias se crea automáticamente para usted.
Se abre la página Métricas y muestra el flujo de secuencias en estado Detenido. Cuando pulsa Ejecutar, el flujo de secuencias se despliega y luego el flujo de datos comienza en el operador Datos de ejemplo, continúa en el primer operador de agregación, y luego en el segundo, y termina en el operador de Cloud Object Storage.
La página Métricas tiene varios paneles:
-
Panel Flujo de secuencias: Muestra los datos de secuencia a medida que fluye entre los operadores del flujo de secuencias.
Mueva el puntero del ratón sobre el flujo de datos que sale del primer operador agregado para ver el número de sucesos por segundo. A continuación, haga lo mismo sobre el flujo de datos procedente del segundo operador agregado. Observe que fluyen menos datos desde el segundo operador que desde el primero.
Para ver los datos reales que se utilizan en los promedios del primer operador agregado, pulse el flujo de datos procedente del primer operador. Se abre la tabla Flujo de sucesos.
-
Velocidad de ingesta: Para cada origen de flujo de secuencias, muestra el número de sucesos de ejemplo que se envían al flujo de secuencias por segundo.
-
Rendimiento: Para cada operador, muestra el rendimiento de los flujos de entrada y de salida, en el caso de que existan. También muestra los sucesos que tienen errores. Pulse cada operador para ver su rendimiento.
-
Tabla Flujo de sucesos: Muestra los sucesos que fluyen entre los operadores en formato de tabla y JSON. Esta tabla solo se abre cuando se pulsa el flujo de datos entre los operadores.