Traiter en masse des tables Lookup volumineuses
Cet article présente comment utiliser le traitement par lots pour gérer des tables Lookup volumineuses.
Une manière de traiter ce problème est d'utiliser un processus nommé Batching (traitement par lots). Le traitement par lots permet de traiter un lot d'enregistrements en une exécution, de manière itérative afin de créer plus de lots et de traiter tous les enregistrements.
Chaque itération va traiter et extraire un nombre fixe d'enregistrements depuis les tables source et Lookup, effectuer une jointure et charger la table cible.
Ainsi, vous pouvez contrôler le nombre d'enregistrements (variable batchrec) en mémoire dans le processus.
Pour ce faire, vous pouvez utiliser les variables de contexte (Context variables), le tLoop, le tContextLoad, le tMap et le tJava.
Procédure
Résultats
Voici le log d'exécution d'exemple. La table source (cust) contient 100 millions de lignes et la table Lookup (CUST_LOCATIONS) contient 70 millions de lignes. Batchrec="10000000".
L'exécution du Job a pris 66 minutes et a utilisé une partie de la mémoire disponible sur le serveur d'exécution. Il n'a pas été affecté par des exceptions relatives à un dépassement de mémoire.