F: Was ist Amazon Kinesis Analytics?

Amazon Kinesis Analytics ist die einfachste Möglichkeit, Streaming-Daten in Echtzeit zu verarbeiten und zu analysieren. Mit Amazon Kinesis Analytics verwenden Sie einfach Standard-SQL, um Ihre Daten-Streams zu verarbeiten, sodass Sie keine neuen Programmiersprachen erlernen müssen. Verweisen Sie Kinesis Analytics einfach auf den eingehenden Daten-Stream, schreiben Sie Ihre SQL-Abfragen und geben Sie an, wohin die Ergebnisse geliefert werden sollen. Kinesis 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 Analytics tun?

Sie können Kinesis 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 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 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 Streams und Amazon Simple Notification Service (SNS) automatisch die richtigen Kunden benachrichtigt.

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

Melden Sie sich bei der Kinesis 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 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 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 Komponenten umfasst Kinesis Analytics?

Kinesis 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. Beachten Sie bei der Nutzung von Amazon Kinesis Analytics jedoch folgende Einschränkungen:

  • Ein Datensatz darf nicht größer sein als 50 KB. Größere Datensätze können Sie in mehrere Datensätze aufteilen, wenn Sie Ihr Eingabeschema definieren.
  • Für jede AWS-Region in Ihrem Konto können Sie bis zu fünf Anwendungen für Kinesis Analytics erstellen. Diese Beschränkung kann sehr einfach erhöht werden, indem Sie ein Formular zum Erhöhen von Servicegrenzwerten einreichen.
  • Möglicherweise müssen Sie Ihre Abfragen parallel ausführen, um mit den Daten im Stream mitzuhalten. Dazu können Sie Ihren Eingabedaten-Stream bis zu zehn In-Application-Streams zuordnen.
  • Die Höchstzahl von Kinesis Processing Units (KPUs) beträgt 8.
  • Sie können die Anwendungsausgabe so konfigurieren, dass die Ergebnisse an bis zu vier Ziele geliefert werden.
  • Das Amazon S3-Objekt, in dem die Referenzdaten gespeichert werden, kann bis zu 1 GB groß sein.

F: Was ist eine Kinesis Analytics-Anwendung?

Eine Anwendung ist die Kinesis Analytics-Entität, mit der Sie arbeiten. Kinesis Analytics-Anwendungen lesen und verarbeiten kontinuierlich String-Daten in Echtzeit. Sie schreiben den Anwendungscode mit SQL, um die eingehenden Streaming-Daten zu verarbeiten und die Ausgabedaten zu erzeugen. Kinesis 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 Analytics-Anwendung unterstützt?

Kinesis 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 Streams oder Amazon Kinesis 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 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 Analytics unterstützt ANSI SQL mit einigen Erweiterungen auf den SQL-Standard, um die Arbeit mit Streaming-Daten zu vereinfachen. Außerdem bietet Kinesis 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 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 Firehose) sowie an Amazon Kinesis Streams liefern. Sie können an ein Ziel schreiben, das nicht direkt durch Kinesis Analytics unterstützt wird, indem Sie SQL-Ergebnisse an Amazon Kinesis 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-Stream oder ein Amazon Kinesis Firehose-Lieferungsdatenstrom sein. Ihre Kinesis Analytics 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 Analytics Developer Guide.

F: Wie erstelle ich eine Referenzdatenquelle?

Bei einer Referenzdatenquelle kann es sich um ein Amazon S3-Objekt handeln. Ihre Kinesis 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 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 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 Analytics Developer Guide.

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

Kinesis 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 Analytics Developer Guide.

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

Kinesis Analytics bietet eine Bibliothek mit Analysevorlagen für gängige 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 Analytics eine Anamolie-Erkennung in Echtzeit durch?

Kinesis 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 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 Firehose) oder einen Amazon Kinesis-Stream 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 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-Stream 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 Analytics Developer Guide. Als Alternative können Sie einen Amazon Kinesis Firehose-Lieferungsdatenstrom 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 Analytics zur Verfügung?

Kinesis Analytics verwendet ein Liefermodell nach dem Verfahren „mindestens einmal“ für die Ausgabe von Anwendungen an die konfigurierten Ziele. Kinesis 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 Analytics Developer Guide.


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

AWS bietet verschiedene Tools, mit denen Sie Ihre Kinesis 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 Analytics im Kinesis Analytics Developer Guide.

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

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

F: Wie skaliert Kinesis Analytics meine Anwendung?

Kinesis 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 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 Analytics weist die Partitionen der Streaming-Datenquellen wie beispielsweise Shards von Amazon Kinesis-Streams gleichmäßig verteilt an die Anzahl der spezifizierten In-Application-Streams zu. Wenn Sie zum Beispiel einen Amazon Kinesis-Stream mit 10 Shards haben und eine Eingabeparallelität von 2 festlegen, ordnet Kinesis Analytics je 5 Amazon Kinesis-Shards an 2 In-Application-Streams namens „SOURCE_SQL_STREAM_001“ und „SOURCE_SQL_STREAM_002“ zu. Weitere Informationen finden Sie unter Configuring Application Input im Kinesis Analytics Developer Guide.

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

Informationen über bewährte Verfahren finden Sie im Abschnitt Best Practices im Kinesis 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 Analytics Developer Guide, der eine Reihe von SQL-Beispielen enthält, die Sie verwenden können. Außerdem enthält die Kinesis 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 Analytics konnte mein Schema nicht finden. Wie kann ich Kinesis 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 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 Analytics Developer Guide.

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


F: Wie viel kostet Kinesis Analytics?

Sie zahlen bei Kinesis 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 Analytics die Anzahl der KPUs auf der Basis der Streaming-Arbeitslast automatisch und elastisch. Mit Kinesis 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 Analytics.

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

Nein. Kinesis 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 Analytics-Anwendung in Rechnung gestellt, die zwar ausgeführt wird, aber keine Daten von der Quelle verarbeitet?

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

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

Kinesis 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 Firehose und Kinesis Streams für Ihre Eingabe- und Ausgabe-Streams werden Ihnen separat in Rechnung gestellt.

F: Wie unterscheidet sich Kinesis 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-Stream aufbauen können. Die KCL übernimmt automatisch komplexe Aufgaben wie die Anpassung an Änderungen beim Stream-Volumen, 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 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 Analytics einfach auf den eingehenden Daten-Stream, schreiben Ihre SQL-Abfragen und geben an, wohin die Ergebnisse geliefert werden sollen. Kinesis 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 Stream verwenden möchten, sollten Sie sich für Kinesis Analytics entscheiden. Verwenden Sie die KCL, wenn Sie eine benutzerdefinierte Verarbeitungslösung erstellen müssen, deren Anforderungen von Kinesis Analytics nicht erfüllt werden, und Sie in der Lage sind, die erstellte Konsumentenanwendung zu verwalten.