Einrichten von Openflow Connector für Kafka

Bemerkung

Der Konnektor unterliegt den Bedingungen für Konnektoren.

Voraussetzungen

  1. Stellen Sie sicher, dass Sie Openflow Connector für Kafka gelesen haben.

  2. Vergewissern Sie sich, dass Sie Openflow eingerichtet haben.

Konnektortypen

Der Openflow Connector für Kafka ist in drei verschiedenen Konfigurationen erhältlich, die jeweils für bestimmte Anwendungsfälle optimiert sind. Sie können diese Konnektordefinitionen aus der Konnektorgalerie herunterladen:

Apache Kafka für das JSON-Datenformat

Vereinfachter Konnektor für die Aufnahme von JSON-Meldungen mit Schemaentwicklung und Zuordnung von Themen zu Tabellen

Apache Kafka für das AVRO-Datenformat

Vereinfachter Konnektor für die Aufnahme von AVRO-Meldungen mit Schemaentwicklung und Zuordnung von Themen zu Tabellen

Apache Kafka mit DLQ und Metadaten

Voll funktionsfähiger Konnektor mit Unterstützung für Dead Letter Queue (DLQ), Metadatenverarbeitung und gleichwertigen Features wie der ältere Snowflake Connector füf Kafka

Informationen zur detaillierte Konfiguration bestimmter Konnektortypen finden Sie unter:

Snowflake-Konto einrichten

Als Snowflake-Kontoadministrator führen Sie die folgenden Aufgaben aus:

  1. Erstellen Sie eine neue Rolle oder verwenden Sie eine vorhandene Rolle und erteilen Sie die Berechtigungen von Datenbanken.

  2. Erstellen Sie einen neuen Benutzer für den Snowflake-Dienst mit dem Typ SERVICE.

  3. Weisen Sie dem Benutzer des Snowflake-Dienstes die Rolle zu, die Sie in den vorherigen Schritten erstellt haben.

  4. Konfigurieren Sie mit Schlüsselpaar-Authentifizierung für den Snowflake SERVICE-Benutzer aus Schritt 2.

  5. Snowflake empfiehlt diesen Schritt dringend. Konfigurieren Sie einen von Openflow unterstützten Geheimnismanager, z. B. AWS, Azure und Hashicorp, und speichern Sie die öffentlichen und privaten Schlüssel im Geheimnisspeicher.

    Bemerkung

    Wenn Sie aus irgendeinem Grund keinen Geheimnismanager verwenden möchten, sind Sie dafür verantwortlich, die für die Schlüsselpaar-Authentifizierung verwendeten öffentlichen und privaten Schlüsseldateien gemäß den Sicherheitsrichtlinien Ihrer Organisation zu schützen.

    1. Nachem der Geheimnismanager konfiguriert ist, legen Sie fest, wie Sie sich bei ihm authentifizieren möchten. Auf AWS wird empfohlen, die mit Openflow verknüpfte EC2-Instanzrolle zu verwenden, da auf diese Weise keine weiteren Geheimnisse gespeichert werden müssen.

    2. Konfigurieren Sie in Openflow einen mit diesem Geheimnismanager verknüpften Parameter Provider über das Hamburger-Menü oben rechts. Navigieren Sie zu Controller Settings » Parameter Provider, und rufen Sie Ihre Parameterwerte ab.

    3. Zu diesem Zeitpunkt können alle Anmeldeinformationen mit den zugehörigen Parameterpfaden referenziert werden, und es müssen keine sensiblen Werte innerhalb von Openflow aufbewahrt werden.

  6. Wenn andere Snowflake-Benutzer Zugriff auf die vom Konnektor aufgenommenen Rohdokumente und -tabellen benötigen (z. B. für die benutzerdefinierte Verarbeitung in Snowflake), weisen Sie diesen Benutzern die in Schritt 1 erstellte Rolle zu.

  7. Bestimmen Sie ein Warehouse, das der Konnektor verwenden soll. Beginnen Sie mit der kleinsten Warehouse-Größe und experimentieren Sie dann mit der Größe in Abhängigkeit von der Anzahl der zu replizierenden Tabellen und der Menge der übertragenen Daten. Große Tabellenzahlen lassen sich in der Regel besser mit Multi-Cluster-Warehouses skalieren als mit größeren Warehouse-Größen.

Einrichten des Konnektors

Als Data Engineer führen Sie die folgenden Aufgaben aus, um den Konnektor zu installieren und zu konfigurieren:

Konnektor installieren

  1. Navigieren Sie zur Openflow-Übersichtsseite. Wählen Sie im Abschnitt Featured connectors die Option View more connectors aus.

  2. Suchen Sie auf der Seite Openflow-Konnektoren den Konnektor und wählen Sie Add to runtime.

  3. Wählen Sie im Dialog Select runtime Ihre Laufzeit aus der Dropdown-Liste Available runtimes aus.

  4. Wählen Sie Add aus.

    Bemerkung

    Bevor Sie den Konnektor installieren, stellen Sie sicher, dass Sie in Snowflake eine Datenbank und ein Schema für den Konnektor erstellt haben, in dem die aufgenommenen Daten gespeichert werden.

  5. Authentifizieren Sie sich bei der Bereitstellung mit den Anmeldedaten Ihres Snowflake-Kontos und wählen Sie Allow, wenn Sie dazu aufgefordert werden, damit die Laufzeitanwendung auf Ihr Snowflake-Konto zugreifen kann. Die Installation des Konnektors nimmt einige Minuten in Anspruch.

  6. Authentifizieren Sie sich bei der Laufzeit mit den Anmeldeinformationen Ihres Snowflake-Kontos.

Das Openflow-Canvas wird mit der hinzugefügten Prozessgruppe des Konnektors angezeigt.

Konnektor konfigurieren

  1. Befüllen Sie die Prozessgruppenparameter

    1. Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Parameter aus.

    2. Füllen Sie die erforderlichen Parameterwerte aus, wie unter Allgemeine Parameter beschrieben.

Allgemeine Parameter

Alle Kafka-Konnektorvarianten verfügen über gemeinsame Parameterkontexte für die grundlegende Konnektivität und Authentifizierung.

Snowflake-Zielsystemparameter

Parameter

Beschreibung

Erforderlich

Destination Database

Die Datenbank, in der die Daten persistiert werden. Sie muss bereits in Snowflake vorhanden sein

Ja

Destination Schema

Das Schema, in dem die Daten persistiert werden. Sie muss bereits in Snowflake vorhanden sein

Ja

Snowflake Account Identifier

Snowflake-Kontoname im Format [organisation-name]-[account-name], in dem die Daten gespeichert werden

Ja

Snowflake Authentication Strategy

Strategie zur Authentifizierung bei Snowflake. Mögliche Werte: SNOWFLAKE_SESSION_TOKEN – wenn wir den Ablauf auf SPCS ausführen, KEY_PAIR, wenn wir den Zugriff mit einem privaten Schlüssel einrichten wollen

Ja

Snowflake Private Key

Der private RSA Schlüssel, der für die Authentifizierung verwendet wird. Der RSA-Schlüssel muss nach den PKCS8-Standards formatiert sein und den Standard-PEM-Header und -Footer enthalten. Beachten Sie, dass entweder Snowflake Private Key File oder Snowflake Private Key definiert sein muss

Nein

Snowflake Private Key File

Die Datei, die den privaten RSA-Schlüssel enthält, der für die Authentifizierung bei Snowflake verwendet wird. Sie ist nach den PKCS8-Standards formatiert und hat die Standard-PEM-Header und -Footer. Die Header beginnt mit -----BEGIN PRIVATE. Aktivieren Sie das Kontrollkästchen Reference asset, um die private Schlüsseldatei hochzuladen.

Nein

Snowflake Private Key Password

Das Kennwort, das mit der Snowflake Private Key-Datei verknüpft ist

Nein

Snowflake Role

Snowflake-Rolle, die bei der Ausführung der Abfrage verwendet wird

Ja

Snowflake-Benutzername

Benutzername für die Verbindung zur Snowflake-Instanz

Ja

Snowflake Warehouse

Snowflake Warehouse zur Ausführung von Abfragen

Ja

Kafka-Quellsystemparameter (SASL-Authentifizierung)

Parameter

Beschreibung

Erforderlich

Kafka-Sicherheitsprotokoll

Sicherheitsprotokoll, das für die Kommunikation mit Brokern verwendet wird. Entspricht der Eigenschaft „security.protocol“ des Kafka-Clients. Eine der folgenden Optionen: SASL_PLAINTEXT / SASL_SSL

Ja

Kafka SASL Mechanism

SASL-Mechanismus, der für die Authentifizierung verwendet wird. Entspricht der Eigenschaft „sasl.mechanism“ des Kafka-Clients. Eine der folgenden Optionen PLAIN / SCRAM-SHA-256 / SCRAM-SHA-512

Ja

Kafka SASL Username

Der Benutzername für die Authentifizierung bei Kafka

Ja

Kafka SASL Password

Das Kennwort für die Authentifizierung bei Kafka

Ja

Kafka Bootstrap Servers

Eine durch Kommas getrennte Liste des Kafka-Broker, von dem Daten abgerufen werden sollen. Sie sollte den Port enthalten, zum Beispiel „kafka-broker:9092“. Dieselbe Instanz wird für das DLQ-Thema verwendet.

Ja

Aufnahmeparameter für Kafka

Parameter

Beschreibung

Erforderlich

Kafka Topic Format

Eine der folgenden Optionen: Namen / Muster. Gibt an, ob es sich bei den angegebenen „Kafka Topics“ um eine durch Kommas getrennte Liste von Namen oder um einen einzelnen regulären Ausdruck handelt.

Ja

Kafka Topics

Eine durch Kommas getrennte Liste von Kafka-Themen oder ein regulärer Ausdruck.

Ja

Kafka Group Id

Die ID einer Verbrauchergruppe, die vom Konnektor verwendet wird. Kann beliebig gewählt werden, muss jedoch eindeutig sein.

Ja

Kafka Auto Offset Reset

Automatische Offset-Konfiguration, wenn kein vorheriger Verbraucher-Offset gefunden wird, der der Kafka-Eigenschaft auto.offset.reset entspricht. Eine der folgenden Optionen: früheste / späteste. Voreinstellung: latest

Ja

Topic To Table Map

Mit diesem optionalen Parameter kann der Benutzer festlegen, welche Themen welchen Tabellen zugeordnet werden sollen. Jedes Thema und sein Tabellenname müssen durch einen Doppelpunkt getrennt werden. Dieser Tabellenname muss ein gültiger Snowflake-Bezeichner ohne Anführungszeichen sein. Die regulären Ausdrücke dürfen nicht mehrdeutig sein – jedes übereinstimmende Thema darf nur mit einer einzigen Zieltabelle übereinstimmen. Wenn leer oder keine Treffer gefunden wurden, wird der Name des Themas als Tabellenname verwendet. Hinweis: Die Zuordnung darf keine Leerzeichen nach Kommas enthalten.

Nein

Topic To Table Map Beispielwerte:

  • topic1:low_range,topic2:low_range,topic5:high_range,topic6:high_range

  • topic[0-4]:low_range,topic[5-9]:high_range

  • .*:destination_table - maps all topics to the destination_table

Konfiguration variantenspezifischer Einstellungen

Nachdem Sie die allgemeinen Parameter konfiguriert haben, müssen Sie die spezifischen Einstellungen für Ihre gewählte Konnektorvariante konfigurieren:

Für die Konnektoren Apache Kafka für JSON-Datenformat und Apache Kafka für AVRO-Datenformat:

Siehe Apache Kafka für JSON/AVRO-Datenformat für JSON-/AVRO-spezifische Parameter.

Für Apache Kafka mit DLQ und Metadaten-Konnektor:

Siehe Apache Kafka mit DLQ und Metadaten für erweiterte Parameter, einschließlich der DLQ-Konfiguration, Schematisierungseinstellungen, Unterstützung von Iceberg-Tabellen und Optionen für das Meldungsformat.

Authentifizierung

Alle Konnektorvarianten unterstützen die SASL-Authentifizierung, die über Parameterkontexte konfiguriert wird, wie in Kafka-Quellparameter (SASL-Authentifizierung) beschrieben.

Für andere Authentifizierungsmethoden, einschließlich mTLS und AWS MSK IAM, siehe Andere Authentifizierungsmethoden für Openflow Connector für Kafka konfigurieren.

Führen Sie den Ablauf aus

  1. Klicken Sie mit der rechten Maustaste auf die Ebene, und klicken Sie dann auf Enable all Controller Services.

  2. Klicken Sie mit der rechten Maustaste auf die Ebene und klicken Sie auf Start. Der Konnektor beginnt mit der Datenaufnahme.