Amazon Kinesis Data Analytics para aplicaciones SQL: cómo funciona - Guía para desarrolladores de Amazon Kinesis Data Analytics para aplicaciones SQL

Para proyectos nuevos, le recomendamos que utilice el nuevo servicio gestionado para Apache Flink Studio en lugar de Kinesis Data Analytics for SQL Applications. El servicio gestionado para Apache Flink Studio combina la facilidad de uso con capacidades analíticas avanzadas, lo que le permite crear aplicaciones sofisticadas de procesamiento de flujos en cuestión de minutos.

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.

Amazon Kinesis Data Analytics para aplicaciones SQL: cómo funciona

nota

Después del 12 de septiembre de 2023, no podrá crear nuevas aplicaciones con Kinesis Data Firehose como fuente si aún no utiliza Kinesis Data Analytics for SQL. Para obtener más información, consulte Límites.

Una aplicación es el recurso principal de Amazon Kinesis Data Analytics que puede crear en su cuenta. Puede crear y administrar aplicaciones mediante la API de Kinesis Data Analytics AWS Management Console o la API. Kinesis Data Analytics proporciona operaciones de API para gestionar las aplicaciones. Para ver la lista de operaciones de la API, consulte Acciones.

Las aplicaciones de Kinesis Data Analytics leen y procesan continuamente los datos de streaming en tiempo real. Debe escribir el código de la aplicación con SQL para procesar los datos de streaming entrantes y producir la salida. A continuación, Kinesis Data Analytics escribe el resultado en un destino configurado. El siguiente diagrama ilustra la arquitectura de una aplicación típica.


            Diagrama que muestra una aplicación de análisis de datos, los orígenes de entrada de streaming, los datos de referencia y la salida de la aplicación.

Cada aplicación tiene un nombre, una descripción, un identificador de versión y un estado. Amazon Kinesis Data Analytics asigna un ID de versión al crear una aplicación por primera vez. Se actualiza este ID de versión cuando actualiza la configuración de cualquier aplicación. Por ejemplo, si agrega una configuración de entrada, agrega o elimina una fuente de datos de referencia, agrega o elimina una configuración de salida o actualiza el código de la aplicación, Kinesis Data Analytics actualiza el ID de la versión actual de la aplicación. Kinesis Data Analytics también mantiene las marcas de tiempo de cuándo se creó y actualizó por última vez una aplicación.

Además de estas propiedades básicas, cada aplicación se compone de lo siguiente:

  • Entrada: la fuente de streaming de su aplicación. Puede seleccionar una transmisión de datos de Kinesis o una transmisión de entrega de datos de Kinesis Data Firehose como fuente de transmisión. En la configuración de entrada, debe asignar el origen de streaming a una secuencia de entrada en la aplicación. La secuencia en la aplicación se asemeja a una tabla que se actualiza constantemente, en la que puede realizar operaciones SELECT e INSERT SQL. En su código de aplicación, puede crear transmisiones en la aplicación adicionales para almacenar los resultados intermedios de la consulta.

     

    Si lo desea, puede dividir un único origen de streaming en varias secuencias de entrada en la aplicación para mejorar el rendimiento. Para obtener más información, consulte Límites y Configuración de entrada de la aplicación.

     

    Amazon Kinesis Data Analytics proporciona una columna de fecha y hora en cada transmisión de aplicaciones denominada. Marcas temporales y la comuna ROWTIME Puede utilizar esta columna en las consultas en ventana basadas en el tiempo. Para obtener más información, consulte Consultas en ventana.

     

    Si lo desea, puede configurar un origen de datos de referencia para enriquecer la secuencia de datos de entrada en la aplicación. Se produce una tabla de referencia en la aplicación. Debe almacenar los datos de referencia como un objeto en el bucket S3. Cuando se inicia la aplicación, Amazon Kinesis Data Analytics lee el objeto de Amazon S3 y crea una tabla en la aplicación. Para obtener más información, consulte Configuración de entrada de la aplicación.

     

  • Código de aplicación: serie de sentencias SQL que procesan la entrada y generan la salida. Puede escribir instrucciones de SQL en a secuencias en la aplicación y con tablas de referencia. También puede escribir consultas JOIN para combinar datos de ambos orígenes.

     

    Para obtener información sobre los elementos del lenguaje SQL compatibles con Kinesis Data Analytics, consulte Amazon Kinesis Data Analytics SQL Reference.

     

    En su forma más sencilla, el código de la aplicación puede ser una única instrucción SQL que selecciona de una entrada de streaming e introduce los resultados en una salida de streaming. También puede ser una serie de instrucciones SQL en las que la salida de una alimenta la salida de la siguiente instrucción SQL. Además, puede escribir el código de aplicación para dividir una secuencia de entrada en varias secuencias. A continuación, puede aplicar consultas adicionales para procesar estas secuencias. Para obtener más información, consulte Código de la aplicación.

     

  • Resultado: en el código de la aplicación, los resultados de las consultas se transmiten dentro de la aplicación. En el código de la aplicación, puede crear una o más secuencias en la aplicación adicionales para conservar resultados intermedios. Además, como opción, puede configurar la salida de la aplicación para que se envíen datos de secuencias en la aplicación, que mantengan la salida de la aplicación (se conocen también como reproducciones de salida en la aplicación), para destinos externos. Los destinos externos pueden ser una transmisión de entrega de Kinesis Data Firehose o una transmisión de datos de Kinesis. Tenga en cuenta lo siguiente en relación con estos destinos:

    • Puede configurar una transmisión de entrega de Kinesis Data Firehose para escribir los resultados en Amazon S3, Amazon Redshift OpenSearch o Amazon Service (Service). OpenSearch

       

    • También puede escribir el resultado de la aplicación en un destino personalizado en lugar de en Amazon S3 o Amazon Redshift. Para ello, especifique una transmisión de datos de Kinesis como destino en la configuración de salida. A continuación, se configura AWS Lambda para sondear la transmisión e invocar la función Lambda. El código de la función Lambda recibe datos de flujo como entrada. En el código de la función Lambda, puede escribir los datos entrantes en su destino personalizado. Para obtener más información, consulte Uso AWS Lambda con Amazon Kinesis Data Analytics.

    Para obtener más información, consulte Configuración de salida de la aplicación.

Además, tenga en cuenta lo siguiente:

  • Amazon Kinesis Data Analytics necesita permisos para leer los registros de una fuente de streaming y escribir los resultados de la aplicación en los destinos externos. Los roles de IAM se utilizan para conceder estos permisos.

     

  • Kinesis Data Analytics proporciona automáticamente un flujo de errores en la aplicación para cada aplicación. Si la aplicación tiene problemas al procesar determinados registros (por ejemplo, por un retraso o porque no coincide el tipo), ese registro se escribe en la secuencia de errores. Puede configurar la salida de la aplicación para que indique a Kinesis Data Analytics que conserve los datos del flujo de errores en un destino externo para su posterior evaluación. Para obtener más información, consulte Control de errores.

     

  • Amazon Kinesis Data Analytics garantiza que los registros de salida de la aplicación se escriban en el destino configurado. Utiliza "al menos un" modelo de entrega y procesamiento, incluso si se produce una interrupción de la aplicación. Para obtener más información, consulte Modelo de entrega para conservar la salida de las aplicaciones en destinos externos.