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 of the connector

    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.

    The Confluent version is packaged as a zip file for installation through Confluent Hub or Confluent Control Center and includes all external libraries required to run the connector.

    Choose this version if you’re using the Confluent Platform or Confluent Cloud.

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

    For more information, see Kafka Connect.

  • OSS Apache Kafka version of the connector

    Verfügbar unter Open-Source-Software (OSS) Apache Kafka-Paket.

    The Apache version is distributed as a standard fat JAR file and requires manual installation into your Apache Kafka Connect cluster. This version requires Bouncy Castle cryptography libraries that must be downloaded separately.

    For more information, see 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

The connector does not support migration of the existing pipelines from version 3.x and earlier. You must manually migrate the existing pipelines to the new connector. Ensure that existing pipelines don’t rely on any features that are not yet available with this connector.

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.

Not all broken records are sent to Dead Letter Queue (DLQ) by the connector

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.

When errors.tolerance=none and rows_error_count increases, the connector task fails. To retry broken records, review the channel history to find the broken records. For more information about troubleshooting broken records and ingestion errors see error handling. You can also use gap finding technique described in Metadaten-Offsets zum Erkennen und Wiederherstellen von Fehlern verwenden. Kafka offset information needed to use this technique is available in the RECORD_METADATA column.

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 support for the connector

The following table describes the supported versions and information about pre-release and release candidates.

Release-Serie

Status

Anmerkungen

4.x.x

Private Vorschau

Early access. Currently the migration from 3.x and 2.x is not supported.

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:

Breaking changes in the Preview version

See the release notes for the Preview versions for a list of breaking changes

Nächste Schritte

Review how the connector works topic for more information about how the connector works with tables and pipes. . Review Einrichten von Aufgaben für den Snowflake High Performance connector for Kafka topic for the steps to set up the Snowflake High Performance connector for Kafka.