Aller au contenu principal

Import de données

Actito vous offre plusieurs possibilités pour importer des données dans les tables de votre modèle de données.

Vous pouvez, évidemment importer manuellement des profils ou des entrées de table personnalisée dans l'interface. Mais si vous souhaitez automatiser ces flux de données, vous utilisez très probablement les synchronisations ETL ou les imports API configurés par vos opérateurs techniques ou par les équipes Actito.

Bien que vous puissiez recevoir un rapport d'exécution, il est également intéressant de pouvoir visualiser ces synchronisations directement dans la plateforme Actito. C'est pour cela que l'application ' Gérer les imports' existe !

images/download/thumbnails/667255632/image2023-5-22_12-35-39.png

Tout comme l'application 'Gérer les exports' vous permet de visualiser vos flux de données PROVENANT d'Actito, l'application 'Gérer les imports' vous aide à visualiser les flux de données VERS Actito.

Vous pouvez accéder à cette application depuis le Catalogue (Profils > Gérer les imports), depuis le Datamart Studio ou depuis l'application 'Gérer les exports'.

Plusieurs onglets et filtres vous permettent de passer en revue les exécutions passées, en cours et futures de vos imports, selon leur type.

Astuce

Pour les synchronisations ETL, il est important de faire la distinction entre 'Définition ETL' et 'exécution ETL'.

  • La première consiste en la définition du flux, configuré par API, qui inclut tous les paramètres dont la fréquence.

  • La seconde est l'exécution périodique de ce qui a été défini.

images/download/attachments/667255632/image2023-5-22_12-36-42.png

Comprendre les filtres

Dans le coin supérieur gauche, vous pouvez choisir d'afficher uniquement les imports d'une table spécifique.

Comme les données peuvent être importées dans des profils ou des tables personnalisées, vous devez d'abord choisir le type de table avant de sélectionner le nom de la table dans la liste déroulante.

images/download/thumbnails/667255632/image2023-5-22_12-37-28.png

Astuce

Les synchronisations ETL peuvent être multi-fichier, ce qui signifie que la même définition déclenche des imports dans plusieurs tables.

Dans ce cas, l'import apparaitra lorsque vous sélectionnez n'importe quelle table impactée par le filtre.

Type d'import

Vous pouvez également filtrer sur le type d'import.

alt text

  • Les imports ponctuels sont tous les imports pour lesquels la fréquence n'est pas définie dans Actito : les imports manuels de profil ou de table personnalisée et les imports de masse par API (les imports API peuvent être programmés de votre côté, par vos développeurs et dès lors planifiés dans un certain sens, mais cette programmation n'est pas définie au sein d'Actito et donc ils sont considérés comme ponctuels). Le type de transfert de fichier est manuel si l'import est fait dans l'interface ou déclenché dans l'appel API ou il peut être dans le cloud si l'appel API est programmé pour récupérer le fichier sur un FTPS.

Les imports automatisés sont les synchronisations ETL qui ont été programmées par les équipes Actito ou par vos développeurs pour automatiquement récupérer un fichier sur un emplacement du cloud. Une fois qu'elles ont été définies, elles ne demandent pas de développements supplémentaires. Dès lors, elles sont idéales si vous avez des ressources techniques limitées. Il y a 2 types d'imports automatisés, avec différent modes de récupération des fichiers:

  • Les imports automatisés (planifiés) sont les synchronisations ETL pour lesquels la fréquence est définie dans Actito et qui tournent à un moment spécifique chaque jour. Cela signifie qu'elles dépendent de vos processes en amont : la fichier doit être présent sur l'emplacement cloud au moment défini. Néanmoins, une politique de relance peut être mise en place, ce qui est pratique en cas de retards en amont. Dès qu'une exécution est terminée, la suivante est immédiatement planifiée. Pour de tels imports, le fichier est toujours récupéré dans le cloud.

  • Les imports automatisés (déclenchés) sont les synchronisations ETL pour lesquelles un polling actif a été mis en place. Ces imports ne dépendent pas d'une fréquence donnée, mais, toutes les 5 minutes, Actito vérifie si un fichier avec le bon pattern de nommage a été déposé sur l'emplacement cloud. Cela signifie que plusieurs imports peuvent être déclenchés par jour. Le polling sur l'emplacement cloud est défini via une Synchronisation de fichiers.

Astuce

Pour des imports automatisés le nom technique de la synchronisation ETL sera affiché dans la colonne Nom.

Pour les imports ponctuels, vous ne donnez pas de nom aux imports manuels dans l'interface ou par API : la colonne Nom restera vide.

images/download/thumbnails/667255632/image2023-5-22_12-39-35.png

Comprendre les statuts

Naviguez à travers les onglets Brouillon, Activés, Planifiés, En cours et Terminés pour voir les différents statuts des exécutions.

alt text

Imports en brouillon

Cet onglet contient uniquement les synchronisations ETL qui ont été mises en pause.

Vous pouvez y cliquer sur Voir la définition de l’import pour obtenir une vue d'ensemble des différentes étapes de l'import, ou sur "Redémarrer" pour le réactiver ou le re-planifier.

Depuis le bouton "Plus", c'est également possible de modifier sa fréquence et modifier les destinataires du rapport.

Imports activés

Cet onglet ne contient que les imports automatisés déclenchés, c'est à dire les synchronisations ETL qui se basent sur un polling vers un emplacement cloud pour vérifier si un fichier correspondant au pattern de message a été déposé.

Vous pouvez y cliquer sur Voir la définition de l’import pour obtenir une vue d'ensemble des différentes étapes de l'import. Cependant, les dates de "Déclenché le", "Commencé le" et "Terminé le" dans la colonne de gauche resteront toujours vides, car dès que le polling trouve un fichier synchronisés, une nouvelle exécution "en cours" est créée.

Cet onglet ne contient dès lors que la définition de l'import. Les exécutions déclenchées dans le passé se trouvent dans l'onglet "Terminés".

Exécutions planifiées

Cet onglet ne contient que les imports automatisés planifiés avec des fichiers transférés vers le cloud, c'est-à-dire les synchronisations ETL qui tournent à moment défini chaque jour.

Cela permet de vérifier facilement quand la prochaine synchronisation aura lieu.

info

Dès qu'une exécution quotidienne a fini de tourner, l'exécution du jour suivant est crée.

Cet onglet n'affiche que la prochaine exécution d'une synchronisation.

Alt text

Cliquez sur le bouton Stop pour mettre en pause une synchronisation ETL. Ceci est utile si vous avez des doutes concernant le fichier qui a été déposé sur l'emplacement cloud et devez vérifier, par exemple, ou si vous devez simplement arrêter temporairement de faire tourner des synchronisations.

Les ETLs "mises en pause" se retrouvent dans l'onglet "Brouillon", où elles peuvent être relancées.

Voir la définition de l'import

Cliquez sur Voir la définition de l’import pour obtenir une vue d'ensemble des différentes étapes de l'import, telles que définies durant la création de la synchronisation ETL.

Ceci est très utile pour obtenir des informations à propos du format attendu à chaque étape. Vous pouvez obtenir un compte-rendu similaire dans les détails des exécutions "Terminées", avec en plus un statut pour chaque étape (voir la section "Exécutions terminées" pour des explications détailles à propos de chaque étape).

Définition import

Modifier la fréquence

Si vous cliquez sur 'Plus', vous avez la possibilité de choisir 'Modifier la fréquence'.

Alt text

Ici, vous aurez l'opportunité de mettre à jour la fréquence de synchronisation de votre ETL :

  • Tous les jours à HH:MM
  • Toutes les semaines (un ou plusieurs jours) à HH:MM
  • Tous les mois au [nombre] à HH:MM

Alt text

info

Si vous choisissez la fréquence 'Tous les mois', le nombre que vous choisissez correspondra au jour de chaque mois où l'exécution devra avoir lieu.

Attention

Si vous choisissez la fréquence 'Tous les mois' et que vous choisissez le jour 31, votre ETL ne sera pas synchronisé tous les mois puisque tous les mois ne comptent pas 31 jours.

Si la fréquence que vous voulez choisir est plus complexe, vous avez la possibilité d'utiliser le 'Mode expert'.

Alt text

Ce mode vous permet de choisir l'expression CRON de votre choix. Les contraintes pour cette expression sont les mêmes que lorsque vous définissez l'ETL par API.

info

Par défaut, la fréquence définie dans la définition de l'ETL est affichée. Si l'expression CRON n'est pas 'tous les jours, 'toutes les semaines' ou 'tous les mois, alors le mode expert est affiché.

Modifier les destinataires du rapport

Si vous cliquez sur 'Plus', vous avez également la possibilité de choisir 'Modifier les destinataires du rapport'.

Alt text

Ce bouton vous permettra de mettre à jour les destinataires du rapport de l'ETL sélectionné. Vous pourrez :

  • Ajouter un nouveau destinataire
  • Modifier un destinataire existant
  • Supprimer un destinataire existant

Alt text

Ceci vous permet également de vider une liste existante, puisque la liste de destinataire n'est pas obligatoire.

info

Dans le cas où des adresses e-mails sont dupliquées lorsque la liste des destinataires des rapports est mise à jour, le système n'en garde automatiquement qu'un.

La définition de l'ETL est mise à jour lorsque vous cliquez sur 'Valider'.

info

Un destinataire venant d'être ajouté recevra son premier rapport lors de la prochaine exécution de l'ETL.

Exécutions en cours

Cet onglet contient les imports en cours d'exécution. Bien que l'intégration de plus gros fichiers puisse prendre plus de temps, vous ne verrez des données dans cet onglet que temporairement, directement après le début d'une exécution.

Ce qui vous permet de vérifier facilement qu'un import ou qu'une synchronisation est toujours en train de tourner et n'est pas encore finie.

Les administrateurs et utilisateurs avancés ont la possibilité de récupérer directement le fichier qui est intégré dans Actito grâce à 'Télécharger les fichiers d'entrée'.

images/download/attachments/667255632/image2023-5-22_14-29-19.png

Grâce au bouton "Voir les détails d'exécution", vous pouvez également obtenir une vue d'ensemble de chaque étape de l'import. Etant donné que l'exécution est en cours, the statut final de chaque étape peut ne pas encore être disponible (voir la section "Exécutions terminées" pour des explications détailles à propos de chaque étape).

Exécutions terminées

Cet onglet contient tous les imports qui ont fini de tourner : ce qui inclut à la fois les exécutions passées de synchronisations automatisées et les imports ponctuels

info

L'onglet d'exécutions 'Terminés' garde un historique de 15 jours pour les imports automatisés (ETLs) et de 5 jours pour les imports ponctuels.

Cela vous permet de vérifier a quel moment un import est terminé et à quel moment les données ont été intégrées dans Actito. Plus important encore, vous pouvez regarder la colonne Résultat de l'import' pour vérifier si l'import est réussi ou s'il est tombé en erreur.

Astuce

Pour les imports planifiés, le nom technique des synchronisations ETL est affiché dans la colonne Nom. Vous pouvez utiliser l'application 'Rechercher' pour trouver rapidement l'exécution d'un ETL spécifique.

Vérifiez la date 'Démarré le' pour trouver l'exécution d'un jour spécifique.

images/download/attachments/667255632/image2023-5-22_14-30-31.png

Les administrateurs et utilisateurs avancés ont la possibilité de retrouver le fichier qui a été importé ainsi que les fichiers de sortie : selon le résultat, il peut s'agir d'un fichier de résultat ou d'un fichier d'erreur.

Astuce

Les fichiers de sortie des synchronisations ETL sont seulement générés si les paramètres de generateErrorFiles et generateResultFiles ont été configurés en true dans la définition.

Le fichier d'erreur peut vous aider à trouver le problème d'exécutions ratées et vous permettre de les corriger.

Pour les synchronisations ETL, tombées en erreur (probablement parce que le fichier n'était pas disponible dans le cloud), il est possible de faire une RELANCE par API.

La relance nécessite de connaitre l'identifiant de l'exécution originale. Vous pouvez facilement le retrouver en ajoutant la colonne 'Id' dans le coin supérieur droit.

images/download/thumbnails/667255632/image2023-5-22_15-10-49.png

Voir les détails d'exécution

Cliquez sur le bouton "Voir les détails d'exécution" pour obtenir une vue d'ensemble détaillée avec les résultats de chaque étapes.

Dans le panneau sur la droite, vous pouvez voir les dates de planification, début et fin de l'exécution, la fréquence qui détermine cette planification, la description de la synchronisation et la des destinataires du rapport d'exécution.

Astuce

La fréquence est définie par une expression CRON. Celle-ci peut être lue plus facilement en regardant le moment de programmation. Dans l'exemple ci-dessous, 0 00 10 * * ? se traduit par "tous les jours à 10h00".

Vous visualisez aussi le statut global. Cela peut être :

  • SUCCES : tous les fichiers ont été correctement récupérés et intégrés dans votre licence, sans qu'une seule ligne ne rencontre une erreur.
  • EN ERREUR : l'import a rencontré une erreur globale et ne s'est pas déroulé jusqu'au bout, ce qui veut dire qu'aune ligne n'a été intégrée. Ceci est généralement lié à l'absence des fichiers, ou à un format invalide.
  • WARNING : tous les fichiers (obligatoires) ont été correctement récupérés et ont été partiellement intégrés dans Actito, mais au moins une ligne a rencontré une erreur parce qu'elle contient une valeur invalide.

détails des exécutions

Chacune des 5 étapes à son propre statut.

Cliquez sur une des étapes pour en voir les détails.

Transfert des fichiers d'entrée

A cette étape, vous pouvez voir la cloud location (emplacement en ligne) où le fichier a été récupéré (dans le cas d'une ETL).

Vous visualisez aussi les détails des fichiers attendus dans l'ETL, tels que :

  • Le pattern de nommage attendu
  • Le nom du fichier pour une exécution spécifique
  • Si le fichier est obligatoire pour l'exécution de l'import
  • Si le fichier était présent dans cette exécution spécifique

images/data-imports/input-files-transfer.png

Cette étape va rencontrer une ERREUR si la cloud location (comme un serveur SFTP ou FTPS) n'était pas accessible au moment de l'exécution, si le fichier n'a pas été trouvé sur l'emplacement (par exemple, s'il n'y avait pas de fichier avec le pattern de nom correspondant à la date de l'exécution) ou si le fichier contenu dans l'archive zippée était incorrect

Si une politique de relance a été définie dans l'ETL, Actito continuera d'essayer de récupérer le fichier à une fréquence fixe (définie par le paramètre minimumInterval). Si après un laps de temps défini par le paramètre giveUpAfter (max 8 heures), aucun fichier n'est trouvé, l'exécution tombera définitivement en erreur.

Astuce

L'ETL tombe en erreur dès que le délai "abandon après" est atteint, même si cela ne coïncide pas avec une dernière tentative.

Le nombre de tentatives et l'heure de la dernière tentative sont également affichés dans les détails d'exécution de cette étape.

alt text

Astuce

Si un fichier non-obligatoire est manquant, cette étape sera considérée en SUCCES.

Validation du format des fichiers

A cette étape, vous pouvez voir le format des fichiers, tels que définis dans les paramètres de l'ETL.

Cela inclut :

  • Le séparateur du fichier CSV : bien qu'il s'agisse généralement de points-virgules, de virgules ou de tabulations, d'autres caractères peuvent être définis comme séparateurs.
  • L'encodage : l'ensemble de caractères utilisés dans le fichier. Cela peut être UTF-8 (valeur par défaut) ou ISO-8859-1.
  • Les caractères d'enclosing et d'échappement, utilisés pour échapper les données quand la value contient le séparateur ou le caractère d'enclosing.

validation du format

Transformations des données

Cette étape vous donne un aperçu des transformations appliquées aux données.

Elle ne peut rencontrer d'erreurs que si la valeur en entrée ne correspond pas à la valeur définie dans la transformation.

images/data-imports/data-transformations.png

L'étape "Transformations des données" n'est présente que dans les synchronisations ETL où des transformations ont été définies. Elle sera toujours grisée pour les imports manuels ou API en masse.

Chargements de données

Cette étape est la plus importante de l'import : l'écriture réelle des données dans la licence. Dans le cas d'un ETL multifichier, vous aurez un statut pour chaque fichier.

Vous pouvez d'abord voir la définition de l'étape :

  • Cliquez sur l'icône 'Mapping' pour voir le mapping entre les en-têtes du fichier d'entrée et le nom des attributs dans la table. Vous pouvez également voir le comportement en cas de valeurs vides, existantes ou invalides, ainsi que pour les attributs multivaleurs.
  • Le bouton 'Paramètres' vous permet de voir le mode d'écriture (CREATION, MISE A JOUR, CREATION/MAJ, SUPPRESSION), et si des fichiers d'erreurs et de résultats seront générés pour cette étape

Les résultats d'intégration vous donnent des informations sur le nombre de lignes intégrées dans la table.

  • Le nombre de lignes "lues" est le nombre de lignes trouvées dans les fichiers.
  • Le nombre de lignes "rejetées" est le nombre de lignes qui contiennent une valeur non valide pour l'attribut correspondant (par exemple, une adresse électronique non valide, un code langue non valide, ...). S'il y a au moins une ligne rejetée, le statut global de l'import sera en WARNING. Vous pouvez télécharger le fichier d'erreur pour vérifier les erreurs de validation (à condition que le paramètre generateErrorFiles ait été défini sur true).
  • Le nombre de lignes "insérées" est le nombre de lignes qui n'existaient pas dans Actito et qui ont été créées par l'import.
  • Le nombre de lignes "mises à jour" est le nombre de lignes qui existaient déjà dans Actito mais pour lesquelles une modification de données a été trouvée dans le fichier. Si vous importez une ligne identique à une ligne déjà existante, elle ne sera pas considérée comme une mise à jour. Par conséquent, la somme des lignes rejetées + insérées + mises à jour peut être inférieure au nombre de lignes lues, car certaines lignes existaient déjà sans qu'aucune mise à jour n'ait été apportée à leurs valeurs.
  • Le nombre de lignes "supprimées" ne s'applique qu'aux ETL de type SUPPRESSION, qui ne peuvent que supprimer des données sans créer de nouvel enregistrement.

images/data-imports/data-loading.png

Transfert des fichiers de sortie

Les détails de cette étape vous donnent des informations sur les éventuels fichiers de sortie générés, y compris :

  • La cloud location (FTPS, SFTP, Transferbox) sur lequel les fichiers ont été déposés.
  • Le nom des fichiers.

Les fichiers de sortie des synchronisations ETL ne sont générés que si les paramètres generateErrorFiles et generateResultFiles ont été réglés sur true dans la définition.

https://res.cloudinary.com/dmn1io5db/image/upload/v1686240087/execDetails5_auq8cb.png

Astuce

Les détails de l'exécution apparaissent dans un panneau latéral. Cliquez sur la croix dans le coin supérieur gauche de votre écran pour le quitter.

Récupérer les fichiers de sortie

Les administrateurs et utilisateurs avancés ont la possibilité de retrouver le fichier qui a été importé ainsi que les fichiers de sortie : selon le résultat, il peut s'agir d'un fichier de résultat ou d'un fichier d'erreur.

Les fichiers de sortie des synchronisations ETL sont seulement générés si les paramètres de generateErrorFiles et generateResultFiles ont été configurés en true dans la définition.

Le fichier d'erreur peut vous aider à trouver le problème dans les exécutions en erreur et vous permettre de les corriger.

Il contient les lignes d’origine qui sont tombées en erreur mais avec 2 colonnes en plus :

  • "errorCode": Il s'agit du code d’erreur, qui détaille la raison de l’erreur.
  • "errorColumn": Il s'agit du code d’erreur, qui détaille la raison de l’erreur.

Si plusieurs colonnes sont tombées en erreur pour la même ligne, cette ligne sera répétée une fois par erreur.

Les codes d'erreur possibles sont :

  • "INVALID_FIELD_VALUE": La valeur de la ligne pour le champ indiqué dans "errorColumn" n’est pas valide, parce que le format est incompatible.
  • "DATA_ALREADY_EXISTS": L’erreur survient en mode "createOnly" lorsqu’une des lignes du fichier poussé réfère à une clé business qui existe déjà dans la table.
  • "UNKNOWN_DATA": L’erreur survient en mode "updateOnly" lorsqu’une des lignes du fichier poussé réfère à une clé business qui n’est pas présente dans la table.
  • "DUPLICATE_OBJECT": L’erreur survient quand il y a plusieurs attributs uniques (clés) dans la table et que la ligne à insérer contient des valeurs faisant référence à des enregistrements existants différents pour ces clés multiples.
  • "MISSING_FIELD_VALUE": L’erreur survient car une valeur pour un attribut obligatoire est manquante.

Voir le rapport

Cliquez sur le bouton "Voir le rapport" pour accéder à une copie du rapport d'exécution, identique à celui reçu par e-mail par les destinataires définis dans les paramètres de l'import.

Il affiche aussi la liste de ces destinataires.

https://res.cloudinary.com/dmn1io5db/image/upload/v1686318291/reportImport_bb9eta.png

Astuce

Le rapport d'exécution apparaît dans un panneau latéral. Cliquez sur la croix dans le coin supérieur gauche de votre écran pour le quitter.