Comment installer Azure Data Factory (ADF) ) Connecteur Snowflake à utiliser

(Mohini Kalamkar) (3 décembre 2020)

Les entreprises ont leurs données stockées dans divers endroits, des bases de données internes aux plates-formes SaaS. Pour obtenir des informations sur ces données, vous devez extraire et charger les données de diverses sources dans un entrepôt de données ou un lac de données. Pour connecter ou créer des pipelines de données ETL / ELT parfois assez complexes, les entreprises préfèrent utiliser des outils modernes tels que Matillion, Azure Data Factory, Fivetran, Talend Stitch et bien dautres. En fonction de votre architecture et de vos besoins en données, vous pouvez choisir un ou plusieurs outils ETL / ELT pour votre cas dutilisation.

Récemment, jai eu loccasion dexplorer les deux Matillion et Azure Data Factory (ADF) pour charger des données dans Snowflakes Data Cloud . La plupart de cet article sera axé sur mon expérience avec ADF, mais je vais également aborder brièvement Matillion.

Avant dentrer dans la discussion sur les outils dintégration de données, si vous envisagez une plate-forme de données cloud dans lun des 3 principaux nuages ​​publics, je vous recommande de vérifier Snowflake. Snowflake continue dimpressionner avec un service efficace et rentable qui vérifie toutes les cases clés de notre équipe chez Hashmap, et cest une première solution SQL avec laquelle vous pouvez être opérationnel très rapidement.

Réflexions rapides sur Matillion

Jai trouvé que Matillion a un niveau de maturité supplémentaire par rapport à ADF en ce qui concerne lintégration de sources avec Snowflake. En particulier:

  • Excellente interface utilisateur
  • Alter Warehouse pour augmenter et réduire la taille de chaque tâche
  • Créer un composant de format de fichier (crée un format de fichier nommé qui peut être utilisé pour le chargement en masse de données dans et le déchargement de données hors des tables Snowflake)

Léquipe Microsoft ADF travaille toujours pour ajouter certaines de ces fonctionnalités au connecteur ADF pour Snowflake.

Le connecteur ADF Snowflake

Passons maintenant au connecteur ADF Snowflake . Je vais couvrir plusieurs sujets énumérés ci-dessous:

  1. Utilisation du connecteur ADF Snowflake – Implémentation de SCD type 1 .
  2. Capacités du connecteur ADF Snowflake.
  3. Limitations du connecteur ADF Snowflake (au moment de la rédaction de ce document).

Azure Data Factory (ADF) est le service cloud dAzure qui vous permet de créer des flux de travail basés sur les données pour orchestrer et automatiser le mouvement et la transformation des données.

ADF dispose dune gamme de connecteurs intégrés qui permettent lintégration avec diverses sources de données et cibles, et en juin 2020, léquipe dingénierie de Microsoft ADF a ajouté la prise en charge de Snowflake en tant que magasin de données cible.

Une note rapide que jai également eu besoin dintégrer et connectez Azure Functions avec Snowflake, mais je vais enregistrer cette discussion pour un autre article.

Pour commencer à explorer le connecteur ADF Snowflake, voyons comment SCD de type 1 peut être implémenté avec le connecteur ADF!

Premiers pas

Pour cet imp Pour la mise en œuvre, les services Azure suivants sont utilisés: Stockage Blob Azure, Azure Data Factory (services liés, ensembles de données et flux de données).

Prérequis:

  • Services liés ADF pour lobjet blob Azure stockage et votre compte Snowflake sont créés.
  • Une table Planes est créée dans Snowflake avec le schéma ci-dessous:
CREATE TABLE Planes (
ICAO nvarchar(200),
IATA nvarchar(200),
MAKER nvarchar(200),
DESCRIPTION nvarchar(200)
);
  1. Commençons par télécharger un fichier CSV vers un objet blob Azure.
Fichier CSV
Fichier CSV

2. Dans ADF, créez un ensemble de données (source) pour le fichier blob.

Ensemble de données pour blob
Ensemble de données pour fichier blob

3. Créez un ensemble de données (puits) pour Snowflake.

Ensemble de données pour Snowflake

4. Maintenant, créons un flux de données ADF avec 3 composants. Source, AlterRow et Sink.

Comme indiqué ci-dessous, sélectionnez lensemble de données source créé à létape 1.

Paramètre de source de flux de données

5. Suite du paramètre de la source Dataflow:

Paramètre de la source Dataflow

6. Voyons maintenant un aperçu des données source.

La capture décran ci-dessous montre laperçu des données pour Source.

Aperçu des données source du flux de données

7. Maintenant, une fois la source prête, ajoutons la transformation Alter.La transformation Alter permet les insertions / mises à jour / upserts, et supprime les enregistrements selon les conditions données.

Jai spécifié la condition pour Upsert.

Dataflow AlterRow

8. Paramètre Dataflow Sink.

Comme indiqué ci-dessous, sélectionnez le service lié créé pour Snowflake.

Récepteur de flux de données

9. Paramètre du récepteur Dataflow.

Sélectionnez le schéma Snowflake, le nom de la table et la méthode de mise à jour.

Sélectionnez la clé primaire de la table Snowflake dans «Key Columns». Sur la base des «colonnes clés», les enregistrements seront insérés / insérés / supprimés / mis à jour dans la table des récepteurs.

Il est recommandé de vérifier «Aperçu des données» avant de passer à la tâche suivante dans Dataflow.

Dataflow Sink

10. Importez le flux de données dans le pipeline et cliquez sur déboguer.

Importez le flux de données vers le pipeline

11. Maintenant, vérifions les tables Planes dans Snowflake.

Tous les enregistrements sont insérés dans la table Snowflake.

Table des flocons de neige – Avions

12. Ensuite, mettons à jour le fichier CSV.

A318 mis à jour et B713 inséré.

Fichier CSV mis à jour

13. Déboguez le pipeline et vérifiez la table Planes dans Snowflake.

Comme la capture décran ci-dessous montre, vous avez un enregistrement mis à jour pour A318.

Enregistrement mis à jour dans la table Planes

14. Le nouvel enregistrement B713 est inséré dans la table Planes.

Table des plans – nouvel enregistrement inséré à partir de la table CSV

Comme indiqué aux étapes 13 et 14, des enregistrements mis à jour et de nouveaux sont disponibles dans le tableau Snowflake.

Donc, sans écrire de code, il est assez facile et simple dobtenir un SCD de type 1 en utilisant le connecteur ADF Snowflake.

Capacités du connecteur ADF Snowflake

Lors de la mise en œuvre de lADF Connecto r pour Snowflake sachez que vous serez pris en charge pour les types dactivités suivants:

Pour plus de détails, veuillez vous référer à ce document – https://docs.microsoft.com/en-us/azure/data-factory/connector-snowflake

Donc, le connecteur a de bonnes capacités, cependant, il y a aussi quelques limitations à connaître. Examinons cela.

Limitations du connecteur ADF Snowflake

  1. Lors de la création dun service lié pour le compte Snowflake, lintégration SSO (navigateur externe dauthentification) nest pas encore prise en charge.
  2. ADF Snowflake Connector ne prend pas en charge lexécution dune procédure stockée Snowflake. Cependant, une alternative ou une solution de contournement à cela consiste à appeler des procédures stockées à laide dAzure Functions.
  3. Une table Snowflake doit être disponible avant de charger les données.
  4. La copie directe depuis / vers Snowflake est uniquement prise en charge pour les formats suivants: Parquet, texte délimité et JSON (la table Snowflake ou le résultat de la requête na quune seule colonne et le type de données de cette colonne est VARIANT, OBJECT ou ARRAY). Lorsque votre magasin ou format de données source / récepteur nest pas nativement compatible avec la commande Snowflake COPY, vous devez activer la copie intermédiaire intégrée à laide dune instance de stockage Azure Blob provisoire, ce qui ajoute un coût supplémentaire à la facturation Azure.

Réflexions finales

Le connecteur ADF Snowflake fait des progrès en facilitant la connexion des outils Microsoft natifs à Snowflake et limplémentation de SCD de type 1. Comme pour tout outil dintégration de données, il toujours recommandé de concevoir, darchiver et de déployer une approche de solution finale basée sur les cas dutilisation, les modèles, les SLA, les compétences et les exigences de consommation de données que votre situation individuelle dicte.

Prêt à accélérer votre Transformation numérique?

Chez Hashmap, nous travaillons avec nos clients pour mieux construire ensemble.

Si vous envisagez de déplacer des produits et applications de données et danalyse vers le cloud ou si vous le souhaitez aide et conseils et quelques bonnes pratiques pour obtenir des résultats de plus grande valeur dans votre programme cloud, veuillez nous contacter.

Hashmap propose une gamme dateliers dactivation et de services dévaluation, de services de modernisation et de migration du cloud et de packages de services de conseil dans le cadre de notre cloud ( et des offres de services Snowflake ). Nous serions heureux de répondre à vos besoins spécifiques.

Autres outils et contenus susceptibles de vous plaire

Utilitaires Snowflake & Accélérateurs | Faites-en plus avec Snowflake | Hashmap

Essayez tous les utilitaires Snowflake disponibles sur Hashmap et faites-en plus avec Snowflake: Snowflake Inspector…

www.hashmapinc.com

(

Boostez votre relevé de facturation Snowflake avec des statistiques utilisateur

Une astuce simple peut être la clé pour comprendre vos dépenses de calcul Snowflake

medium.com

)

Mégaoctets Hashmap | Bite-Size Video Series

Hashmap Megabytes est une série de vidéos hebdomadaires dans laquelle les idées de méga-nuages ​​sont expliquées en petites portions.

www.hashmapinc.com

(

5 étapes pour convertir des tâches Python en PySpark

Passer de Pandas à PySpark en utilisant Apache Arrow ou Koalas

medium.com

)

Nhésitez pas à partager sur dautres chaînes et assurez-vous de rester informé de tous les nouveaux contenus de Hashmap ici . Pour écouter une conversation informelle sur tout ce qui concerne lingénierie des données et le cloud, consultez le podcast de Hashmap Hashmap au toucher ainsi que sur Spotify, Apple, Google et dautres applications de streaming populaires.

Hashmap on Tap | Podcast Hashmap

Une distribution rotative dhôtes Hashmap et dinvités spéciaux explore différentes technologies sous différents angles tout en dégustant une boisson de son choix.

www.hashmapinc.com

Mohini Kalamkar est consultant en ingénierie cloud et données chez Hashmap fournir des solutions de données, cloud, IoT et AI / ML et une expertise en conseil dans tous les secteurs avec un groupe de technologues innovants et dexperts du domaine accélérant les résultats commerciaux de grande valeur pour nos clients.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *