Beispiel: Abrufen der am häufigsten auftretenden Werte (TOP_K_ITEMS_TUMBLING) - Entwicklerhandbuch für Amazon Kinesis Data Analytics for SQL Applications

Nach reiflicher Überlegung haben wir beschlossen, Amazon Kinesis Data Analytics für SQL Anwendungen in zwei Schritten einzustellen:

1. Ab dem 15. Oktober 2025 können Sie keine neuen Kinesis Data Analytics für SQL Anwendungen erstellen.

2. Wir werden Ihre Anwendungen ab dem 27. Januar 2026 löschen. Sie können Ihre Amazon Kinesis Data Analytics for SQL Applications weder starten noch betreiben. SQLAb diesem Zeitpunkt ist kein Support mehr für Amazon Kinesis Data Analytics verfügbar. Weitere Informationen finden Sie unter Einstellung von Amazon Kinesis Data Analytics for SQL Applications.

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.

Beispiel: Abrufen der am häufigsten auftretenden Werte (TOP_K_ITEMS_TUMBLING)

Dieses Amazon Kinesis Data Analytics-Beispiel veranschaulicht, wie mit der Funktion TOP_K_ITEMS_TUMBLING die am häufigsten auftretenden Werte in einem rollierenden Fenster abgerufen werden. Weitere Informationen finden Sie in der SQL-Referenz zu Amazon Managed Service für Apache Flink unter TOP_K_ITEMS_TUMBLING-Funktion.

Die Funktion TOP_K_ITEMS_TUMBLING ist beim Aggregieren von mehr als Zehn- oder Hunderttausenden von Schlüsseln hilfreich, und wenn Sie Ihre Ressourcennutzung reduzieren möchten. Die Funktion führt zu dem gleichen Ergebnis wie die Aggregation mit den Klauseln GROUP BY und ORDER BY.

In diesem Beispiel schreiben Sie die folgenden Datensätze in einen Amazon Kinesis-Datenstrom:

{"TICKER": "TBV"} {"TICKER": "INTC"} {"TICKER": "MSFT"} {"TICKER": "AMZN"} ...

Anschließend erstellen Sie eine Kinesis Data Analytics-Anwendung in der AWS Management Console mit dem Kinesis-Datenstrom als Streaming-Quelle. Der Erkennungsvorgang liest Beispieldatensätze aus der Streaming-Quelle und leitet wie nachstehend veranschaulicht ein In-Application-Schema mit einer Spalte (TICKER) ab.

Screenshot der Konsole mit dem In-Application-Schema mit einer Ticker-Spalte.

Sie verwenden den Anwendungscode mit der Funktion TOP_K_VALUES_TUMBLING, um eine fensterbasierte Aggregation der Daten zu erstellen. Danach fügen Sie die resultierenden Daten wie im folgenden Screenshot dargestellt in einen anderen In-Application-Stream ein:

Screenshot der Konsole mit den resultierenden Daten in einem In-Application-Stream.

Im folgenden Verfahren erstellen Sie eine Kinesis Data Analytics-Anwendung, die die am häufigsten auftretenden Werte im Eingabe-Stream abruft.

Schritt 1: Erstellen eines Kinesis-Datenstroms

Erstellen Sie einen Amazon Kinesis-Datenstrom und füllen Sie die Datensätze wie folgt aus:

  1. Melden Sie sich bei AWS Management Console an und öffnen Sie die Kinesis-Konsole unter https://console.aws.amazon.com/kinesis.

  2. Klicken Sie im Navigationsbereich auf Data Streams (Daten-Streams).

  3. Klicken Sie auf Create Kinesis stream (Kinesis-Stream erstellen) und erstellen Sie dann einen Stream mit einer Shard. Weitere Informationen finden Sie unter Einen Stream erstellen im Amazon Kinesis Data Streams-Entwicklerhandbuch.

  4. Um Datensätze an einen Kinesis-Datenstream in einer Produktionsumgebung zu schreiben, empfiehlt sich die Verwendung der Kinesis Client Library oder der API der Kinesis-Daten-Streams. Der Einfachheit halber werden in diesem Beispiel mit dem Python-Skript Datensätze generiert. Führen Sie den Code aus, um die Beispiel-Ticker-Datensätze zu füllen. Dieser einfache Code schreibt kontinuierlich einen zufälligen Ticker-Datensatz an den Stream. Lassen Sie das Skript laufen, sodass Sie in einem späteren Schritt das Anwendungsschema erstellen können.

    import datetime import json import random import boto3 STREAM_NAME = "ExampleInputStream" def get_data(): return { "EVENT_TIME": datetime.datetime.now().isoformat(), "TICKER": random.choice(["AAPL", "AMZN", "MSFT", "INTC", "TBV"]), "PRICE": round(random.random() * 100, 2), } def generate(stream_name, kinesis_client): while True: data = get_data() print(data) kinesis_client.put_record( StreamName=stream_name, Data=json.dumps(data), PartitionKey="partitionkey" ) if __name__ == "__main__": generate(STREAM_NAME, boto3.client("kinesis"))

Schritt 2: Erstellen Sie die Amazon Kinesis Data Analytics-Anwendung

Erstellen Sie wie folgt eine Kinesis Data Analytics-Anwendung:

  1. Öffnen Sie die Managed Service für Apache Flink-Konsole unter https://console.aws.amazon.com/kinesisanalytics.

  2. Klicken Sie auf Create application (Anwendung erstellen), geben Sie einen Anwendungsnamen ein und klicken Sie erneut auf Create application (Anwendung erstellen).

  3. Wählen Sie auf der Detailseite der Anwendung Connect streaming data (Streaming-Daten verbinden), um eine Verbindung mit der Quelle herzustellen.

  4. Gehen Sie auf der Seite Connect to source (Mit Quelle verbinden) wie folgt vor:

    1. Wählen Sie den Stream aus, den Sie im vorherigen Abschnitt erstellt haben.

    2. Klicken Sie auf Discover schema (Schema erkennen). Warten Sie, bis die Konsole das abgeleitete Schema und die Beispieldatensätze anzeigt, die zum Ableiten des Schemas für den erstellten In-Application-Stream verwendet werden. Das abgeleitete Schema weist eine Spalte auf.

    3. Wählen Sie Save schema and update stream samples (Schema speichern und Stream-Beispiel aktualiseren). Nachdem die Konsole das Schema gespeichert hat, klicken Sie auf Exit (Beenden).

    4. Wählen Sie Save and continue aus.

  5. Klicken Sie auf der Detailseite der Anwendung auf Go to SQL editor (Gehe zu SQL-Editor). Um die Anwendung zu starten, wählen Sie im angezeigten Dialogfeld Yes, start application (Ja, Anwendung starten) aus.

  6. Schreiben Sie im SQL-Editor den Anwendungscode und überprüfen Sie die Ergebnisse wie folgt:

    1. Kopieren Sie den folgenden Anwendungscode und fügen Sie diesen in den Editor ein:

      CREATE OR REPLACE STREAM DESTINATION_SQL_STREAM ( "TICKER" VARCHAR(4), "MOST_FREQUENT_VALUES" BIGINT ); CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT STREAM * FROM TABLE (TOP_K_ITEMS_TUMBLING( CURSOR(SELECT STREAM * FROM "SOURCE_SQL_STREAM_001"), 'TICKER', -- name of column in single quotes 5, -- number of the most frequently occurring values 60 -- tumbling window size in seconds ) );
    2. Klicken Sie auf Save and run SQL (SQL speichern und ausführen).

      Auf der Registerkarte Real-time analytics (Echtzeitanalyse) können Sie alle In-Application-Streams sehen, die von der Anwendung erstellt wurden, und die Daten überprüfen.