Bonnes pratiques pour traiter des tables Lookup volumineuses
- Exécutez le profiling pour comprendre les données principales et lookup. Grâce aux fonctionnalités de profiling de données Talend, vous pouvez comprendre les modèles et les clés en exécutant une analyse, par exemple une analyse de colonnes, une analyse de redondance, etc.
- Utilisez la table la plus petite en tant que Lookup. Talend lit le lookup en mémoire lorsque le Job est démarré. Plus la taille du Lookup est petite, plus vite le Job peut traiter les données.
- Chargez le nombre minimal de colonnes nécessaire dans la table lookup pour optimiser l'utilisation de la mémoire. Supprimez toutes les colonnes non utilisées.
- Utilisez des clés de bloc si votre table lookup est volumineuse mais que les clés de lookup ne sont pas fréquemment modifiées.
Chargez les clés de lookup basées sur l'analyse de données dans une table en tant qu'étape initiale et utilisez cette table en tant que table de lookup dans le Job de lookup. Ainsi, seul un sous-ensemble des enregistrements est utilisé dans le lookup. Les clés de bloc peuvent être une concaténation de colonnes. Une analyse peut être effectuée sur les clés de bloc afin de comprendre la distribution définissant le nombre de lookups à réaliser, ainsi que le nombre de lignes dans chaque lookup. Pour plus d'informations concernant l'utilisation des clés de bloc dans les analyses de rapprochement, consultez Créer une analyse de rapprochement. Dans ce scénario spécifique, aucun rapprochement complexe n'est effectué. Cependant, une clé de bloc est un bon moyen de réduire le jeu de données à charger dans la mémoire pour le lookup. Vous pouvez concevoir votre propre clé de bloc personnalisée.
- Si les tables source et de lookup sont dans la même base de données, envisagez l'utilisation de jointures de base de données pour le lookup. Les colonnes sélectionnées par la condition de jointure peuvent être ajoutées au composant d'entrée. Le schéma doit être mis à jour en fonction.
- Utilisez les composants ELT (tELT*) si les tables source et de lookup sont situées dans la même base de données. Cela peut être une bonne option si la base de données a suffisamment de ressources pour gérer le SQL Talend, automatiquement généré. C'est également une bonne option si les transformations nécessaires peuvent être gérées par la base de données.
- N'utilisez pas l'option Reload for every row dans le cas de lookups volumineux. Ce paramètre doit être utilisé lorsque la table de lookup est modifiée, pendant l'exécution du Job. Utilisez ce paramètre si le Job doit charger les dernières modifications dans la table de lookup.
- Comprenez l'infrastructure sur laquelle le Job de lookup Talend va s'exécuter. Il est utile de savoir à quel point les systèmes seront occupés lors de l'exécution du Job. Connaître les différents processus ou les autres Jobs Talend s'exécutant sur Talend JobServer et planifier les Jobs consommant beaucoup de mémoire, comme les lookups fait partie des bonnes pratiques.