Ejemplo: Detección de puntos calientes en una secuencia (función HOTSPOSTS) - Guía para desarrolladores de aplicaciones de Amazon Kinesis Data Analytics para SQL

Para proyectos nuevos, le recomendamos que utilice el nuevo servicio gestionado para Apache Flink Studio en lugar de aplicaciones de Kinesis Data Analytics para SQL. 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.

Ejemplo: Detección de puntos calientes en una secuencia (función HOTSPOSTS)

Amazon Kinesis Data Analytics dispone de la función HOTSPOTS que localiza y devuelve información sobre las regiones relativamente densas en los datos. Para obtener más información, consulte HOTSPOTS en la referencia SQL de Amazon Managed Service para Apache Flink.

En este ejercicio, puede escribir código de la aplicación para localizar puntos calientes en el origen de streaming de su aplicación. Realice los pasos siguientes para configurar la aplicación:

  1. Configure un origen de streaming: configure una secuencia de Kinesis y escriba datos coordinados de muestra, tal y como se muestra a continuación:

    {"x": 7.921782426109737, "y": 8.746265312709893, "is_hot": "N"} {"x": 0.722248626528026, "y": 4.648868803193405, "is_hot": "Y"}

    El ejemplo proporciona un script de Python para que pueda rellenar la secuencia. Los valores x e y se generan de forma aleatoria. Algunos registros se agrupan en torno a determinadas ubicaciones.

    El campo is_hot se suministra como indicador si el script ha generado el valor de forma intencionada como parte de un punto caliente. Esto puede ayudarle a evaluar si la función de detección de puntos calientes funciona correctamente.

  2. Cree la aplicación: utilice la AWS Management Console para crear la aplicación de análisis de datos de Kinesis Data Analytics. Configure la entrada de la aplicación mapeando el origen de streaming a una secuencia en la aplicación (SOURCE_SQL_STREAM_001). Cuando se inicia la aplicación, Kinesis Data Analytics lee continuamente el origen de streaming e introduce los registros en la secuencia en la aplicación.

    En este ejercicio, utilizará el siguiente código para la aplicación:

    CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" ( "x" DOUBLE, "y" DOUBLE, "is_hot" VARCHAR(4), HOTSPOTS_RESULT VARCHAR(10000) ); CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT "x", "y", "is_hot", "HOTSPOTS_RESULT" FROM TABLE ( HOTSPOTS( CURSOR(SELECT STREAM "x", "y", "is_hot" FROM "SOURCE_SQL_STREAM_001"), 1000, 0.2, 17) );

    El código lee filas en SOURCE_SQL_STREAM_001, las analiza en busca de puntos calientes relevantes y escribe los datos resultantes en otra secuencia en la aplicación (DESTINATION_SQL_STREAM). Utilice bombas para insertar filas en secuencias en la aplicación. Para obtener más información, consulte Secuencias y bombeos en la aplicación.

  3. Configure la salida: configure la salida de la aplicación para que envíe los datos desde la aplicación a un destino externo, que es otra secuencia de datos de Kinesis. Revise las puntuaciones de los puntos calientes y determine qué puntuaciones indican que se ha producido un punto caliente (del cual desea que se le avise). Puede utilizar una función AWS Lambda para seguir procesando la información de los puntos calientes y configurar las alertas.

  4. Verificar la salida: el ejemplo incluye una aplicación de JavaScript que lee los datos de la secuencia de salida y los muestra en un gráfico, para poder ver los puntos calientes que genera la aplicación en tiempo real.

El ejercicio utiliza la región de Oeste de EE. UU. (Oregón) (us-west-2) para crear estas secuencias y su aplicación. Si utiliza otra región, deberá actualizar el código en consecuencia.