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.