Snowflake High Performance connector for Kafka

Unter diesem Thema werden die grundlegenden Konzepte von Snowflake High Performance connector for Kafka beschrieben, seine Anwendungsfälle und Vorteile, die wichtigsten Features, wie er funktioniert sowie seine Einschränkungen.

Bemerkung

Snowflake High Performance connector for Kafka ist ein Sink-Konnektor, der Daten aus Kafka-Topics liest und diese Daten in Snowflake-Tabellen lädt. Weitere Informationen zu Kafka Connect und seinem Framework finden Sie unter Das Apache Kafka und Kafka Connect Framework.

Vorteile

Snowflake High Performance 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.

  • Vereinfachte Abrechnung: Sorgt für eine transparente, durchsatzbasierte Abrechnung, die die Kosten vorhersehbar und verständlicher macht.

  • 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.

  • 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 Funktionsweise des Konnektors mit Tabellen und 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

    Der leistungsstarke Snowflake-Konnektor für Kafka ist noch nicht auf Confluent Cloud verfügbar. Wenn Sie Confluent Cloud verwenden, müssen Sie den Konnektor manuell als benutzerdefinierten Plugin-Konnektor installieren.

    Die Confluent-Version ist als ZIP-Datei für die Installation über Confluent Hub oder Confluent Control Center 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 oder Confluent Cloud verwenden.

    Wenden Sie sich an den Snowflake-Support, um die Confluent-Version des Konnektors zu erhalten und zu installieren.

    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 Erstellen einer Apache Iceberg™-Tabelle für die Datenaufnahme.

Einschränkungen

Snowflake High Performance 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 Konnektor unterstützt keine Migration der bestehenden Pipelines von Version 3.x und niedriger. Sie müssen die vorhandenen Pipelines manuell auf den neuen Konnektor migrieren. Stellen Sie sicher, dass bestehende Pipelines nicht auf Features angewiesen sind, die für diesen Konnektor noch nicht verfügbar sind.

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.

Nicht alle beschädigten Datensätze werden vom Konnektor an die Dead Letter Queue (DLQ) gesendet

Bei Konfiguration mit errors.tolerance=all und errors.deadletterqueue.topic.name garantiert der Konnektor die Bereitstellung höchstens einmal. Nur nicht konvertierbare Datensätze werden über Kafka Connect an die DLQ gesendet. Datensätze, die bei der Snowflake-Erfassung fehlschlagen, werden nicht dorthin weitergeleitet. Snowpipe Streaming kann erkennen, dass Datensätze fehlgeschlagen sind, aber nicht welche Datensätze.

Für beschädigte Datensätze, die nicht erfasst wurden, muss ein neuer Versuch vorgenommen werden.

Wenn errors.tolerance=none und rows_error_count erhöht wird, schlägt die Konnektor-Aufgabe fehl. Um beschädigte Datensätze erneut zu verarbeiten, überprüfen Sie den Kanalverlauf, um die beschädigten Datensätze zu finden. Weitere Informationen zur Problembehandlung bei defekten Datensätzen und Datenaufnahmefehlern finden Sie unter Fehlerbehandlung. Sie können auch die unter Metadaten-Offsets zum Erkennen und Wiederherstellen von Fehlern verwenden beschriebene Lückensuchmethode verwenden. Die für die Verwendung dieser Technik benötigten Informationen zum Kafka-Offset sind in der Spalte RECORD_METADATA verfügbar.

Einschränkungen der Fehlertoleranz mit dem Konnektor

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.

Snowflake-Unterstützung für den Konnektor

Die folgende Tabelle beschreibt die unterstützten Versionen und Informationen zu Pre-Releases und Release-Kandidaten.

Release-Serie

Status

Anmerkungen

4.x.x

Private Vorschau

Frühzeitiger Zugriff. Derzeit wird die Migration von 3.x und 2.x nicht unterstützt.

3.x.x

Offiziell unterstützt

Neueste Version und dringend empfohlen.

2.x.x

Offiziell unterstützt

Upgrade empfohlen.

1.x.x

Nicht unterstützt

Die folgenden Features werden nicht unterstützt:

Grundlegende Änderungen in der Preview-Version

Eine Liste der grundlegenden Änderungen finden Sie in den Versionshinweisen der Preview-Versionen

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 High Performance connector for Kafka zu erhalten.