Apache Kafka pour le format de données JSON/AVRO

Note

Le connecteur est soumis aux conditions d’utilisation du connecteur.

Cette rubrique décrit les connecteurs Apache Kafka pour les formats de données JSON et AVRO. Il s’agit de connecteurs simplifiés optimisés pour l’ingestion de messages de base avec des capacités d’évolution du schéma et de mappage sujet-table.

Variantes de connecteur

Connecteur de format de données JSON

Apache Kafka pour connecteur de format de données JSON est conçu pour l’ingestion directe de messages JSON depuis des sujets Kafka vers des tables Snowflake Connector.

Fonctionnalités clés :

  • Prise en charge du format des messages JSON

  • Évolution du schéma

  • Mappage sujet-table

  • Authentification SASL

Connecteur de format de données AVRO

Apache Kafka pour connecteur de format de données AVRO est conçu pour l’ingestion directe de messages AVRO depuis des sujets Kafka vers des tables Snowflake avec prise en charge du registre des schémas.

Fonctionnalités clés :

  • Prise en charge du format des messages AVRO

  • Intégration du registre des schémas

  • Évolution du schéma

  • Mappage sujet-table

  • Authentification SASL

Paramètres spécifiques

Outre les paramètres communs décrits dans Paramétrage du connecteur Openflow pour Kafka, ces connecteurs ont des contextes de paramètres spécifiques.

Paramètres du registre des schémas (uniquement pour le connecteurAVRO)

Le connecteur AVRO comprend des paramètres supplémentaires pour l’intégration du registre des schémas :

Paramètre

Description

Obligatoire

Type d’authentification du registre du schéma

La méthode d’authentification au registre des schémas, si elle est utilisée. Sinon, utilisez NONE. Une des options : NONE / BASIC. Par défaut : NONE

Oui

URL du registre des schémas

L’URL du registre des schémas. Exigence pour le format du message AVRO.

Non

Nom d’utilisateur du registre des schémas

Le nom d’utilisateur pour le registre des schémas. Exigence pour le format du message AVRO.

Non

Mot de passe du registre des schémas

Le mot de passe pour le registre des schémas. Exigence pour le format du message AVRO.

Non

Stratégie d’accès au schéma AVRO

La méthode d’accès au schéma AVRO d’un message. Obligatoire pour AVRO. L’un des éléments suivants : embedded-avro-schema / schema-reference-reader / schema-text-property. Valeur par défaut : embedded-avro-schema

Non

Schéma AVRO

Schéma Avro dans le cas où schema-text-property est utilisé dans la stratégie d’accès au schéma AVRO avec le format de message AVRO. Remarque : cette option ne doit être utilisée que dans le cas où tous les messages consommés à partir du ou des sujets Kafka configurés partagent le même schéma.

Non

Limitations

Ces connecteurs simplifiés présentent les limites suivantes par rapport au connecteur complet de DLQ et de métadonnées :

  • Pas de colonne RECORD_METADATA - Les métadonnées Kafka ne sont pas stockées dans les tables cibles

  • Pas de file d’attente de lettres mortes (DLQ) - Les messages qui échouent ne sont pas routés vers un sujet DLQ

  • Pas de support pour les tables Snowflake - Seules les tables Snowflake régulières sont supportées

  • Correction de la schématisation - La détection des schémas est toujours activée et ne peut pas être désactivée

Note

La détection des schémas est activée par défaut dans ces connecteurs et ne peut pas être désactivée. Cela signifie que les champs de messages sont automatiquement aplatis en colonnes de tables individuelles avec évolution automatique du schéma.

Cas d’utilisation

Ces connecteurs sont idéaux pour :

Une ingestion simple des données

Lorsque vous n’avez besoin que du contenu du message sans les métadonnées Kafka.

Scénarios à haut débit

Lorsque la structure simplifiée des données améliore les performances.

Cas d’utilisation de l’évolution des schémas

Lorsque des mises à jour automatiques du schéma des tables sont exigées

Formats de messages JSON ou AVRO

Avec des schémas cohérents

Si vous avez besoin de métadonnées Kafka, du support DLQ ou de l’ingestion de tables Iceberg, utilisez plutôt le connecteur Apache Kafka avec DLQ et métadonnées.

Détection et évolution des schémas

Ces connecteurs prennent en charge la détection et l’évolution automatiques des schémas. La structure des tables dans Snowflake est définie et évolue automatiquement pour supporter la structure des nouvelles données chargées par le connecteur.

Lorsque la détection des schémas est activée (ce qui est toujours le cas pour ces connecteurs), Snowflake peut détecter le schéma des données en flux et charger les données dans des tables qui correspondent automatiquement à tout schéma défini par l’utilisateur. Snowflake permet également d’ajouter de nouvelles colonnes ou de supprimer la NOT NULL contrainte des colonnes manquantes dans les nouveaux fichiers de données.

La détection des schémas avec le connecteur est possible avec ou sans registre de schémas fourni. Si vous utilisez le registre des schémas (Avro), la colonne sera créée avec les types de données définis dans le registre des schémas fourni. En l’absence de registre de schéma (JSON), le type de données sera déduit sur la base des données fournies.

Le ARRAY JSON n’est pas pris en charge pour une schématisation plus poussée.

Comportement de l’évolution des schémas

Si le connecteur crée la table cible, l’évolution du schéma est activée par défaut.

Si vous souhaitez activer ou désactiver l’évolution du schéma sur une table existante, utilisez la commande ALTER TABLE afin d’ensemble le paramètre ENABLE_SCHEMA_EVOLUTION. Vous devez également utiliser un rôle qui a le privilège OWNERSHIP sur la table. Pour plus d’informations, voir Évolution du schéma de table.