Utiliser les consommateurs ETL et de carte de transformation pour importer des données

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 4 minutes de lecture
  • Utilisez les définitions ETL et les cartes de transformation pour traiter les événements Kafka. Les définitions ETL et les cartes de transformation spécifient la logique de transformation à utiliser lors de l’extraction des données via les importations planifiées. Vous pouvez utiliser les mêmes définitions ETL et cartes de transformation pour transformer les événements reçus via Kafka.

    Avant de commencer

    Procédure

    1. Créez une rubrique pour utiliser ETL et transformer les messages des consommateurs de carte.
      1. Utilisez la commande suivante pour créer une rubrique dans Hermès.
        Dans cet exemple, le nom de la rubrique est topic2.
        bin/kafka-topics.sh --create --command-config config/bootcamp.properties  --bootstrap-server <instance name>.service-now.com:4000,<instance name>.service-now.com:4001,<instance name>.service-now.com:4002, <instance name>.service-now.com:4003 --topic snc.<instance name>.topic2
        Assurez-vous de remplacer <nom d’instance> par le nom de votre instance.
      2. Pour afficher la rubrique, connectez-vous à l’instance et accédez à Tout > Centre d'intégration > Connexion au flux > Rubriques.
        Remarque :
        La création d’une rubrique prend environ 10 minutes.
    2. Créez un consommateur ETL pour utiliser les données de la rubrique.
      1. Accédez à la Tout > Centre d'intégration > Consommateurs > Consommateur ETL.
      2. Sélectionnez Nouveau.
      3. Sur le formulaire Consommateur Kafka, saisissez un nom dans le champ Nom .
        Cet exemple utilise le nom Importation de membres.
      4. Pour le transformateur de jeu d’importation robuste déposé, sélectionnez un transformateur de jeu d’importation robuste existant.
        Pour le transformateur de jeu d’importation robuste, sélectionnez-en un qui n’utilise pas l’option permettant de stocker les données dans une seule colonne. Pour pouvoir voir les messages, assurez-vous que l’option Détaillé est activée sur le transformateur de jeu d’importation robuste.
      5. Désélectionnez l’option Données dans une seule colonne .
        Cette option ne doit être sélectionnée que pour les tables de jeux d’importation avec des données dans une seule colonne.
      6. Définissez le mappage de colonnes sur Étiquette.

        Cela signifie que les clés JSON du message d’entrée sont mappées aux étiquettes de colonne de la table Jeu d’importation.

        Le formulaire Consommateur ETL Kafka.
      7. Enregistrez le formulaire.
      8. Créer un flux Kafka pour le consommateur.
      9. Sur le formulaire Flux Kafka, définissez les valeurs de champ suivantes.
        • Nom du flux Topic2.
        • Rubrique de la rubrique créée précédemment, topic2.
        • Concurrence maximale à 1.
        • Commencer à consommer dans Messages reçus après la première activation.
        • Gestion des messages à optimiser automatiquement.
      10. Sélectionnez le lien Activer sous Liens connexes.

        Vous devriez être en mesure de voir l’abonnement activé.

        Exemple de formulaire Flux Kafka pour topic2.
    3. Publiez des messages dans la rubrique 2.
      1. Exécutez la commande suivante pour publier des messages dans topic2.
        bin/kafka-console-producer.sh --topic snc.<instance name>.topic2  --producer.config  config/bootcamp.properties  --bootstrap-server <instance name>.service-now.com:4000,<instance name>.service-now.com:4001,<instance name>.service-now.com:4002,<instance name>.service-now.com:4003

        Assurez-vous de remplacer <nom d’instance> par le nom de votre instance.

        Cette commande vous invite à entrer des messages.

      2. Envoyez le message JSON suivant.
        {"city":"San Diego","name":"Jhon","id":"SN001","state":"California"}
        Vous pouvez envoyer ce message avec n’importe quelle valeur, mais la clé du message JSON doit correspondre aux étiquettes de la table Jeu d’importation.
      3. Revenez au consommateur ETL que vous avez créé.

        Au bout d’une minute environ, les données doivent avoir été importées via le jeu d’importation.

        Formulaire de consommateur Kafka avec l’onglet Jeux d’importation renseigné.
      4. Pour afficher des informations détaillées sur le jeu d’importation, sélectionnez le numéro du jeu d’importation.
        Vue détaillée du jeu d’importation.
      5. Pour afficher des informations détaillées sur une ligne du jeu d’importation, sélectionnez le numéro de ligne du jeu d’importation.
        Vue détaillée de la ligne du jeu d’importation
    4. Créez un consommateur de carte de transformation pour consommer des données.
      1. Accédez à la Tout > Centre d'intégration > Consommateurs > Consommateur de carte de transformation.
      2. Sélectionnez Nouveau.
      3. Dans le formulaire Consommateur de carte de transformation Kafka, saisissez un nom dans le champ Nom .
      4. Pour le champ Transform Map (Carte de transformation ), sélectionnez une carte de transformation existante.
        Le formulaire Consommateur de carte de transformation.
      5. Enregistrez le formulaire.
      6. Créer un flux Kafka pour le consommateur.
      7. Sur le formulaire Flux Kafka, définissez les valeurs de champ suivantes.
        • Nom du flux de la carte de transformation.
        • Rubrique de la rubrique créée précédemment, topic2.
        • Concurrence maximale à 1.
        • Commencer à consommer dans Messages reçus après la première activation.
        • Gestion des messages à optimiser automatiquement.
      8. Sélectionnez le lien Activer sous Liens connexes.

        Vous devriez être en mesure de voir l’abonnement activé.

        Formulaire de flux Kafka pour le consommateur de carte de transformation avec les informations d’abonnement.
    5. Publiez des messages dans la rubrique 2.
      1. Exécutez la commande suivante pour publier des messages dans topic2.
        bin/kafka-console-producer.sh --topic snc.<instance name>.topic2  --producer.config  config/bootcamp.properties  --bootstrap-server <instance name>.service-now.com:4000,<instance name>.service-now.com:4001,<instance name>.service-now.com:4002,<instance name>.service-now.com:4003

        Assurez-vous de remplacer <nom d’instance> par le nom de votre instance.

        Cette commande vous invite à entrer des messages.

      2. Envoyez le message JSON suivant.
        {"city":"San Diego","name":"Jhon","id":"SN001","state":"California"}
        Vous pouvez envoyer ce message avec n’importe quelle valeur, mais la clé du message JSON doit correspondre aux étiquettes de la table Jeu d’importation.
      3. Accédez au consommateur de carte de transformation que vous avez créé.
        Au bout d’une minute environ, les données doivent avoir été importées via le jeu d’importation.
      4. Pour afficher des informations détaillées sur le jeu d’importation, sélectionnez le numéro du jeu d’importation comme à l’étape 3d ci-dessus.

    Que faire ensuite

    Utiliser l’étape Kafka Producer et l’API ProducerV2 pour publier des messages.