Ajout de flux de transformation
Vous pouvez inclure des flux dans vos tâches de transformation. Le concepteur de flux vous permet de créer un flux de transformation via des sources, des processeurs et des cibles pour définir des transformations simples ou complexes.
Les flux et les processeurs de transformation sont des représentations logiques. Cela signifie que, dans les tâches ELT, une seule table est créée pour chaque cible et que tous les processeurs sont compilés dans une seule instruction SQL par cible.
Plateformes cibles supportées
Les plateformes suivantes sont supportées avec les flux de transformation :
-
Snowflake
-
Databricks
-
Google BigQuery
-
Azure Synapse Analytics
-
Microsoft Fabric
-
Microsoft SQL Server
-
Amazon Redshift
Note InformationsLes fonctions Amazon Redshift suivantes ne sont pas disponibles : UUID string generation (Génération de chaîne UUID) et Edit Distance (Modifier la distance).
Prérequis
Avant de créer un flux de transformation, vous devez :
- Alimenter la tâche de stockage avec les données intégrées à utiliser dans le flux de transformation, ou enregistrer les données existantes. Pour plus d'informations concernant l'intégration et l'enregistrement de données, consultez Intégration de données et Enregistrement de données qui existent déjà sur la plateforme de données.
- Préparer et exécuter la tâche de stockage ou de transformation utilisée comme source dans votre flux de transformation. Il n'est pas obligatoire d'exécuter la tâche de stockage, mais il est recommandé de pouvoir afficher l'aperçu des données à chaque étape du flux.
Création d'un flux de transformation
Pour créer un flux de transformation valide, vous avez besoin d'au moins un jeu de données source et une cible nommée avec des clés définies.
- Ouvrez la tâche Transform data (Transformer les données) dans votre pipeline de données.
- Dans Transform (Transformer), sélectionnez les jeux de données sources à inclure dans le flux de transformation, puis cliquez sur Add transformation flow (Ajouter un flux de transformation).
La fenêtre Add transformation flow (Ajouter un flux de transformation) s'ouvre, vous permettant de fournir les paramètres de la transformation.
-
Saisissez un nom pour l'ensemble de données cible dans Nom.
Vous pouvez également ajouter une description plus longue dans Description.
-
Dans Matérialisation, sélectionnez si la sortie transformée doit être matérialisée ou non. Vous pouvez choisir d'hériter du paramètre des paramètres de la tâche de données.
-
La sélection d'Activé créera des tables et permettra de gérer le traitement ELT associé.
-
Si cette option est Désactivée, des vues effectuant des transformations à la volée seront créées.
-
-
L'option Chargement incrémentiel vous permet d'ajuster la requête pour un chargement de données incrémentiel en appliquant des filtres ou d'autres conditions afin de réduire l'ensemble des données traitées via des macros. L'option Chargement incrémentiel est disponible uniquement si les données sont matérialisées sous forme de tables.
-
Lorsque l'option Chargement incrémentiel est Activée
La première exécution de la tâche effectuera un chargement initial, insérant l'ensemble des résultats de la requête dans votre table cible. Les exécutions suivantes effectueront des chargements incrémentiels en fonction des filtres ou conditions spécifiques que vous avez définis pour le traitement incrémentiel. Lors du chargement incrémentiel, la tâche traitera uniquement les données sous forme de mise à jour ou d'insertion ; les suppressions ne sont pas prises en charge.
-
Lorsque l'option Chargement incrémentiel est Désactivée
La première exécution de la tâche effectuera un chargement initial, insérant l'ensemble des résultats de la requête dans votre table cible. Les exécutions suivantes traiteront l'ensemble des résultats de la requête en les comparant à votre table cible et en traitant les enregistrements nouveaux, modifiés ou supprimés.
Note InformationsSi la requête sélectionne tous les enregistrements qui devraient exister dans la cible, désactivez Chargement incrémentiel. Les enregistrements non sélectionnés seront supprimés de la cible. -
-
Cliquez sur Add (Ajouter) lorsque vous êtes prêt·e à créer le flux de transformation.
Le concepteur de flux s'ouvre, la cible est créée et s'affiche dans votre flux comme composant cible.
Note InformationsIl est obligatoire de fournir un nom unique pour la cible de votre flux. Si vous souhaitez renommer la cible du flux ultérieurement, sélectionnez la cible et saisissez le nouveau nom dans Dataset name (Nom du jeu de données). - Si aucune clé n'est définie pour votre cible, cliquez sur Edit (Modifier) près du champ Key(s) & nullables (Clé(s) et nullables). La fenêtre de configuration s'ouvre. Note InformationsLes clés ne sont pas héritées des jeux de données sources et doivent être manuellement définies. Les éléments nullables sont hérités des jeux de données sources et peuvent être modifiés.
- Dans Configure keys and nullables (Configurer les clés et nullables), sélectionnez Key (Clé) dans la colonne à définir comme clé primaire et Nullables dans la ou les colonne·s à définir comme nullable·s.
- Cliquez sur Confirm (Confirmer) pour enregistrer vos modifications et fermer la fenêtre de configuration.
Si le statut de votre flux de transformation est valide, vous pouvez fermer le flux et préparer vos données.
Vous pouvez modifier les paramètres de Matérialisation et de Chargement incrémentiel ultérieurement dans Paramètres de la cible.
-
Sélectionnez la cible et cliquez sur Modifier à côté de Paramètres dans la configuration de la cible.
Ajouter un processeur
Vous pouvez ajouter des processeurs à vos flux.
Les processeurs sont des composants que vous pouvez ajouter à vos flux afin de transformer vos données entrantes et de retourner les données transformées vers l'étape suivante du flux.
- Dans le concepteur de flux, sélectionnez le composant de flux après lequel ajouter un processeur.
- Cliquez sur dans le composant de flux, puis sur Add processor (Ajouter un processeur), et sélectionnez le processeur à ajouter. Vous pouvez également glisser le processeur du panneau gauche vers l'espace de travail.
- Configurez votre processeur en fonction de vos besoins et cliquez sur Save (Enregistrer) afin d'enregistrer vos modifications et de mettre à jour l'aperçu des données. Note InformationsVous pouvez afficher un aperçu de l'échantillon de vos données via SQL et Data preview (Aperçu des données). Pour plus d'informations, consultez Affichage d'un aperçu des données.
Processeurs disponibles
Cas d'utilisation : Jointure, agrégation et filtrage de données dans Snowflake
Dans ce cas d'utilisation, les données client·es Snowflake doivent être transformées à l'aide de processeurs. Étant donné que les informations client·es proviennent de deux jeux de données, vous souhaitez commencer par ajouter un processeur Join (Jointure) pour combiner les enregistrements. Vous souhaitez également utiliser un processeur Aggregate (Agrégation) pour calculer le prix moyen des commandes, ainsi qu'un processeur Filter (Filtrage) pour filtrer le type d'enregistrements client·es à conserver dans vos jeux de données de sortie.
Le premier jeu de données est basé sur une table Snowflake nomme CUSTOMER_ACCOUNT. Son schéma se présente comme suit :
Le deuxième jeu de données est basé sur une table Snowflake nommée CUSTOMER_ORDER. Son schéma se présente comme suit :
- Glissez un processeur Join (Jointure) du panneau Processors (Processeurs) de gauche dans l'espace de travail.
- Liez la deuxième source au processeur Join (Jointure) de sorte à pouvoir combiner les données des deux jeux de données.
- Configurez le processeur Join (Jointure) pour joindre les deux jeux de données sources sur les clés d'ID client (CUSTOMER_ID) .
- Glissez un processeur Aggregate (Agrégation) après le processeur Join (Jointure).
- Configurez le processeur Aggregate (Agrégation) de sorte à calculer le montant moyen des achats client (ORDER_TOTAL_PRICE) et stockez-le dans une nouvelle colonne que vous pouvez nommer avg_order_price, tout en regroupant les enregistrements par type de segment client (LEFT_CUSTOMER_SEGMENT).
- Glissez-déposez un processeur Filter (Filtrage) du panneau gauche Processors (Processeurs) vers l'espace de travail.
- Configurez le processeur Filter (Filtrage) de sorte à filtrer les types de clients d'entreprise (Business).
- Sélectionnez sur le processeur Filter (Filtrage) pour ouvrir le menu, puis cliquez sur Add non-matching target (Ajouter une cible non-correspondante) pour ajouter une deuxième cible à votre flux.
Cette cible contiendra les enregistrements qui ne correspondaient pas aux critères de filtre, les types de clients individuels (Individual).
- Saisissez un nom pour le nouveau jeu de données cible, individual_cust, par exemple.
- Vérifiez l'aperçu du résultat dans les deux cibles :
La cible business_cust affiche le prix de commande moyen des types de clients d'entreprise (Business), à savoir, dans ce cas, 157.463687151.
La cible individual_cust affiche le prix de commande moyen des types de clients individuels (Individual), à savoir, dans ce cas, 153.576530612.
- Assurez-vous que votre flux de transformation a un statut valide, puis fermez-le.
- Dans la fenêtre Transform (Transformer), cliquez sur Prepare (Préparer) pour préparer vos données.
Bonnes pratiques
Lorsque vous ajoutez des jeux de données sources ou cibles à vos flux, vous devez définir les clés et nullables dans le panneau de configuration des jeux de données cibles.