¿Qué es AWS IoT Analytics? - AWS IoT Analytics

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

¿Qué es AWS IoT Analytics?

AWS IoT Analytics automatiza los pasos necesarios para analizar los datos de los dispositivos de IoT. AWS IoT Analytics filtra, transforma y enriquece los datos de IoT antes de almacenarlos en un almacén de datos de serie temporal para su análisis. Puede configurar el servicio para recopilar solo los datos que necesite de sus dispositivos, aplicar transformaciones matemáticas a los datos para procesarlos y enriquecerlos con metadatos específicos del dispositivo, como el tipo de dispositivo y la ubicación, antes de almacenarlos. A continuación, puede analizar los datos mediante la ejecución de consultas con el motor de consultas SQL integrado o realizar análisis más complejos e inferencias de machine learning. AWS IoT Analytics permite la exploración avanzada de datos mediante la integración con el cuaderno de Jupyter. AWS IoT Analytics también permite la visualización de datos mediante la integración con Amazon QuickSight. Amazon QuickSight está disponible en las siguientes regiones.

Las herramientas tradicionales de análisis e inteligencia empresarial están diseñadas para procesar datos estructurados. Los datos de IoT sin procesar suelen proceder de dispositivos que registran datos menos estructurados (como la temperatura, el movimiento o el sonido). Como consecuencia, los datos de estos dispositivos pueden tener con frecuencia discontinuidades notables, mensajes dañados y lecturas falsas que se deben limpiar antes de poder llevar a cabo un análisis. Además, los datos de IoT a menudo solo son significativos en el contexto de otros datos de fuentes externas. AWS IoT Analytics le permite abordar estos problemas y recopilar grandes cantidades de datos de dispositivos, procesar mensajes y almacenarlos. A continuación, puede consultar los datos y analizarlos. AWS IoT Analytics incluye modelos predefinidos para los casos de uso habituales del IoT, de modo que pueda responder a preguntas como qué dispositivos están a punto de fallar o qué clientes corren el riesgo de abandonar sus dispositivos ponibles.

Cómo utilizar las AWS IoT Analytics

En el siguiente gráfico se muestra información general de cómo se puede usar AWS IoT Analytics.


    Una visión general de cómo usar AWS IoT Analytics

Características principales

Recopilación
  • Integración con AWS IoT Core: AWS IoT Analytics está plenamente integrado con AWS IoT Core, de modo que puede procesar mensajes de los dispositivos conectados a medida que se reciben.

  • Uso de una API por lotes para agregar datos de cualquier origen: AWS IoT Analytics puede recibir datos de cualquier origen a través de HTTP. Esto significa que cualquier dispositivo o servicio que esté conectado a Internet puede enviar datos a AWS IoT Analytics. Para obtener más información, consulte BatchputMessage en la Referencia de la API de AWS IoT Analytics.

  • Recopile solo los datos que desee almacenar y analizar; puede usar la consola de AWS IoT Analytics para configurar a AWS IoT Analytics para que reciba mensajes de los dispositivos mediante filtros de temas de MQTT en varios formatos y frecuencias. AWS IoT Analytics valida que los datos estén dentro de los parámetros específicos que usted defina, y crea canales. A continuación, el servicio dirige los canales a las canalizaciones adecuadas para realizar el procesamiento, la transformación y el enriquecimiento de los mensajes.

Proceso
  • Limpieza y filtrado: AWS IoT Analytics le permite definir funciones de AWS Lambda que se activan cuando AWS IoT Analytics detecta datos que faltan, de modo que se puede ejecutar código para estimar y cubrir las discontinuidades. También se pueden definir filtros de máximos y mínimos y umbrales de percentiles para eliminar los valores atípicos de los datos.

  • Transformación: AWS IoT Analytics puede transformar mensajes utilizando la lógica matemática o condicional que se defina, de modo que puede realizar cálculos comunes tales como conversión de grados Celsius a Fahrenheit.

  • Enriquecimiento: AWS IoT Analytics puede enriquecer los datos con orígenes de datos externos como, por ejemplo, información de previsión meteorológica y, a continuación, dirigir los datos al almacén de datos de AWS IoT Analytics.

Almacenar
  • Almacén de datos de series temporales: AWS IoT Analytics almacena los datos de los dispositivos en un almacén de datos de series temporales optimizado para realizar un análisis y una recuperación más rápidos. También puede administrar permisos de acceso, implementar políticas de retención de datos y exportar los datos a puntos de acceso externos.

  • Almacenar datos procesados y sin procesar: AWS IoT Analytics almacena los datos procesados y además almacena automáticamente los datos sin procesar adquiridos para que pueda procesarlos más adelante.

Análisis
  • Ejecución de consultas SQL ad hoc: AWS IoT Analytics proporciona un motor de consultas SQL que permite ejecutar consultas ad hoc y obtener los resultados rápidamente. El servicio le permite utilizar consultas SQL estándar para extraer datos desde el almacén de datos para responder a preguntas como la distancia media que recorre una flota de vehículos conectados o cuántas puertas están bloqueadas después de las 19:00 h en un edificio inteligente. Estas consultas se pueden reutilizar incluso si cambian los dispositivos conectados, el tamaño de la flota y los requisitos de análisis.

  • Análisis de series temporales: AWS IoT Analytics admite los análisis de series temporales que permiten analizar el rendimiento de los dispositivos a lo largo del tiempo y entender cómo y dónde se están utilizando, monitorizar continuamente los datos de los dispositivos para predecir problemas de mantenimiento y monitorizar sensores para predecir y reaccionar ante condiciones ambientales.

  • Cuadernos alojados para análisis sofisticados y machine learning: AWS IoT Analytics incluye soporte para cuadernos alojados en el cuaderno de Jupyter para análisis estadísticos y machine learning. El servicio incluye un conjunto de plantillas de cuadernos que contienen modelos y visualizaciones de machine learning creados por AWS. Puede utilizar las plantillas para iniciarse en los casos de uso de IoT relacionados con los perfiles de fallo de los dispositivos, la previsión de eventos de bajo uso que podrían indicar que el cliente abandonará el producto, o la segmentación de los dispositivos por niveles de uso del cliente (p. ej., usuarios intensivos, usuarios de fin de semana) o estado del dispositivo. Después de crear un bloc de notas, puede incluirlo en contenedores y ejecutarlo en un horario que especifique. Para obtener más información, consulte Automatización del flujo de trabajo.

  • Predicción: puede realizar una clasificación estadística a través de un método denominado regresión logística. Además, puede utilizar la Memoria a largo-corto plazo (LSTM), que es una potente técnica de redes neuronales para predecir el resultado o estado de un proceso que varía a lo largo del tiempo. Las plantillas de bloc de notas prediseñadas admiten además el algoritmo de clústering de K-means para segmentación de dispositivos, que agrupa los dispositivos en grupos de dispositivos similares. Estas plantillas se utilizan normalmente para realizar perfiles de estado de dispositivos como, por ejemplo, equipos de sistemas de aire acondicionado en una fábrica de chocolate o el desgaste de las palas de una turbina eólica. De nuevo, estas plantillas de bloc de notas pueden incluirse en contenedores y ejecutarse según una programación.

Compilación y visualización
  • Integración de QuickSight: AWS IoT Analytics proporciona un conector para Amazon QuickSight que permite visualizar los conjuntos de datos en un panel de QuickSight.

  • Integración de la consola: además, puede visualizar los resultados o su análisis ad-hoc en los cuadernos de Jupyter integrados en la consola de AWS IoT Analytics.

Componentes y conceptos de AWS IoT Analytics

Canal

Un canal recopila datos desde un tema MQTT y archiva los mensajes sin procesar antes de publicar los datos en una canalización. También puede enviar mensajes a un canal directamente utilizando la API BatchPutMessage. Los mensajes sin procesar se almacenan en un bucket de Amazon Simple Storage Service (Amazon S3) que usted o AWS IoT Analytics administra.

Canalización

Una canalización consume mensajes de un canal y le permite procesar los mensajes antes de guardarlos en un almacén de datos. Las etapas de procesamiento, denominadas actividades (actividades de canalización), realizan transformaciones en los mensajes, tales como eliminar, cambiar el nombre o añadir atributos al mensaje, filtrar mensajes en función de los valores de los atributos, ejecutar funciones de Lambda con los mensajes para el procesamiento avanzado o realizar transformaciones matemáticas para normalizar los datos de los dispositivos.

Almacén de datos

Las canalizaciones almacenan sus mensajes procesados en un almacén de datos. Un almacén de datos no es una base de datos, sino un repositorio de mensajes que se puede escalar y consultar. Puede tener varios almacenes de datos para mensajes procedentes de distintos dispositivos o ubicaciones, o para mensajes filtrados mediante diferentes atributos, en función de la configuración de la canalización y de los requisitos. Al igual que los mensajes de canal sin procesar, los mensajes procesados de un almacén de datos se almacenan en un bucket de Amazon S3 administrado por usted o AWS IoT Analytics.

Conjunto de datos

Los datos de un almacén de datos se recuperan creando un conjunto de datos. AWS IoT Analytics le permite crear un conjunto de datos SQL o un conjunto de datos de contenedor.

Cuando disponga de un conjunto de datos, puede explorar y obtener información sobre ellos mediante la integración con Amazon QuickSight. También puede realizar funciones de análisis más avanzadas mediante la integración con el cuaderno de Jupyter. El cuaderno de Jupyter proporciona potentes herramientas de ciencia de datos que pueden llevar a cabo machine learning y una amplia gama de análisis estadísticos. Para obtener más información, consulte Plantillas de bloc de notas.

Puede enviar contenido de un conjunto de datos a un bucket de Amazon S3, lo que permite la integración con los lagos de datos existentes o el acceso desde aplicaciones internas y herramientas de visualización. También puede enviar contenido del conjunto de datos como una entrada a AWS IoT Events, un servicio que le permite monitorizar dispositivos o procesos para ver si se producen errores o cambios en la operación, y para activar acciones adicionales cuando se producen estos eventos.

Conjunto de datos SQL

Un conjunto de datos SQL es algo parecido a una vista materializada de una base de datos SQL. Puede crear un conjunto de datos SQL aplicando una acción SQL. Los conjuntos de datos SQL se pueden generar automáticamente de forma periódica especificando un desencadenador.

Conjunto de datos de contenedores

Un conjunto de datos de contenedores le permite ejecutar automáticamente herramientas de análisis y generar resultados. Para obtener más información, consulte Automatización del flujo de trabajo. Aúna un conjunto de datos SQL como entrada, un contenedor de Docker con las herramientas de análisis y los archivos de biblioteca necesarios, variables de entrada y salida y un desencadenador de programación opcional. Las variables de entrada y salida indican a la imagen ejecutable dónde obtener los datos y almacenar los resultados. El desencadenador puede ejecutar el análisis cuando un conjunto de datos SQL termina de crear su contenido o de acuerdo con una expresión de programación de tiempo. Un conjunto de datos de contenedores se ejecutará automáticamente, y generará y, a continuación, guardará los resultados de las herramientas de análisis.

Desencadenador

Puede crear automáticamente un conjunto de datos especificando un desencadenador. El desencadenador puede ser un intervalo de tiempo (p. ej., crear este conjunto de datos cada dos horas) o el momento en que se crea el contenido de otro conjunto de datos (p. ej., crear este conjunto de datos cuando myOtherDataset termine de crear su contenido). O bien, puede generar el contenido del conjunto de datos manualmente mediante la API CreateDatasetContent.

Contenedor de Docker

Puede crear su propio contenedor de Docker para empaquetar las herramientas de análisis o utilizar las opciones que proporciona SageMaker. Para obtener más información, consulte Contenedor de Docker. Puede crear su propio contenedor de Docker para empaquetar las herramientas de análisis o utilizar las opciones proporcionadas por SageMaker. Puede almacenar un contenedor en un registro de Amazon ECR que especifique de forma que esté disponible para su instalación en la plataforma deseada. Los contenedores de Docker son capaces de ejecutar el código de análisis personalizado preparado con Matlab, Octave, Wise.io, SPSS, R, Fortran, Python, Scala, Java, C++, etc. Para obtener más información, consulte Inclusión de un bloc de notas en contenedores.

Ventanas diferenciales

Las ventanas diferenciales son una serie de intervalos de tiempo definidos por el usuario, no solapados y contiguos. Las ventanas diferenciales le permiten crear el contenido del conjunto de datos y realizar análisis sobre los nuevos datos que han llegado al almacén de datos desde el último análisis. Para crear una ventana diferencial, establezca el valor deltaTime en la parte filters de una queryAction de un conjunto de datos. Para obtener más información, consulte la API CreateDataset. Normalmente, querrá crear el contenido del conjunto de datos automáticamente estableciendo un desencadenador de intervalo de tiempo (triggers:schedule:expression). Esto le permite filtrar los mensajes que han llegado durante un periodo de tiempo específico, de forma que los datos contenidos en mensajes de periodos anteriores no se contabilicen dos veces. Para más información, consulte Ejemplo 6. Creación de un conjunto de datos SQL con una ventana diferencial (CLI).

Acceder a AWS IoT Analytics

Como parte de AWS IoT, AWS IoT Analytics proporciona las siguientes interfaces para permitir a sus dispositivos generar datos y a sus aplicaciones interactuar con los datos que generan:

AWS Command Line Interface (AWS CLI)

Ejecuta comandos para AWS IoT Analytics en Windows, OS X y Linux. Estos comandos le permiten crear y administrar objetos, certificados, reglas y políticas. Para empezar, consulte la AWS Command Line Interface Guía de usuario de . Para obtener más información sobre los comandos de AWS IoT, consulte iot en Referencia de AWS Command Line Interface.

importante

Utilice el comando aws iotanalytics para interactuar con AWS IoT Analytics. Utilice el comando aws iot para interactuar con otras partes del sistema de IoT.

API de AWS IoT

Cree sus aplicaciones IoT mediante solicitudes HTTP o HTTPS. Estas acciones de la API le permiten crear y administrar objetos, certificados, reglas y políticas. Para obtener más información, consulte Acciones de en la Referencia de la API de AWS IoT.

SDK de AWS

Cree sus aplicaciones AWS IoT Analytics mediante las API específicas de cada idioma. Estos SDK integran las API de HTTP y HTTPS y le permiten programar en cualquiera de los lenguajes admitidos. Para obtener más información, consulte SDK y herramientas de AWS.

SDK de dispositivos de AWS IoT

Cree aplicaciones que se ejecutan en sus dispositivos para enviar mensajes a AWS IoT Analytics. Para obtener más información, consulte SDK de AWS IoT.

Consola de AWS IoT Analytics

Puede crear los componentes para visualizar los resultados en la consola de AWS IoT Analytics.

Casos de uso

Mantenimiento predictivo

AWS IoT Analytics proporciona plantillas predefinidas para crear modelos de mantenimiento predictivo y aplicarlos a los dispositivos. Por ejemplo, es posible utilizar AWS IoT Analytics para predecir cuándo es probable que se produzcan averías en los sistemas de calefacción y ventilación en los vehículos de carga conectados, de modo que el vehículo se pueda redirigir para evitar daños en la carga. O bien, un fabricante de automóviles puede detectar qué clientes tienen gastadas las pastillas de freno y avisarles para que sus vehículos se sometan a revisión.

Reabastecimiento de suministros proactivo

AWS IoT Analytics le permite crear aplicaciones de IoT que pueden monitorear inventarios en tiempo real. Por ejemplo, una compañía de alimentación y bebidas puede analizar los datos de las máquinas expendedoras de forma proactiva y realizar un pedido de mercancía cuando baje el nivel de existencias.

Puntuación de la eficiencia de los procesos

Con AWS IoT Analytics, puede crear aplicaciones que monitoricen constantemente la eficiencia de distintos procesos y tomen medidas para mejorar el proceso. Por ejemplo, una empresa minera puede mejorar la eficiencia de sus camiones de mineral maximizando la carga en cada viaje. Con AWS IoT Analytics, la empresa puede identificar la carga más eficiente para una ubicación o camión a lo largo del tiempo, luego comparar las diferencias con la carga objetivo en tiempo real y planificar mejor las directrices de carga para mejorar la eficiencia.

Agricultura inteligente

AWS IoT Analytics puede enriquecer automáticamente datos de dispositivos de IoT con metadatos contextuales utilizando datos del registro de AWS IoT u orígenes de datos públicos, de modo que los análisis puedan tener en cuenta factores como la hora, la ubicación, la temperatura, la altitud y otras condiciones medioambientales. Con dicho análisis, es posible escribir modelos que generen acciones recomendadas que deben tomar los dispositivos en el campo. Por ejemplo, para determinar cuándo hay que regar, los sistemas de riego podrían enriquecer los datos del sensor de humedad con datos sobre precipitaciones, lo que permite un uso más eficiente del agua.