Erstellen Sie ein Studio-Notebook mit Kinesis Data Streams - Managed Service für Apache Flink

Amazon Managed Service für Apache Flink war zuvor als Amazon Kinesis Data Analytics für Apache Flink bekannt.

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.

Erstellen Sie ein Studio-Notebook mit Kinesis Data Streams

In diesem Tutorial wird beschrieben, wie Sie ein Studio-Notebook erstellen, das einen Kinesis Data Stream als Quelle verwendet.

Erfüllen der Voraussetzungen

Bevor Sie ein Studio-Notebook erstellen, erstellen Sie einen Kinesis Data Stream (ExampleInputStream). Ihre Anwendung verwendet diesen Stream als Anwendungsquelle.

Sie können diesen Stream mithilfe der Amazon Kinesis-Konsole oder des folgenden AWS CLI -Befehls erstellen. Anweisungen für die Konsole finden Sie unter Erstellen und Aktualisieren von Datenströmen im Amazon Kinesis Data Streams Entwicklerhandbuch. Benennen Sie den Stream ExampleInputStream und legen Sie die Anzahl der offenen Shards auf 1 fest.

Verwenden Sie den folgenden Amazon Kinesis create-stream AWS CLI Kinesis-Befehl AWS CLI, um den Stream (ExampleInputStream) mit dem zu erstellen.

$ aws kinesis create-stream \ --stream-name ExampleInputStream \ --shard-count 1 \ --region us-east-1 \ --profile adminuser

Erstellen Sie eine Tabelle AWS Glue

Ihr Studio-Notebook verwendet eine AWS Glue-Datenbank für Metadaten zu Ihrer Kinesis Data Streams-Datenquelle.

Anmerkung

Sie können die Datenbank entweder zuerst manuell erstellen oder sie beim Erstellen des Notebooks von Managed Service für Apache Flink für Sie erstellen lassen. Ebenso können Sie die Tabelle entweder manuell erstellen, wie in diesem Abschnitt beschrieben, oder Sie können den Code zum Erstellen von Tabellenverbindern für Managed Service for Apache Flink in Ihrem Notizbuch innerhalb von Apache Zeppelin verwenden, um Ihre Tabelle über eine Anweisung zu erstellen. DDL Sie können dann einchecken AWS Glue , um sicherzustellen, dass die Tabelle korrekt erstellt wurde.

Erstellen einer Tabelle
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Glue Konsole unter https://console.aws.amazon.com/glue/.

  2. Wenn Sie noch keine AWS Glue Datenbank haben, wählen Sie in der linken Navigationsleiste Datenbanken aus. Wählen Sie Datenbank hinzufügen. Geben Sie im Fenster Datenbank hinzufügen default als Namen der Datenbank ein. Wählen Sie Create (Erstellen) aus.

  3. Wählen Sie in der linken Navigationsleiste die Option Tabellen. Wählen Sie auf der Seite Tabellen die Optionen Tabellen hinzufügen, Tabelle manuell hinzufügen aus.

  4. Geben Sie auf der Seite Eigenschaften Ihrer Tabelle einrichten stock als Tabellennamen ein. Stellen Sie sicher, dass Sie die Datenbank auswählen, die Sie zuvor erstellt haben. Wählen Sie Weiter.

  5. Wählen Sie auf der Seite Datenstore hinzufügen die Option Kinesis aus. Geben Sie als Streamnamen ExampleInputStream ein. Wählen Sie für Kinesis-Quelle URL die Eingabetastehttps://kinesis.us-east-1.amazonaws.com. Wenn Sie die Kinesis-Quelle kopieren und einfügenURL, achten Sie darauf, alle führenden oder nachfolgenden Leerzeichen zu löschen. Wählen Sie Weiter.

  6. Wählen Sie auf der Seite Klassifikation die Option. JSON Wählen Sie Weiter.

  7. Wählen Sie auf der Seite Schema definieren die Option „Spalte hinzufügen“, um eine Spalte hinzuzufügen. Fügen Sie Spalten mit den folgenden Eigenschaften hinzu:

    Spaltenname Datentyp
    ticker string
    price double

    Wählen Sie Weiter.

  8. Überprüfen Sie auf der nächsten Seite Ihre Einstellungen und wählen Sie Fertigstellen.

  9. Wählen Sie die neu erstellte Tabelle aus der Liste der Tabellen aus.

  10. Wählen Sie Tabelle bearbeiten und fügen Sie eine Eigenschaft mit dem Schlüssel managed-flink.proctime und dem Wert proctime hinzu.

  11. Wählen Sie Apply (Anwenden) aus.

Erstellen Sie ein Studio-Notebook mit Kinesis Data Streams

Nachdem Sie die Ressourcen erstellt haben, die Ihre Anwendung verwendet, erstellen Sie Ihr Studio-Notebook.

Um Ihre Anwendung zu erstellen, können Sie entweder den AWS Management Console oder den verwenden AWS CLI.

Erstellen Sie ein Studio-Notizbuch mit dem AWS Management Console

  1. Die Managed Service for Apache Flink-Konsole zu https://console.aws.amazon.com/managed-flink/Hause öffnen? region=us-east-1#/applications/dashboard.

  2. Wählen Sie auf der Seite Managed Service für Apache Flink-Anwendungen die Registerkarte Studio aus. Wählen Sie Studio-Notebook erstellen.

    Anmerkung

    Sie können ein Studio-Notizbuch auch über die Amazon MSK - oder Kinesis Data Streams Streams-Konsolen erstellen, indem Sie Ihren MSK Amazon-Eingabe-Cluster oder Kinesis-Datenstream auswählen und Daten in Echtzeit verarbeiten auswählen.

  3. Geben Sie auf der Seite Notebook-Instance erstellen folgende Informationen ein:

    • Geben Sie MyNotebook als Namen des Notebooks ein.

    • Wählen Sie Standard für die AWS -Glue-Datenbank.

    Wählen Sie Studio-Notebook erstellen.

  4. Wählen Sie auf der MyNotebookSeite „Ausführen“ aus. Warten Sie, bis der Status Wird ausgeführt angezeigt wird. Es fallen Gebühren an, wenn das Notebook läuft.

Erstellen Sie ein Studio-Notizbuch mit dem AWS CLI

Gehen Sie wie folgt vor AWS CLI, um Ihr Studio-Notizbuch mit dem zu erstellen:

  1. Überprüfen Sie die Konto-ID. Sie benötigen diesen Wert, um die Anwendung zu erstellen.

  2. Erstellen Sie die Rolle arn:aws:iam::AccountID:role/ZeppelinRole und fügen Sie der automatisch erstellten Rolle über die Konsole die folgenden Berechtigungen hinzu.

    "kinesis:GetShardIterator",

    "kinesis:GetRecords",

    "kinesis:ListShards"

  3. Erstellen Sie eine Datei mit dem Namen create.json und den folgenden Inhalten. Ersetzen Sie die Platzhalterwerte durch Ihre Informationen.

    { "ApplicationName": "MyNotebook", "RuntimeEnvironment": "ZEPPELIN-FLINK-3_0", "ApplicationMode": "INTERACTIVE", "ServiceExecutionRole": "arn:aws:iam::AccountID:role/ZeppelinRole", "ApplicationConfiguration": { "ApplicationSnapshotConfiguration": { "SnapshotsEnabled": false }, "ZeppelinApplicationConfiguration": { "CatalogConfiguration": { "GlueDataCatalogConfiguration": { "DatabaseARN": "arn:aws:glue:us-east-1:AccountID:database/default" } } } } }
  4. Um Ihre Anwendung zu erstellen, führen Sie den folgenden Befehl aus.

    aws kinesisanalyticsv2 create-application --cli-input-json file://create.json
  5. Wenn der Befehl abgeschlossen ist, sehen Sie eine Ausgabe, die die Details für Ihr neues Studio-Notebook enthält. Es folgt ein Beispiel für die Ausgabe.

    { "ApplicationDetail": { "ApplicationARN": "arn:aws:kinesisanalyticsus-east-1:012345678901:application/MyNotebook", "ApplicationName": "MyNotebook", "RuntimeEnvironment": "ZEPPELIN-FLINK-3_0", "ApplicationMode": "INTERACTIVE", "ServiceExecutionRole": "arn:aws:iam::012345678901:role/ZeppelinRole", ...
  6. Um Ihre Anwendung zu starten, führen Sie den folgenden Befehl aus. Ersetzen Sie die Beispielwerte durch Ihre Konto-ID.

    aws kinesisanalyticsv2 start-application --application-arn arn:aws:kinesisanalyticsus-east-1:012345678901:application/MyNotebook\

Senden von Daten an den Kinesis Data Stream

Gehen Sie wie folgt vor, um Testdaten an Ihren Kinesis Data Stream zu senden:

  1. Öffnen Sie den Kinesis Data Generator.

  2. Wählen Sie „Cognito-Benutzer erstellen mit CloudFormation“.

  3. Die AWS CloudFormation Konsole wird mit der Kinesis Data Generator-Vorlage geöffnet. Wählen Sie Weiter.

  4. Auf der Seite Festlegen von Komponentendetails geben Sie den Benutzernamen und das Passwort für Ihren Cognito-Benutzer ein. Wählen Sie Weiter.

  5. Wählen Sie auf der Seite Stack-Optionen konfigurieren Weiter aus.

  6. Wählen Sie auf der Seite Kinesis-Data-Generator-Cognito-User überprüfen die Option Ich bestätige, dass möglicherweise Ressourcen erstellt werden. AWS CloudFormation IAM Kontrollkästchen. Wählen Sie Stapel erstellen aus.

  7. Warten Sie, bis der AWS CloudFormation Stapel fertig erstellt ist. Wenn der Stack abgeschlossen ist, öffnen Sie den Kinesis-Data-Generator-Cognito-User-Stack in der Konsole und wählen Sie die Registerkarte Outputs. AWS CloudFormation Öffnen Sie den für den Ausgabewert aufgelisteten Wert. URL KinesisDataGeneratorUrl

  8. Melden Sie sich auf der Amazon Kinesis Data Generator-Seite mit den Anmeldeinformationen an, die Sie in Schritt 4 erstellt haben.

  9. Geben Sie auf der nächsten Seite die folgenden Werte an:

    Region us-east-1
    Bach/Firehose-Stream ExampleInputStream
    Aufzeichnungen pro Sekunde 1

    Fügen Sie für Datensatzvorlage den folgenden Code ein:

    { "ticker": "{{random.arrayElement( ["AMZN","MSFT","GOOG"] )}}", "price": {{random.number( { "min":10, "max":150 } )}} }
  10. Wählen Sie Daten senden aus.

  11. Der Generator sendet Daten an den Kinesis Data Stream.

    Lassen Sie den Generator laufen, während Sie den nächsten Abschnitt abschließen.

Testen Sie Ihr Studio-Notebook

In diesem Abschnitt verwenden Sie Ihr Studio-Notebook, um Daten aus Ihrem Kinesis Data Stream abzufragen.

  1. Die Managed Service for Apache Flink-Konsole zu https://console.aws.amazon.com/managed-flink/Hause öffnen? region=us-east-1#/applications/dashboard.

  2. Wählen Sie auf der Seite Managed Service für Apache Flink-Anwendungen die Registerkarte Studio-Notebook aus. Wählen Sie. MyNotebook

  3. Wählen Sie MyNotebookauf der Seite „In Apache Zeppelin öffnen“.

    Die Oberfläche von Apache Zeppelin wird in einer neuen Registerkarte geöffnet.

  4. Auf der Seite Willkommen bei Zeppelin! wählen Sie Zeppelin Notiz aus.

  5. Geben Sie auf der Seite Zeppelin Notiz die folgende Abfrage in eine neue Notiz ein:

    %flink.ssql(type=update) select * from stock

    Wählen Sie das Ausführungssymbol.

    Nach kurzer Zeit werden in der Notiz Daten aus dem Kinesis Data Stream angezeigt.

Um das Apache Flink-Dashboard für Ihre Anwendung zu öffnen und betriebliche Aspekte anzuzeigen, wählen Sie. FLINKJOB Weitere Informationen zum Flink-Dashboard finden Sie unter Apache Flink-Dashboard im Managed Service für Apache Flink Entwicklerhandbuch.

Weitere Beispiele für Flink SQL Streaming-Abfragen finden Sie unter Abfragen in der Apache Flink-Dokumentation.