Descripción del procesamiento de eventos

Completados

Azure Stream Analytics es un servicio para el procesamiento de eventos complejos y el análisis de datos de flujos. Stream Analytics se usa para:

  • Ingerir datos de una entrada, como Azure Event Hubs, Azure IoT Hub o un contenedor de blobs de Azure Storage.
  • Procesar los datos con una consulta para seleccionar, proyectar y sumar valores de datos.
  • Escriba los resultados en una salida, como Azure Data Lake Storage Gen2, Azure SQL Database, Azure Cosmos DB, Azure Functions, Azure Event Hubs, Microsoft Power BI u otros.

Diagrama que muestra un trabajo de Stream Analytics con entradas, una consulta y salidas

Una vez iniciada, una consulta de Stream Analytics se ejecuta perpetuamente, procesando nuevos datos a medida que llegan a la entrada y almacenando los resultados en la salida.

Stream Analytics garantiza el procesamiento de eventos exactamente una vez y la entrega de eventos al menos una vez para que los eventos nunca se pierdan. Se garantiza el procesamiento exactamente una vez con los destinos seleccionados. Para obtener más información, consulte Garantías de entrega de eventos. Stream Analytics tiene funcionalidades de recuperación integradas en caso de que se produzca un error en la entrega de un evento. Además, Stream Analytics proporciona puntos de control integrados para mantener el estado del trabajo y generar resultados repetibles. Dado que Azure Stream Analytics es una solución de plataforma como servicio (PaaS), está totalmente administrada. Su integración integrada con varios orígenes y destinos proporciona un modelo de programación flexible. El motor de Stream Analytics habilita el proceso en memoria, por lo que ofrece un alto rendimiento.

Trabajos y clústeres de Azure Stream Analytics

La forma más sencilla de utilizar Azure Stream Analytics es crear un trabajo de Stream Analytics en una suscripción de Azure, configurar sus entradas y salidas, y definir la consulta que el trabajo utiliza para procesar los datos. La consulta se expresa mediante la sintaxis del lenguaje de consulta estructurado (SQL) y puede incorporar datos de referencia estáticos de varios orígenes de datos para proporcionar valores de búsqueda que se pueden combinar con los datos de flujos ingeridos desde una entrada.

Si sus requisitos de proceso de secuencia son complejos o consumen muchos recursos, puede crear un clúster de Stream Analytics, que utiliza el mismo motor de procesamiento subyacente que un trabajo de Stream Analytics, pero en una implementación de un solo inquilino (de modo que su procesamiento no se ve afectado por otros clientes) y con escalabilidad configurable que le permite definir el equilibrio adecuado entre rendimiento y coste para su escenario específico. Para obtener más información, consulte Introducción al clúster de Azure Stream Analytics.

Entradas

Azure Stream Analytics puede ingerir datos de los siguientes tipos de entrada:

  • Azure Event Hubs
  • Azure IoT Hub
  • almacenamiento de blobs de Azure
  • Azure Data Lake Storage Gen2
  • Apache Kafka

Las entradas se suelen usar para hacer referencia a un origen de datos de streaming, que se procesa a medida que se agregan nuevos registros de eventos. Además, puede definir entradas de referencia que se usan para ingerir datos estáticos para aumentar los datos de flujo de eventos en tiempo real. Por ejemplo, podría ingerir un flujo de datos de observación meteorológica en tiempo real que incluya un identificador único para cada estación meteorológica y aumentar esos datos con una entrada de referencia estática que coincida con el identificador de la estación meteorológica con un nombre más significativo.

Salidas

Las salidas son destinos a los que se envían los resultados del procesamiento de flujos. Azure Stream Analytics admite una amplia gama de receptores de salida, que se pueden usar para:

  • Conservar los resultados para su posterior análisis; por ejemplo, escribiendo en Azure Data Lake Storage Gen2, Azure SQL Database o Azure Cosmos DB.
  • Analizar datos de registro y telemetría a escala; por ejemplo, mediante el envío de resultados a Azure Data Explorer.
  • Mostrar una visualización en tiempo real del flujo de datos; por ejemplo, anexando datos a un conjunto de datos en Microsoft Power BI.
  • Generar eventos filtrados o resumidos para el procesamiento descendente; por ejemplo, escribiendo resultados en Azure Event Hubs.

Preguntas

La lógica de procesamiento de flujos se encapsula en una consulta. Las consultas se definen mediante instrucciones SQL que seleccionan campos de una o varias entradas, filtran o agregan los datos y escriben los resultados en una salida. Por ejemplo, la consulta siguiente filtra los eventos de la entrada weather-events para incluir solo los datos de los eventos con un valor de temperatura inferior a 0 y escribe los resultados en la salida cold-temps:

SELECT observation_time, weather_station, temperature
INTO cold-temps
FROM weather-events TIMESTAMP BY observation_time
WHERE temperature < 0

Se crea automáticamente un campo denominado EventProcessedUtcTime para definir la hora en que la consulta de Azure Stream Analytics procesa el evento. De forma predeterminada, Stream Analytics usa la hora en que llega el evento a la entrada como su marca de tiempo, o puede especificar explícitamente otro campo DateTime mediante la cláusula TIMESTAMP BY , como se muestra en este ejemplo. Dependiendo de la entrada desde la que se lean los datos de streaming, se pueden crear automáticamente uno o varios campos de marca de tiempo potenciales; Por ejemplo, cuando se usa una entrada de Event Hubs , se genera un campo denominado EventEnqueuedUtcTime para registrar la hora en que se recibió el evento en el centro de eventos.

El campo que se usa como marca de tiempo es importante al agregar datos a través de ventanas temporales, que se describe a continuación.

Editor sin código

Si prefiere compilar el trabajo de procesamiento de flujos sin escribir SQL, Azure Stream Analytics incluye un editor sin código. Puede acceder a él desde el portal de Azure Stream Analytics (versión preliminar) o desde el portal de Azure Event Hubs. El editor sin código proporciona un lienzo de arrastrar y soltar donde se conectan orígenes de entrada, se agregan transformaciones (incluidas agregaciones de ventana de tiempo, como ventanas tumbling, hopping y de sesión) y se configuran salidas, sin escribir ningún código. Para obtener más información, consulte El procesamiento de flujo sin código en Azure Stream Analytics.