Vue d’ensemble de la définition de l’extraction de charge de transformation (ETL)

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 6 minutes de lecture
  • Les définitions ETL extraient les données d’une table source, transforment les données comme vous le souhaitez et les chargent dans une ou plusieurs tables cibles. Les définitions ETL prennent également en charge les structures de données imbriquées.

    Les définitions ETL spécifient comment mapper des données

    L’importation de données commence par une source de données. Une source de données spécifie le type de données que vous souhaitez extraire et leur emplacement. Une fois les données extraites, elles sont chargées dans une table intermédiaire ou de jeu d’importation. Ensuite, une définition ETL spécifie comment mapper les données dans une ou plusieurs tables cibles dans ServiceNow. Vous pouvez créer des définitions ETL qui mappent les données aux ServiceNow tables tout en conservant les contraintes de clé étrangère et de clé unique. Vue d’ensemble du processus d’importation à l’aide d’une définition ETL.

    Les entités ETL représentent les données d’entrée et les tables cibles

    Les définitions ETL sont basées sur des entités. Chaque définition ETL que vous créez doit avoir des entités qui lui sont associées. Les entités représentent les données d’entrée et les tables cibles.
    • Les données d’entrée sont les données qui ont été chargées dans la table intermédiaire.
    • Les tables cibles sont les ServiceNow tables dans lesquelles vous souhaitez que vos données aboutissent.
    Les mappages et les opérations sont également basés sur des entités. Il est donc utile de créer des entités dès le début de la définition.

    L’image suivante montre un exemple de définition ETL pour l’ordinateur. Trois entités sont associées à cette définition. L’entité Jeu d’importation représente les données d’entrée, les données chargées à partir d’un fichier Excel dans une table intermédiaire. La table de l’entité de jeu d’importation est définie sur Aucune. L’ordinateur et le disque sont les entités cibles. Ils représentent deux ServiceNow tables nommées Ordinateurs [sn_etl_demo_computer] et Disque [sn_etl_demo_disk]. Les données de la table intermédiaire seront chargées dans les deux tables cibles. Définition ETL pour l’ordinateur affichant trois entités ETL pour l’ordinateur, le disque et le jeu d’importation.

    Entités d’entrée

    Les entités d’entrée représentent les données extraites qui ont été chargées dans la table intermédiaire. Les entités d’entrée ont des champs d’entité ETL pour représenter les colonnes de la table de l’ensemble d’importation ou, pour un mode à colonne unique, des clés JSON. Vous pouvez créer des champs d’entité en sélectionnant Nouveau dans l’onglet Champs d’entité ETL.

    L’image suivante montre l’entité Import Set de la définition Computer ETL. L’entité Jeu d’importation représente les données d’entrée chargées à partir d’un fichier Excel dans la table intermédiaire Ordinateurs [sn_elt_demo_computers_stage]. L’entité Jeu d’importation comporte un champ d’entité pour chaque colonne de la table intermédiaire. L’entité Jeu d’importation comporte un champ d’entité pour chaque colonne de la table intermédiaire.

    Entités cibles

    Les entités cibles représentent les tables cibles dans ServiceNow. L’image suivante montre l’entité cible du disque à partir de la définition ETL de l’ordinateur. Disk représente la table cible sn_etl_demo_disk. Il dispose de champs d’entité pour représenter les colonnes de table et de valeurs temporaires pour appliquer les opérations.Les entités cibles Ordinateur et Disque ont des champs d’entité pour représenter des colonnes de table et des valeurs temporaires pour les opérations.

    Chaque champ d’entité a un nom, un champ de référence ou de chemin, un champ de fusion et une action de forçage.

    Champ de référence

    Champ spécial dans lequel une ligne d’une table fait référence à une ligne d’une deuxième table en stockant la sys_id de la ligne de la deuxième table en tant que valeur de colonne dans la première ligne de la table. Bien que la référence soit stockée en tant que sys_id, lorsque les données sont importées, elles sont importées en tant que valeurs. Ainsi, pour les champs de référence, vous mappez les valeurs des champs uniques de la table référencée aux données importées. En fin de compte, le système utilisera les valeurs pour trouver l’enregistrement associé, récupérer le sys_id et le stocker dans la colonne appropriée.

    Par exemple, dans l’entité Disque mentionnée précédemment, la table sn_etl_demo_disk comporte une référence à l’ordinateur à l’aide du champ de référence ordinateur. Toutefois, les données importées ne contiennent que l’ID de l’ordinateur, qui peut être utilisé pour identifier l’ordinateur de façon unique. Ainsi, dans l’entité Disque, le chemin d’accès du champ référencé (computer.id) spécifie également la colonne de la table Computer (Ordinateur).

    S’il existe plusieurs champs pour une clé unique, toutes les valeurs de champ doivent être indiquées en ajoutant plusieurs champs. Par exemple, dans l’image suivante, la table sn_etl_demo_worker fait référence à la table sn_etl_demo_address. La table sn_etl_demo_address comporte trois colonnes (numéro, rue et code postal) comme clés uniques. Par conséquent, l’entité Agent dispose de trois champs pour les colonnes clés uniques. Les champs de référence peuvent également être utilisés comme champs de fusion. L’entité Agent dispose de trois champs pour les colonnes clés uniques.

    Champ de fusion

    Spécifie la clé unique pour une entité cible. Le système utilise le champ de fusion pour déterminer s’il faut mettre à jour un enregistrement existant ou en insérer un nouveau. Si le champ Fusion a la valeur vrai et que le système trouve un enregistrement existant avec la même valeur de champ Fusion, il met à jour l’enregistrement existant. Pour la table sn_etl_demo_disk affichée précédemment, dans l’entité Disque, la colonne Numéro de série est unique pour toutes les entrées de disque, elle est donc spécifiée en tant que champ de fusion.

    Action de forçage
    Pour les champs de référence, spécifiez ce qu’il faut faire lorsqu’une ligne avec la valeur de clé unique n’existe pas dans la table référencée. L’action de forçage comporte les options suivantes.
    • Créez une nouvelle ligne dans la table référencée et affectez-la à la ligne cible.
    • Ignorez la valeur du champ de référence. La colonne de référence est enregistrée comme vide.
    • Rejetez la valeur du champ de référence. Il n’est pas inséré ou mis à jour dans la table cible.

    Les opérations de l’entité du moteur de transformation robuste (RTE) modifient les données

    Les opérations d’entité modifient les données d’entrée avant de les stocker dans une table cible. L’image suivante montre un exemple d’opération de concaténation. Dans la définition ETL de l’ordinateur, les données importées contiennent à la fois un type et une version. Toutefois, la table cible nécessite une valeur qui est une combinaison du type et de la version. L’entité Computer utilise donc une opération de concaténation pour concaténer le type et la version. Les opérations d’entité ne peuvent être effectuées que sur les champs d’entité, donc dans cet exemple, deux champs temporaires sont créés pour copier les valeurs de l’ensemble de données à importer. Une opération de concaténation de l’entité RTE pour l’entité Ordinateur.

    Les mappages d’entités RTE spécifient les mappages de champs.

    Après avoir créé les entités d’entrée et de cible avec leurs champs et opérations d’entité, créez un mappage d’entité RTE pour chaque entité cible. Les mappages d’entités RTE spécifient comment les champs de l’entité d’entrée sont mappés aux champs des entités cibles. Dans la définition ETL pour l’ordinateur, il existe deux mappages d’entités RTE. L’un d’eux, illustré dans l’image suivante, mappe les données d’entrée aux champs de l’entité Ordinateur. L’autre mappe les données d’entrée dans les champs de l’entité du disque. Mappage d’entités RTE spécifiant comment mapper les données du jeu d’importation à l’entité Ordinateur.

    Données imbriquées dans les définitions ETL

    Avec les importations de données JSON, vous devrez peut-être importer des enregistrements avec des tableaux JSON ou des enregistrements qui importent plus d’une ligne pour la même table. Les définitions ETL prennent en charge ces charges utiles avec une petite modification des chemins. Les données JSON suivantes contiennent un tableau pour les informations sur l’e-mail. Vous pouvez importer ces données en modifiant le ou les chemins dans les entités d’entrée ou cibles, comme indiqué dans les deux images suivantes.
    {
          "id": "123",
          "name": "Jhon",
          "emails": [
            {
              "address": "jhon@servicenow.com",
              "type": "work"
            },
            {
              "address": "jhon@gmail.com",
              "type": "personal"
            }
          ]
        }
    
    Entités d’entrée avec données imbriquées

    Les entités d’entrée pour les données imbriquées représentent également les données JSON d’entrée. Comme les importations sans données imbriquées, elles disposent de champs d’entité pour représenter les valeurs. La seule différence est que les chemins avec des tableaux sont spécifiés par un astérisque (*). L’image suivante montre comment les chemins d’accès à l’adresse et au type sont spécifiés comme emails[*].address et emails[*].type.Entité ETL pour les données d’entrée imbriquées montrant l’utilisation d’un astérisque pour spécifier une valeur dans un tableau.

    Entités cibles avec données imbriquées

    Les entités cibles avec des données imbriquées sont également similaires aux entités cibles d’une importation normale, sauf que le chemin d’accès se termine par un astérisque (*). L’astérisque indique au système de traiter l’entité comme un tableau. Dans l’entité E-mail, le chemin cible est spécifié comme email[*]. Les champs de fusion, les champs de référence et les actions de coercition fonctionnent de la même manière qu’avec les importations normales.Entité ETL pour les données d’entrée imbriquées montrant l’utilisation d’un astérisque pour spécifier un tableau.

    Mappages d’entités RTE avec données imbriquées

    Les mappages d’entités RTE pour les données imbriquées ressemblent à des mappages normaux. N’importe quel champ de la hiérarchie peut être affecté à l’entité.