Inclusion et transformation de données à l'aide d'un flux de données

Un flux de données est un diagramme logique représentant le flux des données des ressources de données source (par exemple, base de données ou fichier plat) aux ressources de données cible (par exemple, lac de données ou entrepôt de données).

Le flux de données de la source vers la cible peut subir une série de transformations visant à agréger, nettoyer et mettre en forme les données. Les ingénieurs de données et les développeurs ETL peuvent ensuite analyser ou collecter des informations et les utiliser pour prendre des décisions commerciales importantes.

Dans ce tutoriel, vous effectuez les opérations suivantes :

  1. Créez un projet dans lequel vous pouvez enregistrer le flux de données.
  2. Ajoutez des opérateurs source et sélectionnez les entités de données à utiliser dans le flux de données.
  3. Utilisez des opérateurs de mise en forme et appliquez des transformations.
  4. Identifiez la ressource de données cible pour le chargement des données.

Avant de commencer

Pour inclure et transformer des données à l'aide d'un flux de données, vous devez disposer des éléments suivants :

  • Accès à un espace de travail Data Integration. Reportez-vous à Connexion à Data Integration.
  • Ressources de données source et cible créées.
  • Droit d'accès PAR_MANAGE activé sur le bucket de préparation.

    allow any-user to manage buckets in compartment <compartment-name> where ALL {request.principal.type = 'disworkspace', request.principal.id = '<workspace-ocid>', request.permission = 'PAR_MANAGE'}

    Les bases de données autonomes utilisent Object Storage pour la préparation des données et ont besoin de demandes pré-authentifiées.

1. Création d'un projet et d'un flux de données

Dans Oracle Cloud Infrastructure Data Integration, les flux de données et les tâches peuvent uniquement être créés dans un projet ou un dossier.

Pour créer un projet et un flux de données, procédez comme suit :

  1. Sur la page d'accueil de l'espace de travail, sélectionnez Projets.
    Si vous avez besoin d'aide pour trouver l'espace de travail Data Integration dans lequel travailler, reportez-vous à Création et accès à un espace de travail.
  2. Sur la page Projets, sélectionnez Créer un projet, puis Créer.
  3. Sur la page Créer un projet, entrez DI_Lab dans Nom, puis sélectionnez Créer.

    Une fois que vous avez créé un projet, vous créez un flux des données pour inclure les données de deux fichiers source contenant de l'information sur le client (CUSTOMERS.json) et la commande (REVENUE.csv).

  4. Sur la page des détails de projet DI_Lab, sélectionnez flux de données dans le sous-menu de gauche.
    Si vous êtes sur la page Projets, sélectionnez DI_Lab pour ouvrir la page de détails du projet.
  5. Sélectionnez Créer un flux de données.

    Le concepteur de flux de données s'ouvre dans un nouvel onglet.

  6. Dans le panneau Propriétés, dans Nom, entrez Load Customers and Revenue Data.

    La valeur Identificateur est générée automatiquement en fonction de la valeur que vous entrez pour le nom du flux de données. Vous pouvez modifier la valeur générée, mais une fois le flux de données enregistré, vous n'êtes pas autorisé à mettre à jour l'identificateur.

  7. Choisissez Créer.

    Le concepteur reste ouvert pour que vous puissiez poursuivre vos modifications.

2. Ajout d'opérateurs source

Vous ajoutez des opérateurs source afin d'identifier les entités de données à utiliser pour le flux de données. Une entité de données représente une table de base de données dans ce tutoriel.

  1. Dans le panneau Opérateurs, déposez un opérateur source sur le canevas.
  2. Sur le canevas, sélectionnez SOURCE_1, s'il n'est pas déjà sélectionné.

    Le panneau Propriétés affiche les détails de l'opérateur sélectionné.

  3. Dans l'onglet Détails du panneau Propriétés, cliquez sur Sélectionner en regard de chacune des options suivantes pour effectuer les sélections suivantes :
    • Dans Ressource de données, sélectionnez Data_Lake.
    • Dans connexion, sélectionnez connexion par défaut.
    • Pour Schéma, sélectionnez le compartiment, puis le bucket. Dans le cadre de ce tutoriel, Object Storage sert de ressource de données source. C'est pourquoi vous sélectionnez le bucket ici.
    • Pour Entité de données, sélectionnez Parcourir par nom, puis CUSTOMERS.json. Pour Type de fichier, sélectionnez JSON.
  4. Une fois les sélections pour SOURCE_1 terminées, le nom de l'opérateur devient CUSTOMERS_JSON, ce qui reflète la sélection de l'entité de données. Dans le champ Identificateur, remplacez le nom de l'opérateur source par CUSTOMERS.
  5. Répétez les étapes 1 à 3 pour ajouter un second opérateur Source avec les valeurs suivantes :
    • Dans Ressource de données, sélectionnez Data_Lake.
    • Dans Connection, sélectionnez Default Connection.
    • Pour Schéma, sélectionnez le compartiment, puis le bucket. Dans le cadre de ce tutoriel, Object Storage sert de ressource de données source. C'est pourquoi vous sélectionnez le bucket ici.
    • Dans entité de données, sélectionnez REVENUE.csv, puis CSV pour le type de fichier. Acceptez les valeurs par défaut pour les autres éléments.
  6. Lorsque vous effectuez les sélections pour le deuxième opérateur source, le nom de l'opérateur devient REVENUE_CSV, ce qui reflète la sélection de l'entité de données. Dans le champ Identificateur, remplacez le nom de l'opérateur source par REVENUE.
  7. (Facultatif) Sélectionnez Affecter le paramètre pour empêcher les détails de la source d'être liés au code compilé lorsque vous publiez le flux de données.
  8. (Facultatif) Dans l'onglet Attributs, vous pouvez visualiser les attributs de l'entité de données et leur appliquer des règles d'exclusion ou de changement de nom dans le menu Actions correspondant (Menu Actions).
    Vous pouvez également utiliser l'icône de filtre de la colonne Nom ou Type pour appliquer des filtres aux attributs à exclure.
  9. (Facultatif) Dans l'onglet Données, vous pouvez visualiser un échantillon de données de l'entité de données source et appliquer des transformations aux données, ou sélectionner des attributs pour afficher un profil de données.
  10. (Facultatif) Dans l'onglet Validation, vous pouvez rechercher les éventuels avertissements ou erreurs relatifs à la configuration des opérateurs source.
  11. Pour enregistrer le flux de données et poursuivre les modifications, sélectionnez Enregistrer.

3. Filtrage et transformation de données

Filtrage des données

L'opérateur Filtrer produit un sous-ensemble de données à partir d'un opérateur amont en fonction d'une condition.

  1. Dans le panneau Opérateurs, déposez un opérateur de filtre sur le canevas.
  2. Connectez REVENUE à FILTER_1 :
    • Placez le curseur sur REVENUE.
    • Faites glisser le cercle du connecteur à côté de REVENUE.

      Connecteur des opérateurs

    • Déposez le cercle de connecteur sur FILTER_1.

      Action de glisser-déplacer entre les connecteurs

  3. Sélectionnez FILTER_1.
  4. Dans le panneau Propriétés, sélectionnez Créer en regard de Condition de filtre.
  5. Dans le panneau Créer une condition de filtre, entrez STA dans le champ Rechercher par nom.
  6. Cliquez deux fois sur ORDER_STATUS ou déposez-le pour l'ajouter à l'éditeur de conditions de filtre.
  7. Dans l'éditeur de conditions, entrez ='1-Booked'. La condition est donc la suivante :

    FILTER_1.REVENUE_CSV.ORDER_STATUS='1-Booked'

    Remarque

    Pour éviter tout problème lié aux guillemets, n'utilisez pas de copier-coller.
  8. Choisissez Créer.
  9. Dans le panneau Opérateurs, déposez un opérateur Filtre sur le canevas, en le plaçant après CUSTOMERS.
  10. Connectez CUSTOMERS à FILTER_2 :
    • Placez le curseur sur CUSTOMERS.
    • Faites glisser le cercle du connecteur à droite de CUSTOMERS.
    • Déposez le cercle de connecteur sur FILTER_2.
  11. Dans le panneau Propriétés de FILTER_2, sélectionnez Créer en regard de Condition de filtre.
  12. Dans le panneau Créer une condition de filtre, entrez COU dans le champ Rechercher par nom.
  13. Cliquez deux fois sur COUNTRY_CODE pour l'ajouter à l'éditeur de conditions.
  14. Entrez ='US' de sorte que la condition soit la suivante :

    FILTER_2.CUSTOMERS_JSON.COUNTRY_CODE='US'

  15. Choisissez Créer.
  16. Pour enregistrer le flux de données et poursuivre les modifications, sélectionnez Enregistrer.
Transformation de données

A l'aide de Data Xplorer, vous pouvez explorer un échantillon de données, examiner des métadonnées de profilage et appliquer des transformations dans l'onglet Données du panneau Propriétés. Des opérateurs d'expression sont ajoutés au canevas pour chaque transformation appliquée.

  1. Dans le panneau Propriétés de FILTER_2, sélectionnez l'onglet Données.
    Tous les attributs et lignes de données sont affichés. Vous pouvez utiliser la barre de défilement verticale pour faire défiler les lignes et la barre de défilement horizontale pour faire défiler les attributs.
  2. Dans le champ Rechercher par modèle, entrez STATE*.
    Les attributs de la table sont filtrés. Seuls les attributs correspondant au modèle sont affichés.
  3. Sélectionnez le menu Transformations (menu transformations) de FILTER_2.CUSTOMERS_JSON.STATE_PROVINCE, puis Modifier le casse.

    Icône de menu de transformations

  4. Dans la boîte de dialogue Modifier la casse, dans le menu Type, sélectionnez Upper.
  5. Ne cochez pas la case Conserver les attributs source.
  6. Laissez le nom tel quel.
  7. Cliquez sur Appliquer.

    Un opérateur d'expression est ajouté au flux de données. Dans le panneau Propriétés, l'onglet Détails est à présent sélectionné et affiche les détails de l'opérateur d'expression.

    Dans la table Expressions, vous pouvez voir l'expression générée, UPPER(EXPRESSION_1.CUSTOMERS_JSON.STATE_PROVINCE).

  8. Dans le panneau Propriétés de l'opérateur d'expression, remplacez le nom dans le champ Identificateur par CHANGE_CASE.
  9. Sélectionnez l'onglet Données, puis utilisez la barre du défilement horizontal pour le faire défiler jusqu'à la fin.

    CHANGE_CASE.STATE_PROVINCE est ajouté à la fin de l'ensemble de données. Vous pouvez prévisualiser les données transformées pour CHANGE_CASE.STATE_PROVINCE dans l'onglet Données.

  10. Dans le panneau Opérateurs, déposez l'opérateur Expression sur le canevas, en le plaçant après CHANGE_CASE.
  11. Connectez CHANGE_CASE au nouvel opérateur EXPRESSION_1.
  12. Dans le panneau Propriétés de EXPRESSION_1, sélectionnez Ajouter une expression dans la table Expressions.
  13. Dans le panneau Ajouter une expression, procédez comme suit :
    1. Dans le champ Identificateur, renommez l'expression en FULLNAME.
    2. Conservez le type de données VARCHAR.
    3. Définissez Longueur sur 200.
    4. Sous Générateur d'expressions, passez de la liste Entrant à la liste Fonctions.
    5. Dans le champ de recherche par nom, entrez CON. Recherchez ensuite CONCAT sous String.
    6. Entrez CONCAT(CONCAT(EXPRESSION_1.CUSTOMERS_JSON.FIRST_NAME, ' '),EXPRESSION_1.CUSTOMERS_JSON.LAST_NAME)

      Vous pouvez également mettre en évidence les espaces réservés d'une fonction, puis cliquer deux fois ou supprimer des attributs de la liste Entrant pour créer une expression.

    7. Choisissez Ajouter.

    L'expression CONCAT est désormais répertoriée dans la table Expressions de l'opérateur EXPRESSION_1. Vous pouvez ajouter autant d'expressions que vous le souhaitez.

  14. Pour enregistrer le flux de données et poursuivre les modifications, sélectionnez Enregistrer.

4. Jointure de données

Après avoir appliqué des filtres et des transformations, vous pouvez joindre les entités de données source à l'aide d'un identificateur de client unique, puis charger les données dans une entité de données cible.

  1. Pour joindre les données de EXPRESSION_1 aux données de FILTER_1, déposez un opérateur Jointure du panneau Opérateurs sur le canevas, en le plaçant après dans EXPRESSION_1 et FILTER_1.
  2. Connectez EXPRESSION_1 à JOIN_1. Connectez ensuite FILTER_1 à JOIN_1.
  3. Avec JOIN_1 sélectionné, dans l'onglet Détails du panneau Propriétés, sélectionnez Créer en regard de Condition de joint.
  4. Dans le panneau Créer une condition de jointure, entrez CUST dans le champ de recherche par nom.
    Vous voulez joindre les entités à l'aide de CUST_ID et CUST_KEY.
  5. Dans l'éditeur, entrez JOIN_1_1.CUSTOMERS_JSON.CUST_ID=JOIN_1_2.REVENUE_CSV.CUST_KEY.
  6. Choisissez Créer.
  7. Pour enregistrer le flux de données et poursuivre les modifications, sélectionnez Enregistrer.

5. Ajout d'un opérateur cible

  1. Dans le panneau Opérateurs, déplacez un opérateur Cible vers le canevas.
  2. Connectez JOIN_1 à TARGET_1.
  3. Sélectionnez TARGET_1 sur le canevas, s'il n'est pas déjà sélectionné.
  4. Dans l'onglet Détails du panneau Propriétés, ne cochez pas la case Créer une entité de données.
  5. Cliquez ensuite sur Sélectionner pour chacune des options suivantes afin d'effectuer les sélections pour une entité de données :
    • Dans Ressource de données, sélectionnez Data_Warehouse.
    • Dans Connection, sélectionnez Default Connection.
    • Dans Schéma, sélectionnez BETA.
    • Dans entité de données, sélectionnez CUSTOMERS_TARGET.
  6. Dans Emplacement de préparation, sélectionnez la ressource de données Data Lake, sa connexion par défaut et le compartiment. Ensuite, dans Schéma, sélectionnez le bucket Object Storage que vous utilisez pour importer les données échantillon.
  7. Laissez la valeur Insérer dans Stratégie d'intégration.
  8. Pour consulter le mapping des attributs, sélectionnez l'onglet Mettreen correspondance.

    Par défaut, tous les attributs sont mis en correspondance par nom.

    Par exemple, CUST_ID de JOIN_1 est mis en correspondance avec CUST_ID dans l'entité de données cible.

  9. Pour mapper manuellement des attributs qui ne le sont pas encore, sélectionnez le menu Tout dans la table Attributs cible, puis sélectionnez Attributs non mappés.

    Vous pouvez effectuer la même opération dans la table Attributs source (pour les champs entrants).

  10. Déplacez maintenant FULLNAME de Attributs source vers FULL_NAME dans Attributs cible.
  11. Dans la table Attributs cible, sélectionnez Attributs non mis en correspondance, puis Tout.

    Tous les attributs sont désormais mis en correspondance.

  12. (Facultatif) Sélectionnez Actions pour consulter les différentes options de mise en correspondance disponibles.
  13. (Facultatif) Sélectionnez Afficher les règles pour visualiser les règles appliquées.
  14. Pour enregistrer le flux de données et quitter le concepteur, sélectionnez Enregistrer et fermer.