In-Application-Streams und Pumps - 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.

In-Application-Streams und Pumps

Wenn Sie die Anwendungseingabe konfigurieren, wird eine Streaming-Quelle einem erstellten In-Application-Stream zugeordnet. Die Daten fließen kontinuierlich aus der Streaming-Quelle in den In-Application-Stream. Ein In-Application-Stream funktioniert wie eine Tabelle, die Sie mit SQL-Anweisungen abfragen können, wird jedoch als Stream bezeichnet, da die Daten kontinuierlich fließen.

Anmerkung

Verwechseln Sie In-Application-Streams nicht mit Amazon Kinesis-Datenströmen und Firehose-Bereitstellungsdatenströmen. In-Application-Streams sind nur im Kontext einer Amazon Kinesis Data Analytics-Anwendung vorhanden. Kinesis-Datenströme und Firehose-Bereitstellungsdatenströme existieren unabhängig von Ihrer Anwendung. Sie können sie in der Konfiguration Ihrer Anwendungseingabe als Streaming-Quelle oder in der Ausgabekonfiguration als Ziel konfigurieren.

Sie können außerdem bei Bedarf weitere In-Application-Streams erstellen, um Zwischenergebnisse aus Abfragen zu speichern. Das Erstellen eines In-Application-Streams ist ein zweistufiger Prozess. Zuerst erstellen Sie einen In-Application-Stream. Anschließend pumpen Sie Daten in diesen. Angenommen, die Eingabekonfiguration Ihrer Anwendung erstellt einen In-Application-Stream mit dem Namen INPUTSTREAM. Im folgenden Beispiel erstellen Sie einen anderen Stream (TEMPSTREAM) und pumpen anschließend Daten aus INPUTSTREAM in diesen.

  1. Erstellen Sie einen In-Application-Stream (TEMPSTREAM) mit drei Spalten, wie im Folgenden gezeigt:

    CREATE OR REPLACE STREAM "TEMPSTREAM" ( "column1" BIGINT NOT NULL, "column2" INTEGER, "column3" VARCHAR(64));

    Die Spaltennamen werden in Anführungszeichen angegeben, wodurch zwischen Groß- und Kleinschreibung unterschieden wird. Weitere Informationen finden Sie im Abschnitt IDs in der SQL-Referenz zu Amazon Kinesis Data Analytics.

  2. Fügen Sie mittels eines Pumps Daten in den Stream ein. Eine Pump ist eine kontinuierlich ausgeführte Einfüge-Abfrage, die Daten aus einem In-Application-Stream in einen anderen In-Application-Stream einfügt. Die folgende Anweisung erstellt eine Pump (SAMPLEPUMP) und fügt Daten in den TEMPSTREAM ein, indem sie Datensätze aus einem anderen Stream (INPUTSTREAM) auswählt.

    CREATE OR REPLACE PUMP "SAMPLEPUMP" AS INSERT INTO "TEMPSTREAM" ("column1", "column2", "column3") SELECT STREAM inputcolumn1, inputcolumn2, inputcolumn3 FROM "INPUTSTREAM";

Sie können in einen In-Application-Stream aus mehreren Quellen schreiben und es können mehrere Datensätze aus einem Stream ausgewählt werden. Stellen Sie sich einen In-Application-Stream als Implementierung eines Messaging-Paradigmas für Veröffentlichungen oder Abonnements vor. In diesem Paradigma kann eine Datenzeile, einschließlich Erstellungs- und Empfangszeitpunkt, durch eine Kaskade von SQL-Streaming-Anweisungen verarbeitet, interpretiert und weitergeleitet werden, ohne in einem herkömmlichen RDBMS gespeichert werden zu müssen.

Nachdem ein In-Application-Stream erstellt wurde, können Sie normale SQL-Abfragen ausführen.

Anmerkung

Bei der Abfrage von Streams müssen die meisten SQL-Anweisungen ein zeilen- oder zeitbasiertes Fenster verwenden. Weitere Informationen finden Sie unter Abfragen mit Fenstern.

Sie können Streams auch zusammenfügen. Beispiele für das Zusammenfügen von Streams finden Sie unter Operationen für Streaming-Daten: Zusammenführen von Streams.