Apache Kafka für JSON/AVRO-Datenformat¶
Bemerkung
Der Konnektor unterliegt den Bedingungen für Konnektoren.
Unter diesem Thema werden die Apache Kafka-Konnektoren für die Datenformate JSON und AVRO beschrieben. Dabei handelt es sich um vereinfachte Konnektoren, die für die einfache Aufnahme von Meldungen mit Schemaentwicklung und Zuordnung von Themen zu Tabellen optimiert sind.
Konnektorvarianten¶
JSON-Datenformatkonnektor¶
Der Apache Kafka Connector für JSON-Datenformat wurde für die unkomplizierte Aufnahme von JSON-Meldungen von Kafka-Topics in Snowflake-Tabellen.
Wichtige Features:
Unterstützung des JSON-Meldungsformats
Schemaentwicklung
Topic-to-table mapping
SASL Authentifizierung
AVRO-Datenformatkonnektor¶
Der Apache Kafka für AVRO-Datenformat-Konnektor wurde für die AVRO-Aufnahme von Meldungen aus Kafka-Themen in Snowflake-Tabellen mit Schema-Registry-Unterstützung entwickelt.
Wichtige Features:
Unterstützung des AVRO-Meldungsformats
Integration der Schema Registry
Schemaentwicklung
Topic-to-table mapping
SASL Authentifizierung
Spezifische Parameter¶
Zusätzlich zu den allgemeinen Parametern, die in Einrichten von Openflow Connector für Kafka beschrieben sind, haben diese Konnektoren spezifische Parameterkontexte.
Schema-Registrierungsparameter (nurAVRO-Konnektor)¶
Der AVRO-Konnektor enthält zusätzliche Parameter für die Schema-Registry-Integration:
Parameter |
Beschreibung |
Erforderlich |
---|---|---|
Schema Registry Authentication Type |
Die Methode zur Authentifizierung bei der Schema-Registry, falls verwendet. Andernfalls verwenden Sie NONE. Eine der folgenden Optionen: NONE / BASIC. Standard: NONE |
Ja |
Schema Registry URL |
Die URL der Schema Registry. Erforderlich für das AVRO-Meldungsformat. |
Nein |
Schema Registry Username |
Der Benutzername für die Schema Registry. Erforderlich für das AVRO-Meldungsformat. |
Nein |
Schema Registry Password |
Das Kennwort für die Schema Registry. Erforderlich für das AVRO-Meldungsformat. |
Nein |
AVRO Schema Access Strategy |
Die Methode für den Zugriff auf das AVRO-Schema einer Meldung. Erforderlich für AVRO. Eine der folgenden Optionen: embedded-avro-schema / schema-reference-reader / schema-text-property. Standard: embedded-avro-schema |
Nein |
Schema AVRO |
Avro-Schema für den Fall, dass „schema-text-property“ in „AVRO Schema Access Strategy“ mit dem AVRO-Meldungsformat verwendet wird. Hinweis: Dies sollte nur verwendet werden, wenn alle Meldungen, die von dem/den konfigurierten Kafka-Thema/Themen konsumiert werden, dasselbe Schema haben. |
Nein |
Einschränkungen¶
Diese vereinfachten Konnektoren haben im Vergleich zum voll funktionsfähigen DLQ und Metadaten-Konnektor die folgenden Beschränkungen:
Keine RECORD_METADATA-Spalte – Kafka-Metadaten sind nicht in den Zieltabellen gespeichert.
Keine Dead Letter Queue (DLQ) –Fehlgeschlagene Meldungen werden nicht an ein DLQ Thema weitergeleitet.
Keine Unterstützung für Iceberg-Tabellen – Nur reguläre Snowflake-Tabellen werden unterstützt
Feste Schematisierung – Die Schemaerkennung ist immer aktiviert und kann nicht deaktiviert werden.
Bemerkung
Die Schemaerkennung ist bei diesen Konnektoren standardmäßig aktiviert und kann nicht deaktiviert werden. Das bedeutet, dass die Meldungsfelder automatisch in einzelne Tabellenspalten vereinfacht werden, wobei das Schema automatisch weiterentwickelt wird.
Anwendungsfälle¶
Diese Konnektoren sind ideal für:
- Einfache Datenaufnahme
Wenn Sie nur den Inhalt der Meldung ohne Kafka-Metadaten benötigen.
- Szenarien mit hohem Durchsatz
Wo die vereinfachte Datenstruktur die Leistung verbessert.
- Anwendungsfälle der Schemaentwicklung
Wenn automatische Aktualisierungen des Tabellenschemas erforderlich sind
- JSON- oder AVRO-Meldungsformate
Mit einheitlichen Schemas
Wenn Sie Kafka-Metadaten, DLQ-Unterstützung oder die Erfassung von Iceberg-Tabellen benötigen, verwenden Sie stattdessen den Apache Kafka mit DLQ und Metadaten-Konnektor.
Schemaerkennung und -entwicklung¶
Diese Konnektoren unterstützen die automatische Schemaerkennung und -entwicklung. Die Struktur der Tabellen in Snowflake wird automatisch definiert und weiterentwickelt, um die Struktur der neuen, vom Konnektor geladenen Daten zu unterstützen.
Wenn die Schemaerkennung aktiviert ist (was bei diesen Konnektoren immer der Fall ist), kann Snowflake das Schema der Streaming-Daten erkennen und Daten in Tabellen laden, die automatisch jedem benutzerdefinierten Schema entsprechen. Snowflake ermöglicht auch das Hinzufügen von neuen Spalten oder das Löschen der NOT NULL
-Einschränkung von Spalten, die in den neuen Datendateien fehlen.
Die Schemaerkennung mit dem Konnektor wird mit oder ohne eine bereitgestellte Schema-Registry unterstützt. Bei Verwendung einer Schema-Registrierung (Avro) wird die Spalte mit den in der bereitgestellten Schema-Registrierung definierten Datentypen erstellt. Wenn es kein Schemaregister (JSON) gibt, wird der Datentyp von den bereitgestellten Daten abgeleitet.
JSON ARRAY wird für weitere Schematisierungen nicht unterstützt.
Verhaltensweise bei Schemaentwicklung¶
Wenn der Konnektor die Zieltabelle erstellt, ist die Schemaentwicklung standardmäßig aktiviert.
ENABLE_SCHEMA_EVOLUTION
Wenn Sie die Schemaentwicklung für eine bestehende Tabelle aktivieren oder deaktivieren möchten, verwenden Sie den Befehl ALTER TABLE, um den Parameter zu setzen. Sie müssen außerdem eine Rolle verwenden, die über die OWNERSHIP
-Berechtigung für die Tabelle verfügt. Weitere Informationen dazu finden Sie unter Tabellenschemaentwicklung.