Consultas continuas - 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.

Consultas continuas

Una consulta a través de una secuencia se ejecuta de forma continua en los datos de streaming. Esta ejecución continua hace posibles situaciones como la capacidad de las aplicaciones para consultar continuamente una secuencia y generar alertas.

En el ejercicio de introducción, dispone de una secuencia en la aplicación denominada SOURCE_SQL_STREAM_001. Recibe constantemente los precios de valores a partir de una secuencia de demostración (un flujo de datos de Kinesis). El esquema es el siguiente:

(TICKER_SYMBOL VARCHAR(4), SECTOR varchar(16), CHANGE REAL, PRICE REAL)

Supongamos que está interesado en los cambios de cotizaciones superiores al 15 por ciento. Puede utilizar la siguiente consulta en el código de la aplicación. Esta consulta se ejecuta sin interrupción y emite registros cuando se detecta un cambio en las cotizaciones superior al 15 por ciento.

SELECT STREAM TICKER_SYMBOL, PRICE FROM "SOURCE_SQL_STREAM_001" WHERE (ABS((CHANGE / (PRICE-CHANGE)) * 100)) > 15

Utilice el siguiente procedimiento para configurar una aplicación de Amazon Kinesis Data Analytics y probar esta consulta.

Para probar la consulta
  1. Cree una aplicación siguiendo el ejercicio de introducción.

  2. Sustituya la instrucción SELECT en el código de la aplicación por la consulta SELECT anterior. El código de la aplicación resultante se muestra a continuación:

    CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (ticker_symbol VARCHAR(4), price DOUBLE); -- CREATE OR REPLACE PUMP to insert into output CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT STREAM TICKER_SYMBOL, PRICE FROM "SOURCE_SQL_STREAM_001" WHERE (ABS((CHANGE / (PRICE-CHANGE)) * 100)) > 15;