Source de données de type personnalisé (chargement par script)
Utilisez un script personnalisé pour stocker n’importe quel type de données entrantes dans la table des jeux d’importation.
Lorsque vous sélectionnez un type de personnalisation (chargement par script) pour votre source de données, le champ Data Loader (Chargeur de données ) s’affiche. Le champ Data Loader (Chargeur de données ) est un champ JavaScript dans lequel vous pouvez entrer un script pour extraire des données et les insérer dans la table d’ensembles de données à importer à l’aide du paramètre d’entrée import_set_table . Par exemple, vous pouvez entrer un script pour obtenir des données à partir d’une API REST ou d’une pièce jointe.
Script du chargeur de données
import_set_table: table d’ensembles de données à importer mentionnée dans l’enregistrement de source de données. Les données sont insérées dans cette table.data_source: source de données à laquelle il est fait référence dans l’enregistrement de la source de données.import_log: journal qui enregistre des informations sur l’activité d’importation de données.last_success_import_time: la dernière fois que cette source de données a été exécutée avec succès.partition_info: informations de partitionnement des données. Utilisé pour le chargement parallèle.
addColumn(étiquette, maxLength): ajoute une colonne de type chaîne à la table de jeux d’importation.addJSONColumn(étiquette, maxLength): ajoute une colonne de type JSON à la table d’ensembles de données à importer.addXMLColumn(étiquette, maxLength): ajoute une colonne de type XML à la table de jeux d’importation.insert(rowData): insère une carte (clé = nom de colonne, valeur = valeur de colonne) dans la table de jeux d’importation.getMaximumRows(): renvoie 20 lorsque vous sélectionnez Tester le chargement de 20 enregistrements. Dans tous les autres cas, renvoie -1.
Exemple de chargeur de données
Script de chargement parallèle
parallel_job_loader: table Tâches parallèles [sys_parallel_job].data_source: source de données à laquelle il est fait référence dans l’enregistrement de la source de données.import_log: journal qui enregistre des informations sur l’activité d’importation de données.last_success_import_time: la dernière fois que cette source de données a été exécutée avec succès.
Le paramètre parallel_job_loader a la méthode add(partitionInfo), qui ajoute les informations de partition à la table Tâches parallèles [sys_parallel_job].
Exemple de chargement parallèle
Dans cet exemple, le script de chargement parallèle partitionne les données en sections plus petites à charger en parallèle. Le script du chargeur de données charge les données dans la table de jeux d’importation et ajoute une nouvelle partition pour traiter les données après un délai de 120 secondes.
Délais de chargement parallèle, état et propriétés
Pour la plupart des tâches parallèles, les données sont disponibles lorsque le script Data Loader s’exécute, vous n’avez donc pas besoin d’ajouter de tâches parallèles au script Data Loader.
Si les données ne sont pas immédiatement disponibles, vous pouvez créer une tâche parallèle supplémentaire avec un délai dans le script du chargeur de données. Lorsque le script Data Loader s’exécute, la tâche parallèle est planifiée pour s’exécuter après la durée spécifiée par le délai.
Lors de l’ajout de tâches parallèles au script du chargeur de données, évitez les boucles répétitives. Vous pouvez éviter les boucles répétitives en spécifiant une contrainte. Dans l’exemple précédent, le travail parallèle du script Data Loader utilise la contrainte (partition.start < 1000). Les retards se mesurent en secondes.
Vous pouvez vérifier l’état de vos tâches d’importation parallèle en cours en accédant à la table Jeux concurrents d’importation [sys_concurrent_import_set], en sélectionnant votre tâche et en affichant l’onglet Tâches parallèles.
Les tâches retardées peuvent s’afficher comme En attente en fonction de la durée du retard. Les travaux parallèles sont traités à partir de la file d’attente des événements, de sorte que vous pouvez également afficher vos travaux en accédant à la table Événements [sysevent] et en filtrant par [File d’attente] [est] [impex_parallel_job_queue].
Si une tâche est bloquée dans un état En cours d’exécution pendant plus de 600 minutes, elle est automatiquement remise dans un état En attente . Vous pouvez modifier la durée pendant laquelle une tâche parallèle est autorisée à être bloquée à l’état En cours d’exécution avec la com.glide.system_parallel_job_inactive_time_minutes propriété.
Si une tâche parallèle ne peut pas se terminer après deux tentatives, la tâche est définie sur Erreur. Vous pouvez modifier le nombre de tentatives avant d’avoir un état d’erreur avec la com.glide.system_parallel_job_max_retry_count propriété. La com.glide.system_parallel_job_auto_retry propriété peut être définie sur false pour désactiver la nouvelle tentative automatique.
Saisie semi-automatique du script
Lorsque vous tapez le script, la saisie semi-automatique du script affiche les options disponibles, comme illustré dans cet exemple.