Snowflake Connector for Kafka¶
Snowflake Connector for Kafka (v4) ist ein Sink-Konnektor, der Daten aus einem oder mehreren Apache-Kafka-Themen liest und diese Daten in Snowflake-Tabellen lädt. Basierend auf der :doc:` leistungsstarken Snowpipe-Streaming-Architektur von Snowflake </user-guide/snowpipe-streaming/snowpipe-streaming-high-performance-overview>` bietet der Konnektor einen Durchsatz von bis zu 10 GB/s bei einer End-to-End-Latenz von 5 bis 10 Sekunden, wobei Exactly-Once- und Ordered-Delivery-Semantiken gewährleistet werden
Weitere Informationen zu Kafka Connect und seinem Framework finden Sie unter Das Apache Kafka und Kafka Connect Framework.
Vorteile¶
Snowflake Connector for Kafka nutzt die von leistungsstarke Snowpipe Streaming-Architektur von Snowflake, die für moderne, datenintensive Unternehmen entwickelt wurde, die Erkenntnisse nahezu in Echtzeit benötigen. Diese Architektur der nächsten Generation verbessert Durchsatz, Effizienz und Flexibilität bei der Echtzeiterfassung in Snowflake erheblich.
Die leistungsstarke Architektur bietet mehrere entscheidende Vorteile:
Überlegener Durchsatz und Latenz: Es ist auf Unterstützung von Erfassungsgeschwindigkeiten von bis zu 10 GB/s pro Tabelle mit End-to-End-Erfassung ausgelegt, um Latenzen innerhalb von 5 bis 10 Sekunden abzufragen und so Analysen nahezu in Echtzeit zu ermöglichen.
Pauschalpreise auf Basis des Durchsatzes: Die Preise basieren auf der Menge der aufgenommenen Daten (GB), dasselbe Modell wie die leistungsstarke Snowpipe Streaming-Architektur. Weitere Preisinformationen finden Sie unter Kosten für Snowpipe Streaming.
Verbesserte Performance: Verwendet einen auf Rust basierenden Client-Kern, der im Vergleich zu früheren Implementierungen eine verbesserte clientseitige Performance und einen geringeren Ressourcenverbrauch bietet.
Transformationen während der Ausführung: Unterstützt die Bereinigung und Umstellung von Daten während der Aufnahme anhand der COPY-Befehlssyntax innerhalb des PIPE-Objekts, sodass Sie Daten transformieren können, bevor sie die Zieltabelle erreichen.
Serverseitige Schemavalidierung: Verschiebt die Schemavalidierung über das PIPE-Objekt von der Clientseite auf die Serverseite und stellt so die Datenqualität sicher und reduziert die Client-Komplexität. Ungültige Datensätze werden in Fehlertabellen zur Überprüfung und Wiederholung erfasst.
Pre-Clustering-Funktion: Kann Daten während der Aufnahme gruppieren, wenn für die Zieltabelle Gruppierungsschlüssel definiert sind, wodurch die Abfrageleistung verbessert wird, ohne dass eine Wartung nach der Datenaufnahme erforderlich ist.
Der Konnektor verwendet Snowflake PIPE-Objekte als zentrale Komponente für die Verwaltung der Datenaufnahme. Das PIPE-Objekt dient als Einstiegspunkt und Definitionsschicht für alle Streaming-Daten und definiert, wie Daten verarbeitet, transformiert und validiert werden, bevor sie in die Zieltabelle übertragen werden. Weitere Informationen darüber, wie der Konnektor mit Tabellen und Pipes funktioniert, finden Sie unter How the connector works with tables and pipes.
Auswählen einer Konnektorversion¶
Der Kafka-Konnektor wird in einem Kafka Connect-Cluster ausgeführt, liest Daten aus den Kafka-Themen und schreibt in Snowflake-Tabellen.
Snowflake bietet zwei Versionen des Konnektors: Beide Versionen des Konnektors bieten die gleiche Kernfunktionalität für das Streamen von Daten von Kafka in Snowflake.
Confluent-Version des Konnektors
Die Confluent-Version ist als ZIP-Datei gepackt und enthält alle externen Bibliotheken, die für die Ausführung des Konnektors erforderlich sind. Wählen Sie diese Version, wenn Sie die Confluent Platform verwenden.
Bemerkung
Der v4-Konnektor ist noch nicht als nativer Confluent Cloud-Konnektor verfügbar. Installieren Sie ihn auf Confluent Cloud als benutzerdefinierten Plugin-Konnektor. Kontaktieren Sie den Snowflake-Support für das Confluent-Paket.
Weitere Informationen dazu finden Sie unter Kafka Connect.
OSS Apache Kafka-Version des Konnektors
Verfügbar unter Open-Source-Software (OSS) Apache Kafka-Paket.
Die Apache-Version wird als standardmäßige JAR-Datei verteilt und erfordert eine manuelle Installation in Ihrem Apache Kafka Connect-Cluster. Diese Version erfordert Bouncy Castle Kryptographie-Bibliotheken, die separat heruntergeladen werden müssen.
Weitere Informationen dazu finden Sie unter Apache Kafka.
Verwenden des Konnektors mit Apache Iceberg™-Tabellen¶
Der Konnektor kann Daten in von Snowflake verwaltete Apache Iceberg™-Tabellen aufnehmen. Bevor Sie den Kafka-Konnektor für die Aufnahme von Iceberg-Tabellen konfigurieren, müssen Sie eine Iceberg-Tabelle erstellen. Weitere Informationen dazu finden Sie unter Create an Apache Iceberg™ table for ingestion.
Einschränkungen¶
Snowflake Connector for Kafka weist folgende Einschränkungen auf:
- Apache Iceberg™-Tabellen und Schemaentwicklung
Der Konnektor unterstützt keine Schemaentwicklung für Apache Iceberg™-Tabellen.
- Migration bestehender Pipelines von Version 3.x und niedriger
Der v4-Konnektor erfordert eine neue Konfiguration (neue Konnektorklasse, entfernte Eigenschaften, geänderte Standardwerte). Die Migration sowohl vom Snowpipe-Modus als auch vom Snowpipe Streaming-Modus wird ohne Lücken oder Duplikate unterstützt, wenn sie korrekt konfiguriert sind. Die Umstellung muss innerhalb von
offsets.retention.minutes(Standard 7 Tage) erfolgen. Weitere Details unter Migration von v3 nach v4.- Single Message Transformations (SMTs):
Die meisten Singe Message Transformations (SMTs) werden bei der Verwendung von Community-Konvertern unterstützt, mit Ausnahme von
regex.router, der derzeit nicht unterstützt wird.- Authentifizierung
Der Konnektor unterstützt nur die Authentifizierung mit Schlüsselpaaren. OAuth wird in v4 nicht unterstützt.
- Das Verhalten bei der Fehlerbehandlung hängt vom Validierungsmodus ab
Bei der serverseitigen Validierung werden fehlerhafte Datensätze in Fehlertabellen erfasst. Mit der clientseitigen Validierung schlägt der Konnektor sofort bei ungültigen Datensätzen fehl oder leitet sie an eine Dead Letter Queue weiter (DLQ), wenn
errors.tolerance=allkonfiguriert ist. Weitere Details dazu finden Sie unter Validierung und Fehlerbehandlung.
Einschränkungen der Fehlertoleranz¶
Kafka-Themen können mit einer Begrenzung des Speicherplatzes oder der Aufbewahrungsdauer konfiguriert werden.
Wenn das System länger als die Aufbewahrungsdauer offline ist, werden abgelaufene Datensätze nicht geladen. Auf ähnliche Weise werden einige Nachrichten nicht zugestellt, wenn das Speicherplatzlimit von Kafka überschritten wurde.
Wenn Nachrichten im Kafka-Topic gelöscht oder aktualisiert werden, spiegeln sich diese Änderungen ggf. nicht in der Snowflake-Tabelle wider.
Weitere Informationen über SMTs finden Sie unter Kafka Connect Single Message Transform Reference for Confluent Cloud or Confluent Platform.
Unterstützte Konnektorversionen¶
Die folgende Tabelle beschreibt die unterstützten Konnektorversionen.
Release-Serie |
Status |
Anmerkungen |
|---|---|---|
4.x.x |
Allgemein verfügbar |
Neueste Version. Die Migration von 3.x und 2.x muss manuell erfolgen. |
3.x.x |
Offiziell unterstützt |
Upgrade auf v4 empfohlen. |
2.x.x |
Offiziell unterstützt |
Upgrade empfohlen. |
1.x.x |
Nicht unterstützt |
Bemerkung
Suchen Sie nach dem klassischen Kafka-Konnektor (v3 und früher)? Siehe Kafka-Konnektor v3 (klassisch). Hinweise zur Migration finden Sie unter Migration von v3 nach v4.
Nächste Schritte¶
Sehen Sie sich das Thema zur Funktionsweise des Konnektors an, um weitere Informationen dazu zu erhalten, wie der Konnektor mit Tabellen und Pipes funktioniert. .`Sehen Sie sich das :doc:`setup-tasks-Thema an, um eine Anleitung zum Einrichten von Snowflake Connector for Kafka zu erhalten.