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.
Umgang mit großen Datensätzen
Amazon Kinesis Data Streams unterstützt Datensätze mit bis zu 10 Mebibyte (). MiBs Diese Funktion wird für die Verarbeitung intermittierender Datennutzlasten empfohlen, die die standardmäßige Datensatzgrößenbeschränkung von 1 MiB überschreiten. Die standardmäßige maximale Datensatzgröße für bestehende und neu erstellte Streams ist auf 1 MiB festgelegt.
Diese Funktion kommt IoT-Anwendungen (Internet of Things), CDC-Pipelines (Change Data Capture) und Workflows für maschinelles Lernen zugute, die gelegentlich die Verarbeitung größerer Datennutzlasten erfordern. Um mit der Verwendung großer Datensätze in deinem Stream zu beginnen, aktualisiere die maximale Datensatzgrößenbeschränkung für deinen Stream.
Wichtig
Das individuelle Shard-Durchsatzlimit von 1 MB/s für Schreibvorgänge und 2 MB/s für Lesevorgänge bleibt unverändert, wobei größere Datensatzgrößen unterstützt werden. Kinesis Data Streams ist darauf ausgelegt, zeitweise große Datensätze zusammen mit einem Basisdatenverkehr von Datensätzen von weniger als oder gleich 1 MiB zu verarbeiten. Es ist nicht für die dauerhafte Aufnahme großer Datenmengen konzipiert.
Aktualisiere deinen Stream, um große Datensätze zu verwenden
Um größere Datensätze mit Kinesis Data Streams zu verarbeiten
Navigieren Sie zur Kinesis Data Streams Streams-Konsole.
Wählen Sie Ihren Stream aus und wechseln Sie zur Registerkarte Konfiguration.
Klicke neben Maximale Datensatzgröße auf Bearbeiten.
Stellen Sie Ihre maximale Datensatzgröße ein (bis zu 10 MiB).
Speichern Sie Ihre Änderungen.
Mit dieser Einstellung wird nur die maximale Datensatzgröße für diesen Kinesis-Datenstrom angepasst. Bevor Sie diesen Grenzwert erhöhen, stellen Sie sicher, dass alle Downstream-Anwendungen größere Datensätze verarbeiten können.
Sie können diese Einstellung auch über die AWS CLI aktualisieren:
aws kinesis update-max-record-size \ --stream-arn \ --max-record-size-in-ki-b 5000
Optimiere deine Stream-Leistung mit großen Datensätzen
Es wird empfohlen, große Datensätze auf weniger als 2% deines gesamten Traffics zu beschränken. In einem Stream hat jeder Shard eine Durchsatzkapazität von 1 MiB pro Sekunde. Um große Datensätze verarbeiten zu können, streamt Kinesis Data bis zu 10 Bursts MiBs, wobei der Durchschnitt bei 1 MiB pro Sekunde liegt. Diese Kapazität zur Unterstützung großer Datensätze wird kontinuierlich wieder in den Stream aufgenommen. Die Geschwindigkeit des Wiederauffüllens hängt von der Größe der großen Datensätze und der Größe des Basisdatensatzes ab. Die besten Ergebnisse erzielen Sie, wenn Sie einen gleichmäßig verteilten Partitionsschlüssel verwenden. Weitere Informationen zur Skalierung von Kinesis On-Demand-Modus finden Sie unter Funktionen und Anwendungsfälle für den On-Demand-Modus.
Reduzieren Sie die Drosselung bei großen Datensätzen
Um der Drosselung entgegenzuwirken
Implementieren Sie die Wiederholungslogik mit exponentiellem Back-off in Ihrer Producer-Anwendung.
Verwenden Sie zufällige Partitionsschlüssel, um große Datensätze auf verfügbare Shards zu verteilen.
Speichern Sie Payloads in Amazon S3 und senden Sie nur Metadatenverweise an den Stream für kontinuierliche Streams großer Datensätze. Weitere Informationen finden Sie unter Verarbeiten großer Datensätze mit Amazon Kinesis Data Streams
.
Verarbeiten Sie große Datensätze mit den Kinesis Data Streams APIs
Die Unterstützung großer Datensätze führt eine neue API ein und aktualisiert zwei bestehende Steuerungsebenen, sodass bis APIs zu 10 MiBs Datensätze verarbeitet werden können.
API zum Ändern der Datensatzgröße:
UpdateMaxRecordSize: Konfiguriert die maximale Datensatzgrößenbeschränkung für bestehende Streams auf bis zu 10. MiBs
Aktualisierungen APIs vorhandener:
CreateStream: Fügt den optionalenMaxRecordSizeInKiBParameter für die Festlegung von Größenbeschränkungen für Datensätze während der Stream-Erstellung hinzu.DescribeStreamSummary: Gibt dasMaxRecordSizeInKiBFeld zurück, das die aktuelle Stream-Konfiguration anzeigt.
Alle APIs aufgelisteten Produkte behalten die Abwärtskompatibilität für bestehende Streams bei. Eine vollständige API-Dokumentation finden Sie in der Amazon Kinesis Data Streams Service API-Referenz.
AWS Komponenten, die mit großen Datensätzen kompatibel sind
Die folgenden AWS Komponenten sind mit großen Datensätzen kompatibel:
| Komponente | Description |
|---|---|
|
AWS SDK |
AWS Das SDK unterstützt den Umgang mit großen Datensätzen. Sie können die maximale Datensatzgröße Ihres Streams auf bis zu 10 MiB aktualisieren, indem Sie die verfügbaren Methoden in der verwenden. AWS SDKs Weitere Informationen finden Sie unter Diesen Dienst mit einem AWS SDK verwenden. |
|
Kinesis Consumer Library (KCL) |
Ab Version 2.x unterstützt KCL die Verarbeitung großer Datensätze. Um die Unterstützung großer Datensätze zu verwenden, aktualisieren Sie |
|
Kinesis Producer-Bibliothek (KPL) |
Ab Version 1.0.5 unterstützt KPL die Verarbeitung großer Datensätze. Um die Unterstützung großer Datensätze zu verwenden, aktualisieren Sie maxRecordSize den Stream und verwenden Sie KPL. Weitere Informationen finden Sie unter Entwickeln von Produzenten mithilfe der Amazon Kinesis Producer Library (KPL). |
|
Amazon EMR |
Amazon EMR mit Apache Spark unterstützt die Verarbeitung großer Datensätze bis zum Kinesis Data Streams Streams-Limit (10 MiBs). Verwenden Sie die Funktion, um die Unterstützung großer Datensätze zu verwenden. |
|
Amazon Data Firehose |
Bei Verwendung mit Kinesis Data Streams hängt das Verhalten von Amazon Data Firehose bei großen Datensätzen vom Lieferziel ab:
Bei Anwendungen, die eine Lieferung an Snowflake oder Redshift mit großen Datensätzen erfordern, stellen Sie die Daten zuerst an Amazon S3 bereit. Verwenden Sie anschließend die ETL-Prozesse (Extract, Transform, Load), um die Daten zu laden. Testen Sie bei allen anderen Zielen das Verhalten mit großen Datensätzen in einer proof-of-concept Umgebung, bevor Sie die Skalierung auf die Produktionsnutzung durchführen. Der Umgang mit großen Datensätzen ist je nach Ziel unterschiedlich. |
|
AWS Lambda |
AWS Lambda unterstützt bis zu 6 MiBs Nutzlasten. Dieses Limit umfasst die Kinesis-Payload, die in die Base-64-Kodierung konvertiert wurde, und die Metadaten, die mit Event Source Mapping (ESM) verknüpft sind. Bei Datensätzen unter 6 verarbeitet Lambda sie mit ESM MiBs, ohne dass eine zusätzliche Konfiguration erforderlich ist. Bei Datensätzen, die größer als 6 sind MiBs, verarbeitet Lambda sie unter Verwendung eines Ziels für den Fall eines Fehlers. Sie müssen mithilfe von ESM ein Ziel für den Fall eines Fehlers konfigurieren, um Datensätze zu verarbeiten, die die Verarbeitungsgrenzen von Lambda überschreiten. Jedes Ereignis, das an das Ziel bei einem Fehler gesendet wird, ist ein JSON-Dokument, das Metadaten zum fehlgeschlagenen Aufruf enthält. Es wird empfohlen, unabhängig von der Datensatzgröße ein Ziel für den Fall eines Fehlers im ESM zu erstellen. Dadurch wird sichergestellt, dass keine Datensätze verworfen werden. Weitere Informationen finden Sie unter Ziele für fehlgeschlagene Aufrufe konfigurieren. |
|
Amazon Redshift |
Amazon Redshift unterstützt beim Streamen von Daten aus Kinesis Data Streams nur Datensatzgrößen von weniger als 1 MiB. Datensätze, die dieses Limit überschreiten, werden nicht verarbeitet. Datensätze, die nicht verarbeitet werden, werden protokolliert als |
|
Flink-Anschluss für Kinesis Data Streams |
Es gibt zwei Ansätze für die Nutzung von Daten aus Kinesis Data Streams: den Kinesis-Quellkonnektor und den Kinesis-Sink-Connector. Der Quellanschluss unterstützt die Verarbeitung von Datensätzen mit weniger als 1 MiB und bis zu 10. MiBs Verwenden Sie den Senkenanschluss nicht für Aufzeichnungen, die größer als 1 MiB sind. Weitere Informationen finden Sie unter Verwenden von Konnektoren zum Verschieben von Daten in Amazon Managed Service für Apache Flink mit der DataStream API. |
Regionen, in denen große Datensätze unterstützt werden
Diese Amazon Kinesis Data Streams Streams-Funktion ist nur in den folgenden AWS Regionen verfügbar:
| AWS Region | Name der Region |
|---|---|
|
eu-north-1 |
Europa (Stockholm) |
|
me-south-1 |
Middle East (Bahrain) |
|
ap-south-1 |
Asien-Pazifik (Mumbai) |
|
eu-west-3 |
Europa (Paris) |
|
ap-southeast-3 |
Asien-Pazifik (Jakarta) |
|
us-east-2 |
USA Ost (Ohio) |
|
af-south-1 |
Afrika (Kapstadt) |
|
eu-west-1 |
Europa (Irland) |
|
me-central-1 |
Naher Osten (VAE) |
|
eu-central-1 |
Europa (Frankfurt) |
|
sa-east-1 |
Südamerika (São Paulo) |
|
ap-east-1 |
Asien-Pazifik (Hongkong) |
|
ap-south-2 |
Asien-Pazifik (Hyderabad) |
|
us-east-1 |
USA Ost (Nord-Virginia) |
|
ap-northeast-2 |
Asien-Pazifik (Seoul) |
|
ap-northeast-3 |
Asien-Pazifik (Osaka) |
|
eu-west-2 |
Europa (London) |
|
ap-southeast-4 |
Asien-Pazifik (Melbourne) |
|
ap-northeast-1 |
Asien-Pazifik (Tokio) |
|
us-west-2 |
USA West (Oregon) |
|
us-west-1 |
USA West (Nordkalifornien) |
|
ap-southeast-1 |
Asien-Pazifik (Singapur) |
|
ap-southeast-2 |
Asien-Pazifik (Sydney) |
|
il-central-1 |
Israel (Tel Aviv) |
|
ca-central-1 |
Kanada (Zentral) |
|
ca-west-1 |
Kanada West (Calgary) |
|
eu-south-2 |
Europa (Spain) |
|
cn-northwest-1 |
China (Ningxia) |
|
eu-central-2 |
Europa (Zürich) |
| us-gov-east-1 | AWS GovCloud (US-Ost) |
| us-gov-west-1 | AWS GovCloud (US-West) |