Kontinuierliche Abfragen - Entwicklerhandbuch für Amazon Kinesis Data Analytics for SQL Applications

Für neue Projekte empfehlen wir, den neuen Managed Service für Apache Flink Studio anstelle von Kinesis Data Analytics for SQL Applications zu verwenden. Der Managed Service für Apache Flink Studio kombiniert Benutzerfreundlichkeit mit fortschrittlichen Analysefunktionen, sodass Sie in wenigen Minuten anspruchsvolle Anwendungen zur Stream-Verarbeitung erstellen können.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Kontinuierliche Abfragen

Eine Abfrage über einen Stream wird kontinuierlich über Streaming-Daten ausgeführt. Diese kontinuierliche Ausführung ermöglicht Szenarien wie die Fähigkeit von Anwendungen, einen Stream kontinuierlich abzufragen und Warnungen zu generieren.

In der Einführungsübung gibt es einen In-Application-Stream namens SOURCE_SQL_STREAM_001. Dieser erhält kontinuierlich Aktienpreise aus einem Demo-Stream (einem Kinesis-Datenstrom). Das Schema ist wie folgt:

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

Angenommen, Sie sind an Aktienpreisänderungen von mehr als 15 % interessiert. Sie können in Ihrem Anwendungscode die folgende Abfrage verwenden. Diese Abfrage wird kontinuierlich ausgeführt und gibt Datensätze aus, wenn eine Aktienpreisänderung von mehr als 15 % entdeckt wird.

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

Verwenden Sie das folgende Verfahren, um eine Amazon Kinesis Data Analytics-Anwendung einzurichten und diese Abfrage zu testen.

So testen Sie die Abfrage
  1. Erstellen Sie eine Anwendung mit der Erste Schritte-Übung.

  2. Ersetzen Sie die SELECT-Anweisung im Anwendungscode durch die vorherige SELECT-Abfrage. Der resultierende Anwendungscode wird im Folgenden gezeigt:

    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;