F: Was ist Amazon Kinesis Data Analytics?

Amazon Kinesis Data Analytics ist die einfachste Möglichkeit, Streaming-Daten in Echtzeit zu verarbeiten und zu analysieren. Mit Amazon Kinesis Data Analytics verwenden Sie einfach Standard-SQL, um Ihre Datenströme zu verarbeiten, sodass Sie keine neuen Programmiersprachen erlernen müssen. Verweisen Sie Kinesis Data Analytics einfach auf den eingehenden Datenstrom, schreiben Sie Ihre SQL-Abfragen und geben Sie an, wohin die Ergebnisse geliefert werden sollen. Kinesis Data Analytics sorgt dafür, dass Ihre SQL-Abfragen der Daten während des Empfangs kontinuierlich ausgeführt und die Ergebnisse an die Ziele gesendet werden.

F: Was ist die Stream-Verarbeitung in Echtzeit und wofür wird sie benötigt?

Aufgrund des explosiven Wachstums der Echtzeit-Datenquellen erhalten wir Daten mit hoher Geschwindigkeit. Ob es sich um Protokolldaten von Mobil- und Web-Anwendungen, um Kaufdaten von E-Commerce-Websites oder um Sensordaten von IoT- Geräten handelt, alle Daten liefern Unternehmen Informationen über das, was ihre Kunden, Organisationen und Unternehmensbereiche gerade jetzt tun. Wenn Sie direkt nach dem Empfang Einblick in diese Daten haben, können Sie Ihr Unternehmen in Echtzeit überwachen und schnell neue Geschäftschancen nutzen, beispielsweise Werbeangebote an Kunden aufgrund ihres Standorts zu einer bestimmten Zeit oder Überwachen von sozialen Stimmungen und Ändern von Kundenverhalten, um neue Chancen zu erkennen und zu nutzen.

Um diese neuen Chancen zu nutzen, benötigen Sie eine Sammlung von Analyse-Tools zum Erfassen und Analysieren von Streaming-Daten in Echtzeit, die sich von denen unterscheiden, die traditionell für statische, gespeicherte Daten zur Verfügung standen. Für traditionelle Analysen erfassen Sie die Daten, speichern sie in einer Datenbank und analysieren sie Stunden, Tage oder Wochen später. Die Analyse von Echtzeitdaten erfordert eine unterschiedliche Methode sowie unterschiedliche Tools und Services. Statt Datenbankabfragen von gespeicherten Daten auszuführen, verarbeiten Plattformen für Streaming-Analysen die Daten kontinuierlich, bevor sie in einer Datenbank gespeichert werden. Streaming-Daten kommen mit unglaublicher Geschwindigkeit an, die sich jederzeit nach oben oder unten ändern kann. Plattformen für Streaming-Analysen müssen in der Lage sein, diese Daten bei Empfang zu verarbeiten, oft mit Geschwindigkeiten von Millionen von Ereignissen pro Stunde.

F: Was kann ich mit Kinesis Data Analytics tun?

Sie können Kinesis Data Analytics für praktisch jeden Anwendungsfall verwenden, bei dem Sie kontinuierlich Daten in Echtzeit erfassen und Informationen und Einblicke nach Sekunden oder Minuten erhalten wollen, statt Tage oder sogar Wochen warten zu müssen. Insbesondere versetzt Kinesis Data Analytics Sie in die Lage, schnell Ende-zu-Ende-Anwendungen für die Stream-Verarbeitung in den Bereichen Protokollanalyse, Clickstream-Analyse, Internet of Things (IoT), Ad Tech, Gaming und mehr zu erstellen. Die drei häufigsten Anwendungsfälle sind Zeitreihenanalysen, Echtzeit-Dashboards sowie Alarmmeldungen und Benachrichtigungen in Echtzeit.

Zeitreihenanalysen generieren

Zeitreihenanalysen versetzen Sie in die Lage, zu überwachen und zu verstehen, wie sich die Trends Ihrer Daten im Zeitverlauf entwickeln. Mit Kinesis Data Analytics können Sie SQL-Code erstellen, der kontinuierlich für bestimmte Zeitfenster Zeitreihenanalysen erstellt. Sie können beispielsweise ein Live-Leaderboard für ein Mobil-Computerspiel erstellen, indem Sie jede Minute die besten Spieler berechnen und das Ergebnis an Amazon S3 senden. Sie können den Datenverkehr zu Ihrer Website verfolgen, indem Sie die Zahl der eindeutigen Website-Besucher alle 5 Minuten berechnen und die verarbeiteten Ergebnisse dann an Amazon Redshift senden.

Feeds in Echtzeit-Dashboards

Sie können Anwendungen erstellen, die Abfrageergebnisse berechnen und sie in ein Live-Dashboard übertragen, wodurch die Daten praktisch in Echtzeit visualisiert werden. Eine Anwendung kann beispielsweise kontinuierlich geschäftliche Metriken wie etwa die Anzahl der Käufe von einer E-Commerce-Website zusammengefasst nach Produktkategorie berechnen und die Ergebnisse dann an Amazon Redshift senden. Dort können sie mit einem Business Intelligence-Tool Ihrer Wahl visualisiert werden. Ein weiteres Beispiel ist eine Anwendung, die Protokolldaten verarbeitet, die Anzahl der Anwendungsfehler berechnet und dann die Ergebnisse an Amazon Elasticsearch Service sendet, wo sie mit Kibana visualisiert werden.

Erstellen von Alarmen und Benachrichtigungen in Echtzeit

Sie können Anwendungen erstellen, die Alarme oder Benachrichtigungen versenden, wenn bestimmte Metriken vordefinierte Schwellenwerte erreichen oder Ihre Anwendung mithilfe des von uns bereitgestellten Algorithmus für Machine Learning Anomalien entdeckt. Eine Anwendung könnte zum Beispiel die Verfügbarkeit oder die Erfolgsquote einer kundenseitigen API im Zeitverlauf berechnen und dann die Ergebnisse an Amazon CloudWatch senden. Sie könnten eine weitere Anwendung erstellen, die nach Ereignissen sucht, die bestimmte Kriterien erfüllen, und dann mithilfe von Kinesis Data Streams und Amazon Simple Notification Service (SNS) automatisch die richtigen Kunden benachrichtigt.

F: Welches sind die ersten Schritte bei einem Einstieg in Kinesis Data Analytics?

Melden Sie sich bei der Kinesis Data Analytics-Konsole an und erstellen Sie eine neue Anwendung für die Stream-Verarbeitung. Sie können auch die AWS CLI und die AWS SDKs verwenden. Sie können eine Ende-zu-Ende-Anwendung mit drei einfachen Schritten erstellen: 1. Eingehenden Daten-Stream konfigurieren, 2. SQL-Abfragen schreiben, 3. Festlegen, wohin die Ergebnisse geliefert werden sollen. Kinesis Data Analytics erkennt Standard-Datenformate wie JSON, CSV und TSV und erstellt automatisch ein Basisschema. Sie können dieses Schema verfeinern. Wenn Ihre Daten nicht strukturiert sind, können Sie mit unserem intuitiven Schema-Editor ein neues Schema definieren. Der Service wendet das Schema dann auf den Eingabe-Stream an und gibt ihm die Form einer SQL-Tabelle, die kontinuierlich aktualisiert wird, sodass Sie mit Standard-SQL-Abfragen arbeiten können. Zum Erstellen Ihrer Abfragen verwenden Sie unseren SQL-Editor. Der SQL-Editor enthält alle wichtigen Funktionen einschließlich Syntaxprüfung und Test mit Live-Daten. Weiterhin stellen wir Ihnen Vorlagen mit SQL-Code bereit, die Sie für alles von einem einfachen Stream-Filter bis hin zu komplexen Anomalieentdeckungen und top-K-Analysen verwenden können. Kinesis Data Analytics übernimmt die Bereitstellung und die elastische Skalierung der gesamten Infrastruktur für die Verarbeitung eines beliebigen Datendurchsatzes. Sie brauchen keine Infrastruktur zu planen, bereitzustellen oder zu verwalten.

F: Welche Einschränkungen gelten für Kinesis Data Analytics?

Kinesis Data Analytics skaliert Ihre Anwendung elastisch, um sie an den Datendurchsatz Ihres Quell-Streams und die Komplexität Ihrer Abfrage für die meisten Szenarien anzupassen. Sie finden ausführliche Informationen zu den Service-Limits unter Limits im Handbuch Amazon Kinesis Data Analytics Developer Guide.


F: Was ist eine Kinesis Data Analytics-Anwendung?

Eine Anwendung ist die Kinesis Data Analytics-Entität, mit der Sie arbeiten. Kinesis Data Analytics-Anwendungen lesen und verarbeiten kontinuierlich Streaming-Daten in Echtzeit. Sie schreiben den Anwendungscode mit SQL, um die eingehenden Streaming-Daten zu verarbeiten und die Ausgabedaten zu erzeugen. Kinesis Data Analytics liefert dann die Ausgabe an ein konfiguriertes Ziel.

Jede Anwendung besteht aus drei Primärkomponenten:

  • Eingabedaten – die Streaming-Quelle für Ihre Anwendung In der Eingabekonfiguration ordnen Sie die Streaming-Quelle einem In-Application-Eingabe-Stream zu. Der In-Application-Stream entspricht einer kontinuierlich aktualisierten Tabelle, auf die Sie die SQL-Operationen SELECT und INSERT anwenden können. Zu jedem Eingabedatensatz gehört ein verknüpftes Schema, das beim Einfügen des Datensatzes in den In-Application-Stream angewendet wird.
  • Anwendungscode – eine Reihe von SQL-Anweisungen, die Eingabedaten verarbeiten und Ausgabedaten erzeugen In seiner einfachsten Form kann der Anwendungscode aus einer einzelnen SQL-Anweisung bestehen, die aus Streaming-Eingabedaten auswählt und die Ergebnisse in Streaming-Ausgabedaten einfügt. Es kann sich auch um eine Reihe von SQL-Anweisungen handeln, wobei die Ausgabedaten einer SQL-Anweisung als Eingabedaten der nächsten SQL-Anweisung verwendet werden können. Sie können Anwendungscode erstellen, der einen Eingabedaten-Stream in mehrere Streams aufteilt und dann zusätzliche Abfragen anwendet, um diese separaten Streams zu verarbeiten. 
  • Ausgabedaten – Sie können einen oder mehrere In-Application-Streams erstellen, in denen Zwischenergebnisse aufbewahrt werden. Falls erforderlich, können Sie dann eine Ausgabeanwendung so konfigurieren, dass Daten von bestimmten In-Application-Streams an ein externes Ziel geleitet werden. 

F: Was ist ein In-Application-Stream?

Ein In-Application-Stream ist eine Entität, die kontinuierlich Daten in Ihrer Anwendung speichert, die Sie mit den SQL-Anweisungen SELECT und INSERT verarbeiten können. Mit einem In-Application-Stream können Sie genauso arbeiten wie mit einer SQL-Tabelle. Ein Stream unterscheidet sich jedoch dadurch von einer Tabelle, dass er kontinuierlich aktualisiert wird. Mit Ihrer Anwendung können Sie zusätzliche In-Application-Streams erstellen, um Zwischenergebnisse aus Abfragen zu speichern. Ihre konfigurierten Ein- und Ausgabedaten werden in Ihrer Anwendung als In-Application-Streams repräsentiert.

F: Welche Eingaben werden in einer Kinesis Data Analytics-Anwendung unterstützt?

Kinesis Data Analytics unterstützt zwei Arten von Eingaben: Streaming-Datenquellen und Referenzdatenquellen. Eine Streaming-Datenquelle generiert kontinuierlich Daten, die zur Verarbeitung in Ihre Anwendung eingelesen werden. Eine Referenzdatenquelle liefert statische Daten, mit denen Ihre Anwendung Daten aus Streaming-Quellen ergänzt. Eine Anwendung kann nur über eine Streaming-Datenquelle und eine Referenzdatenquelle verfügen. Eine Anwendung liest und verarbeitet kontinuierlich neue Daten aus einer Streaming-Datenquelle, beispielsweise Amazon Kinesis Data Streams oder Amazon Kinesis Data Firehose. Eine Anwendung liest eine Referenzdatenquelle, beispielsweise Amazon S3, als Ganzes und verwendet sie zum Ergänzen der Streaming-Datenquelle durch SQL JOINs.

F: Was ist eine Referenzdatenquelle?

Eine Referenzdatenquelle liefert statische Daten, mit denen Ihre Anwendung Daten aus Streaming-Quellen ergänzt. Referenzdaten werden als Objekt in Ihrem S3-Bucket gespeichert. Wenn die Anwendung startet, liest Kinesis Data Analytics das S3-Objekt und erstellt eine In-Application-SQL-Tabelle zum Speichern der Referenzdaten. Ihr Anwendungscode kann die Tabelle dann durch einen JOIN mit einem In-Application-Stream verknüpfen. Sie können die Daten in der SQL-Tabelle durch Aufrufen der UpdateApplication API aktualisieren.

F: Welcher Anwendungscode wird unterstützt?

Kinesis Data Analytics unterstützt ANSI SQL mit einigen Erweiterungen auf den SQL-Standard, um die Arbeit mit Streaming-Daten zu vereinfachen. Außerdem bietet Kinesis Data Analytics mehrere Algorithmen für Machine Learning, die als SQL-Funktionen dargestellt werden. Dazu gehören Anomalie-Entdeckung, Approximate top-K und Approximate Distinct.

F: Welche Ziele werden unterstützt?

Kinesis Data Analytics unterstützt bis zu vier Ziele pro Anwendung. Sie können SQL-Ergebnisse an Amazon S3, Amazon Redshift und Amazon Elasticsearch Service (über Amazon Kinesis Data Firehose) sowie an Amazon Kinesis Data Streams liefern. Sie können an ein Ziel schreiben, das nicht direkt durch Kinesis Data Analytics unterstützt wird, indem Sie SQL-Ergebnisse an Amazon Kinesis Data Streams senden und dessen Integration mit AWS Lambda nutzen, um Daten an ein Ziel Ihrer Wahl zu senden.


F: Wie erstelle ich eine Streaming-Datenquelle?

Eine Streaming-Datenquelle kann ein Amazon Kinesis-Datenstrom oder ein Amazon Kinesis Data Firehose-Lieferdatenstrom sein. Ihre Kinesis Data Analytics-Anwendung liest kontinuierlich neue Daten aus Streaming-Datenquellen, wenn diese in Echtzeit ankommen. Die Daten werden für Ihren SQL-Code durch einen In-Application-Stream verfügbar gemacht. Ein In-Application-Stream funktioniert wie eine SQL-Tabelle, da Sie Daten erstellen, einfügen und auswählen können. Der Unterschied liegt jedoch darin, dass ein In-Application-Stream kontinuierlich mit neuen Daten aus der Streaming-Datenquelle aktualisiert wird.

Sie können die AWS Management Console verwenden, um eine Streaming-Datenquelle hinzuzufügen. Weitere Informationen über Datenquellen finden Sie im Abschnitt Configuring Application Input des Kinesis Data Analytics Developer Guide.

F: Wie erstelle ich eine Referenzdatenquelle?

Bei einer Referenzdatenquelle kann es sich um ein Amazon S3-Objekt handeln. Ihre Kinesis Data Analytics-Anwendung liest das S3-Objekt als Ganzes, wenn sie gestartet wird. Die Daten werden für Ihren SQL-Code durch eine Tabelle verfügbar gemacht. Der häufigste Anwendungsfall für das Verwenden einer Referenzdatenquelle ist das Ergänzen von Daten aus einer Streaming-Datenquelle mithilfe eines SQL JOIN.

Mit der AWS CLI können Sie eine Referenzdatenquelle hinzufügen, indem Sie den S3-Bucket, das Objekt, die IAM-Rolle und das zugehörige Schema angeben. Kinesis Data Analytics lädt diese Daten, wenn Sie die Anwendung starten, und lädt sie jedes Mal erneut, wenn Sie einen API-Aufruf zur Aktualisierung ausführen.

F: Welche Datenformate werden unterstützt?

Kinesis Data Analytics ermittelt das Schema und interpretiert automatisch mit UTF-8 kodierte JSON- und CSV-Datensätze mithilfe der DiscoverInputSchema-API. Dieses Schema wird auf die Daten angewendet, die beim Einfügen in einen In-Application-Stream aus dem Stream gelesen werden.

Für andere mit UTF-8 kodierte Daten, die kein Trennzeichen oder ein anderes Trennzeichen als CSV verwenden, sowie in Fällen, in denen die Discovery-API das Schema nicht vollständig ermitteln konnte, können Sie mit dem interaktiven Schema-Editor ein Schema definieren oder die Funktionen zur Zeichenkettenmanipulation nutzen, um Ihre Daten zu strukturieren. Weitere Informationen finden Sie unter Using the Schema Discovery Feature and Related Editing im Kinesis Data Analytics Developer Guide.

F: Wie wird mein Eingabedaten-Stream meinem SQL-Code dargestellt?

Kinesis Data Analytics wendet Ihr angegebenes Schema an und fügt Ihre Daten aus den Streaming-Quellen in einen oder mehrere In-Application-Streams und die Daten aus Referenz-Quellen in eine einzelne SQL-Tabelle ein. Die vorgegebene Zahl von In-Application-Streams ist diejenige, die die Anforderungen Ihrer meisten Anwendungsfälle erfüllt. Sie sollten diese Zahl erhöhen, wenn Sie feststellen, dass Ihre Anwendung gemäß der CloudWatch-Metrik „MillisBehindLatest“ nicht mit den neuesten Daten in Ihrem Quell-Stream mithalten kann. Die Zahl der erforderlichen In-Application-Streams wird sowohl vom Durchsatz in Ihrem Quell-Stream als auch von der Komplexität Ihrer Abfrage beeinflusst. Der Parameter zum Festlegen der Zahl von In-Application-Streams, die ihrem Quell-Stream zugeordnet werden, wird als Eingabeparallelität bezeichnet.


F: Wie sieht mein Anwendungscode aus?

Der Anwendungscode besteht aus einer Reihe von SQL-Anweisungen, die Eingabedaten verarbeiten und Ausgabedaten erzeugen Diese SQL-Anweisungen verarbeiten In-Application-Streams und Referenztabellen. Ein In-Application-Stream entspricht einer kontinuierlich aktualisierten Tabelle, auf die Sie die SQL-Operationen SELECT und INSERT anwenden können. Ihre konfigurierten Quellen und Ziele werden Ihrem SQL-Code durch In-Application-Streams mitgeteilt. Sie können außerdem zusätzliche In-Application-Streams erstellen, um Zwischenergebnisse aus Abfragen zu speichern.

Sie können das folgende Muster verwenden, um mit In-Application-Streams zu arbeiten:

  • Verwenden Sie eine SELECT-Anweisung immer im Kontext mit einer INSERT-Anweisung. Wenn Sie Zeilen auswählen, fügen Sie Ergebnisse in einen anderen In-Application-Stream ein.
  • Verwenden Sie eine SELECT-Anweisung im Kontext mit einem Pump. Sie verwenden einen Pump, um eine INSERT-Anweisung kontinuierlich zu machen und schreiben in einen In-Application-Stream.
  • Sie verwenden einen Pump, um In-Application-Streams zu verknüpfen, wobei Sie von einem In-Application-Stream auswählen und in einen anderen In-Application-Stream einfügen. 

Der folgende SQL-Code bietet eine einfache, funktionierende Anwendung:

CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (

    ticker_symbol VARCHAR(4),

    change DOUBLE,

    price DOUBLE);

 

CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM    

    SELECT STREAM ticker_symbol, change, price    

    FROM "SOURCE_SQL_STREAM_001";

Weitere Informationen über Anwendungscode finden Sie unter Application Code im Kinesis Data Analytics Developer Guide.

F: Wie schreibe ich SQL-Code mit Kinesis Data Analytics?

Kinesis Data Analytics bietet eine Bibliothek mit Analysevorlagen für häufige Anwendungsfälle, wozu Streaming-Filter, Tumbling Time Windows und Anomalie-Entdeckung gehören. Sie können aus dem SQL-Editor in der AWS Management Console auf diese Vorlagen zugreifen. Nachdem Sie eine Anwendung erstellt haben und in den SQL-Editor gegangen sind, stehen die Vorlagen in der oberen linken Ecke der Konsole zur Verfügung.

F: Wie führe ich in Kinesis Data Analytics eine Anomalie-Erkennung in Echtzeit durch?

Kinesis Data Analytics enthält vorkonfigurierte SQL-Funktionen für verschiedene erweiterte Analysen, darunter auch für die Anomalie-Erkennung. Sie können diese Funktion einfach über Ihren SQL-Code für die Echtzeiterkennung von Anomalien aufrufen. Kinesis Data Analytics verwendet für die Anomalie-Erkennung den Random Cut Forest-Algorithmus. Weitere Informationen zu Random Cut Forests finden Sie im Whitepaper "Streaming Data Anomaly Detection".


F: Wie richte ich ein Ziel ein?

In Ihrem Anwendungscode schreiben Sie SQL-Anweisungen für die Ausgabe in einen oder mehrere In-Application-Streams. Wahlweise können Sie Ihrer Anwendung eine Ausgabekonfiguration hinzufügen, um alle geschriebenen Daten, die in bestimmte In-Application-Streams geschrieben wurden, an bis zu vier externe Ziele zu übertragen. Bei diesen externen Zielen kann es sich um einen Amazon S3-Bucket, eine Amazon Redshift-Tabelle, eine Amazon Elasticsearch-Domäne (durch Amazon Kinesis Data Firehose) oder einen Amazon Kinesis-Datenstrom handeln. Jede Anwendung unterstützt bis zu vier Ziele, wobei die zuvor angegebenen Möglichkeiten kombiniert werden können. Weitere Informationen finden Sie unter Configuring Output Streams im Kinesis Data Analytics Developer Guide.

F: Mein bevorzugtes Ziel wird nicht direkt unterstützt. Wie kann ich SQL-Ergebnisse an dieses Ziel senden?

Sie können AWS Lambda verwenden, um auf einem Ziel zu schreiben, das nicht direkt unterstützt wird. Wir empfehlen, dass Sie die Ergebnisse in einen Amazon Kinesis-Datenstrom schreiben und dann AWS Lambda verwenden, um die verarbeiteten Ergebnisse zu lesen und an das Ziel Ihrer Wahl zusenden. Weitere Informationen finden Sie im Beispiel: AWS Lambda Integration im Kinesis Data Analytics Developer Guide. Als Alternative können Sie einen Amazon Kinesis Data Firehose-Lieferdatenstrom verwenden, um die Daten in Amazon S3 zu laden, und dann eine AWS Lambda-Funktion auszulösen, um diese Daten zu lesen und an das Ziel Ihrer Wahl zu senden. Weitere Informationen finden Sie unter Using AWS Lambda with Amazon S3 im AWS Lambda Developer Guide.

F: Welches Liefermodell stellt Kinesis Data Analytics zur Verfügung?

Kinesis Data Analytics verwendet ein Liefermodell nach dem Verfahren "mindestens einmal" für die Ausgabe von Anwendungen an die konfigurierten Ziele. Kinesis Data Analytics-Anwendungen nutzen interne Checkpoints, bei denen es sich um Zeitpunkte handelt, an denen die Ausgabedaten an die Ziele geliefert wurden und es keine Datenverluste gab. Der Service verwendet die Checkpoints nach Bedarf, um sicherzustellen, dass die Ausgabe Ihrer Anwendungen mindestens einmal an die konfigurierten Ziele geliefert wird. Weitere Informationen über das Liefermodell finden Sie unter Configuring Application Output im Kinesis Data Analytics Developer Guide.


F: Wie überwache ich Betrieb und Leistung meiner Kinesis Data Analytics-Anwendung?

AWS bietet verschiedene Tools, mit denen Sie Ihre Kinesis Data Analytics-Anwendungen überwachen können. Sie können einige dieser Tools für die Überwachung ignorieren. Weitere Informationen über die Überwachung Ihrer Anwendung finden Sie unter Monitoring Kinesis Data Analytics im Kinesis Analytics Developer Guide.

F: Wie kann ich den Zugriff auf meine Kinesis Data Analytics-Anwendungen verwalten und steuern?

Kinesis Data Analytics benötigt Berechtigungen, um Datensätze aus den Streaming-Datenquellen zu lesen, die Sie in Ihrer Anwendung festlegen. Weiterhin benötigt Kinesis Data Analytics Berechtigungen, um die Ausgabedaten Ihrer Anwendung in Datenströme zu übertragen, die Sie in der Ausgabekonfiguration ihrer Anwendung festlegen. Sie können diese Berechtigungen erteilen, indem Sie IAM-Rollen erstellen, die Kinesis Data Analytics annehmen kann. Die Berechtigungen, die Sie einer solchen Rolle erteilen, bestimmen, was Kinesis Data Analytics tun kann, wenn der Service die Rolle annimmt. Weitere Informationen finden Sie unter Granting Permissions im Kinesis Data Analytics Developer Guide.

F: Wie skaliert Kinesis Data Analytics meine Anwendung?

Kinesis Data Analytics skaliert Ihre Anwendung elastisch, um sie an den Datendurchsatz Ihres Quell-Streams und die Komplexität Ihrer Abfrage für die meisten Szenarien anzupassen. Kinesis Data Analytics stellt Kapazität in Form von Amazon Kinesis Processing Units (KPU) zur Verfügung. Eine einzelne KPU bietet Ihnen Arbeitsspeicher (4 GB) sowie zugehörige Rechenleistung und Netzwerkressourcen.
Jede Streaming-Quelle wird einem zugehörigen In-Application-Stream zugeordnet. Auch wenn dies bei vielen Kunden nicht erforderlich ist, können Sie KPUs effizienter nutzen, indem Sie die Anzahl der In-Application-Streams erhöhen, denen Ihre Quelle zugeordnet ist. Dazu verwenden Sie den Parameter für die Parallelität. Kinesis Data Analytics weist die Partitionen der Streaming-Datenquellen wie beispielsweise Shards von Amazon Kinesis-Datenströmen gleichmäßig verteilt an die Anzahl der spezifizierten In-Application-Datenströme zu. Wenn Sie zum Beispiel einen Amazon Kinesis-Datenstrom mit zehn Shards als Streaming-Datenquelle haben und eine Eingabeparallelität von zwei festlegen, ordnet Kinesis Data Analytics je fünf Amazon Kinesis-Shards den zwei In-Application-Datenströmen "SOURCE_SQL_STREAM_001" und "SOURCE_SQL_STREAM_002" zu. Weitere Informationen finden Sie unter Configuring Application Input im Kinesis Data Analytics Developer Guide.

F: Welche bewährten Methoden gibt es zum Erstellen und Verwalten meiner Kinesis Data Analytics-Anwendungen?

Informationen über bewährte Methoden finden Sie im Abschnitt Best Practices im Kinesis Data Analytics Developer Guide. Dort werden Verwalten von Anwendungen, Definieren von Eingabeschemata, Verbinden zu Ausgaben und Erstellen von Anwendungscode behandelt.


F: Wie kann ich es erreichen, dass eine bestimmte SQL-Anweisung einwandfrei funktioniert?

Details dazu finden Sie unter Example Applications im Kinesis Data Analytics Developer Guide, der eine Reihe von SQL-Beispielen enthält, die Sie verwenden können. Außerdem enthält die Kinesis Data Analytics SQL Reference detaillierte Anleitungen zum Erstellen von Streaming-SQL-Anweisungen. Falls Sie immer noch Probleme haben, empfehlen wir, dass Sie eine entsprechende Frage in den Amazon Kinesis-Foren stellen.

F: Kinesis Data Analytics konnte mein Schema nicht finden. Wie kann ich Kinesis Data Analytics verwenden?

Für andere mit UTF-8 kodierte Daten, die kein Trennzeichen oder ein anderes Trennzeichen als CSV verwenden, sowie in Fällen, in denen die Discovery-API das Schema nicht vollständig ermitteln konnte, können Sie ein Schema manuell definieren oder die Funktionen zur Zeichenkettenmanipulation verwenden, um Ihre Daten zu strukturieren. Weitere Informationen finden Sie unter Using the Schema Discovery Feature and Related Editing im Kinesis Data Analytics Developer Guide.

F: Welche wichtigen Parameter sollte ich überwachen, um sicherzustellen, dass meine Anwendung einwandfrei ausgeführt wird?

Der wichtigste zu überwachende Parameter ist die CloudWatch-Metrik „MillisBehindLatest“, die Sie darüber informiert, wie weit Sie beim Lesen aus dem Stream zurückgefallen sind. Diese Metrik bietet Ihnen eine effektive Möglichkeit, zu ermitteln, ob Sie Datensätze aus dem Quell-Stream schnell genug verarbeiten. Sie sollten einen CloudWatch-Alarm einrichten, der ausgelöst wird, wenn Sie mehr als eine Stunde zurückfallen (der Wert hängt von Ihrem Anwendungsfall ab und kann erforderlichenfalls geändert werden). Weitere Informationen finden Sie im Abschnitt Best Practices im Kinesis Data Analytics Developer Guide.

F: Wie behebe ich Fehler aufgrund ungültiger Codes, wenn eine Kinesis Data Analytics-Anwendung ausgeführt wird?
Unter Fehlerbehebung im Amazon Kinesis Data Analytics Entwicklerhandbuch finden Sie Informationen zu Fehlern aufgrund ungültiger Codes sowie zur Fehlerbehebung.


F: Wie viel kostet Kinesis Data Analytics?

Sie zahlen bei Kinesis Data Analytics nur für die tatsächliche Nutzung. Sie zahlen einen Stundenpreis auf der Basis der durchschnittlichen Zahl von Kinesis Processing Units (oder KPUs), die zum Ausführen Ihrer Anwendung für die Stream-Verarbeitung genutzt werden. Wir runden auf die nächste ganze KPU auf.

Eine einzelne KPU ist eine Ressource für die Stream-Bearbeitung, die aus Arbeitsspeicher (4 GB), Rechner (1 vCPU) und zugehörigen Netzwerkressourcen besteht. Da die Nutzung des Arbeitsspeichers und der Rechenleistung durch Ihre Streaming-Anwendung während der Verarbeitung schwankt, skaliert Kinesis Data Analytics die Anzahl der KPUs auf der Basis der Streaming-Arbeitslast automatisch und elastisch. Mit Kinesis Data Analytics müssen Sie weder Ressourcen bereitstellen noch Vorab-Kosten oder Mindestgebühren zahlen.

Weitere Informationen über die Preise finden Sie in der Preisübersicht zu Kinesis Data Analytics.

F: Ist Kinesis Data Analytics über das kostenlose Nutzungskontingent für AWS verfügbar?

Nein. Kinesis Data Analytics fällt derzeit nicht unter das kostenlose Nutzungskontingent für AWS. Das kostenlose Kontingent für AWS ist ein Programm, das einen kostenlosen Test bestimmter AWS-Services bietet.

F: Wird mir eine Kinesis Data Analytics-Anwendung in Rechnung gestellt, die zwar ausgeführt wird, aber keine Daten von der Quelle verarbeitet?

Wenn Ihre Kinesis Data Analytics-Anwendung ausgeführt wird, wird Ihnen mindestens eine KPU in Rechnung gestellt.

F: Können außer den Kosten für Kinesis Data Analytics noch andere Kosten anfallen?

Kinesis Data Analytics ist eine vollständig verwaltete Lösung für die Stream-Verarbeitung, unabhängig von der Streaming-Quelle, von der Daten gelesen werden, und den Zielen, auf die Daten geschrieben werden. Die Nutzungskosten für Kinesis Data Firehose und Kinesis Data Streams für Ihre Eingabe- und Ausgabedatenströme werden Ihnen separat in Rechnung gestellt.

F: Wie unterscheidet sich Kinesis Data Analytics vom Ausführen meiner eigenen Anwendung mit der Amazon Kinesis-Client-Bibliothek?

Die Amazon Kinesis Client Library (KCL) ist eine vorgefertigte Bibliothek, mit deren Hilfe Sie Konsumentenanwendungen zum Lesen und Verarbeiten von Daten aus einem Amazon Kinesis-Datenstrom aufbauen können. Die KCL übernimmt automatisch komplexe Aufgaben wie die Anpassung an Änderungen beim Datenstromvolumen, den Lastausgleich für Streaming-Daten, die Koordination verteilter Services und fehlertolerante Datenverarbeitung. Die KCL ermöglicht, dass Sie sich beim Entwickeln von Anwendungen ganz auf die Geschäftslogik konzentrieren können.

Mit Kinesis Data Analytics können Sie Streaming-Daten in Echtzeit verarbeiten und abfragen. Sie verwenden Standard-SQL, um Ihre Daten-Streams zu verarbeiten, sodass Sie keine neuen Programmiersprachen erlernen müssen. Sie verweisen Kinesis Data Analytics einfach auf den eingehenden Datenstrom, schreiben Ihre SQL-Abfragen und geben an, wohin die Ergebnisse geliefert werden sollen. Kinesis Data Analytics verwendet die KCL, um als Teil ihrer zugrunde liegenden Anwendung Daten von Streaming-Datenquellen zu lesen. Der Service trennt dies von Ihnen ebenso wie von vielen der komplexeren Konzepte in Verbindung mit der Verwendung der KCL wie beispielsweise Checkpoints.

Wenn Sie eine vollständig verwaltete Lösung anstreben und SQL für das Verarbeiten der Daten aus Ihrem Datenstrom verwenden möchten, sollten Sie sich für Kinesis Data Analytics entscheiden. Verwenden Sie die KCL, wenn Sie eine benutzerdefinierte Verarbeitungslösung erstellen müssen, deren Anforderungen von Kinesis Data Analytics nicht erfüllt werden, und Sie in der Lage sind, die erstellte Konsumentenanwendung zu verwalten.