Traitement des tables Lookup volumineuses - 7.3

Exemples de Jobs d'intégration de données

Version
7.3
Language
Français (France)
Product
Talend
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Studio Talend
Content
Création et développement > Création de Jobs

Cet article présente un cas d'utilisation spécifique et présente un moyen de gérer le problème dans le Studio Talend.

Dans ce scénario, vous avez une table source contenant des centaines de millions d'enregistrements. Ces données d'entrée sont utilisées pour effectuer un lookup sur les données d'une table contenant également des centaines de millions d'enregistrements dans une base de données différente. Les données source combinées aux données de Lookup seront insérées ou mises à jour dans une table cible.

Hypothèses

  1. La table source et la table Lookup ont une colonne en commun, pouvant être utilisée dans la condition de jointure.
  2. Les tables source et Lookup sont situées dans deux SGBD différents.

Description du problème

Vous avez un Job simple lisant des données source depuis la table cust et effectuant un lookup sur la table CUST_LOCATIONS à l'aide de la colonne location_id. Cela s'effectue dans le tMap.

Si vous exécutez ce Job, il s'exécute et dépasse la mémoire allouée en essayant de charger les données de lookup complètes (70millions de lignes) dans la mémoire. Ce Job fonctionne pour des petits chargements. Si vous avez des centaines de millions d'enregistrements dans la table source et la table Lookup, il est relativement inefficace.

Il est recommandé de configurer le stockage (Store) des données temporaires à true, si vous avez des lookups volumineux.

Cela ne suffit toujours pas pour ce scénario.