Snowflake High Performance connector for Kafka¶
Ce chapitre décrit les concepts de base du Snowflake High Performance connector for Kafka, ses cas d’utilisation et ses avantages, ses fonctionnalités clés et ses limites.
Note
Le Snowflake High Performance connector for Kafka est un connecteur récepteur qui lit les données des sujets Kafka et les charge dans des tables Snowflake. Pour plus d’informations sur Kafka Connect et son framework, voir Apache Kafka et framework Kafka Connect.
Avantages¶
Le Snowflake High Performance connector for Kafka exploite l’architecture Snowpipe Streaming hautes performances de Snowflake, qui est conçue pour les organisations modernes, à forte intensité de données, qui exigent des informations en quasi temps réel. Cette architecture nouvelle génération améliore considérablement le débit, l’efficacité et la flexibilité pour l’ingestion en temps réel dans Snowflake.
L’architecture hautes performances offre plusieurs avantages clés :
Débit supérieur et latence : conçue pour prendre en charge des vitesses d’ingestion pouvant atteindre 10 GB/s par table avec ingestion de bout en bout pour interroger des latences de 5 à 10 secondes, permettant des analyses en temps quasi réel.
Facturation simplifiée : fournit une facturation transparente basée sur le débit, ce qui rend les coûts plus prévisibles et plus faciles à comprendre.
Performances améliorées : utilise un cœur client basé sur Rust qui offre de meilleures performances côté client et une utilisation moindre des ressources par rapport aux implémentations précédentes.
Transformations en cours : Prend en charge le nettoyage et la transformation des données lors de l’ingestion à l’aide de la syntaxe de la commande COPY dans l’objet PIPE, vous permettant de transformer les données avant qu’elles n’atteignent la table cible.
Validation des schémas côté serveur : déplace la validation des schémas du côté client vers le côté serveur via l’objet PIPE, garantissant la qualité des données et réduisant la complexité du client.
Capacité de pré-clustering : peut regrouper les données lors de l’ingestion lorsque la table cible possède des clés de clustering définies, ce qui améliore les performances des requêtes sans nécessiter de maintenance après l’ingestion.
Le connecteur utilise les objets Snowflake PIPE comme composant central de la gestion de l’ingestion. L’objet PIPE agit en tant que point d’entrée et couche de définition pour toutes les données en continu, définissant comment les données sont traitées, transformées et validées avant d’être validées dans la table cible. Pour plus d’informations sur la manière dont le connecteur fonctionne avec les tables et les canaux, voir Comment le connecteur fonctionne-t-il avec les tables et les canaux ?.
Sélection d’une version de connecteur¶
Le connecteur Kafka fonctionne dans un cluster Kafka Connect. Il lit les données des sujets Kafka et écrit dans des tables Snowflake.
Snowflake fournit deux versions du connecteur. Les deux versions du connecteur offrent la même fonctionnalité de base pour le flux de données de Kafka vers Snowflake.
Confluent version of the connector
Le connecteur Snowflake Connector haute performance pour Kafka n’est pas encore disponible sur Confluent Cloud. Si vous utilisez Confluent Cloud, vous devez installer le connecteur manuellement en tant que connecteur de plugin personnalisé.
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.
Veuillez contacter l’assistance de Snowflake pour obtenir et installer la version Confluent du connecteur.
For more information, see Kafka Connect.
OSS Apache Kafka version of the connector
Disponible depuis le paquet logiciel open source (OSS) Paquet Apache Kafka.
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.
Utilisation du connecteur avec les tables Apache Iceberg™¶
Le connecteur peut ingérer des données dans une table Apache Iceberg™ gérée par Snowflake. Avant de configurer le connecteur Kafka pour l’ingestion de tables Iceberg, vous devez créer une table Iceberg. Pour plus d’informations, voir Créer une table Apache Iceberg™ pour l’ingestion.
Limitations¶
Le Snowflake High Performance connector for Kafka a les limitations suivantes :
- Tables Apache Iceberg™ et évolution du schéma
Le connecteur ne prend pas en charge l’évolution du schéma pour les tables Apache Iceberg™.
- Migration des pipelines existants à partir de la version 3.x et inférieure
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.
- Transformations de message unique (SMTs) :
La plupart des transformations de message unique (SMTs) sont pris en charge lors de l’utilisation de convertisseurs communautaires, à l’exception de
regex.routerqui n’est actuellement pas pris en charge.- Not all broken records are sent to Dead Letter Queue (DLQ) by the connector
Une fois
errors.tolerance=alleterrors.deadletterqueue.topic.nameconfigurés, le connecteur garantit la livraison au maximum une fois. Seuls les enregistrements non convertis sont envoyés à la DLQ par Kafka Connect. Les enregistrements qui échouent lors de l’ingestion dans Snowflake ne sont pas acheminés vers celle-ci ; Snowpipe Streaming peut détecter que des enregistrements ont échoué, mais pas lesquels précisément.- Les enregistrements interrompus qui n’ont pas pu être ingérés doivent être réessayés manuellement
When
errors.tolerance=noneandrows_error_countincreases, 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 Détecter les erreurs et y remédier à l’aide des décalages de métadonnées. Kafka offset information needed to use this technique is available in theRECORD_METADATAcolumn.
Limitations de la tolérance aux pannes avec le connecteur¶
Les sujets Kafka peuvent être configurés avec une limite d’espace de stockage ou de durée de conservation.
Si le système est hors ligne pendant une durée supérieure à la durée de conservation, les enregistrements expirés ne seront pas chargés. De même, si la limite d’espace de stockage de Kafka est dépassée, certains messages ne seront pas remis.
Si les messages du sujet Kafka sont supprimés, ces modifications risquent de ne pas être reflétées dans la table Snowflake.
Pour plus d’informations sur les SMTs, voir Référence de transformation de message Kafka Connect pour Confluent Cloud ou Confluent Platform.
Snowflake support for the connector¶
The following table describes the supported versions and information about pre-release and release candidates.
Série de versions |
Statut |
Remarques |
|---|---|---|
4.x.x |
Avant-première privée |
Early access. Currently the migration from 3.x and 2.x is not supported. |
3.x.x |
Officiellement pris en charge |
Dernière version et fortement recommandée. |
2.x.x |
Officiellement pris en charge |
Mise à niveau recommandée. |
1.x.x |
Non pris en charge |
Les fonctionnalités suivantes ne sont pas prises en charge :
Breaking changes in the Preview version¶
See the release notes for the Preview versions for a list of breaking changes
Prochaines étapes¶
Review how the connector works topic for more information about how the connector works with tables and pipes. . Review Configurer des tâches pour le Snowflake High Performance connector for Kafka topic for the steps to set up the Snowflake High Performance connector for Kafka.