Agréger les colonnes d'une table et appliquer un filtre - 6.5

ELT Teradata

author
Talend Documentation Team
EnrichVersion
6.5
EnrichProdName
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 Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement > Systèmes tiers > Composants ELT > Composants ELT Teradata
Gouvernance de données > Systèmes tiers > Composants ELT > Composants ELT Teradata
Qualité et préparation de données > Systèmes tiers > Composants ELT > Composants ELT Teradata
EnrichPlatform
Studio Talend

Le scénario suivant décrit un Job rassemblant plusieurs schémas d'une table de base de données en entrée puis utilise une clause dans la requête SQL afin de filtrer les données en sortie.

Pour plus d'informations concernant les technologies supportées par Talend, consultez Composants Talend.

  • Cliquez et déposez les composants suivants de la Palette dans l'espace de modélisation graphique : trois tELTMysqlIntput, un tELTMysqlMap, et un tELTMysqlOutput.
  • Double-cliquez sur le premier tELTMysqlInput afin d'afficher sa vue Basic settings.
  • Dans la liste Schema, sélectionnez Repository, cliquez sur le bouton [...] à côté du champ Edit schema. Dans la boîte de dialogue [Repository Content], sélectionnez votre connexion à la base de données ainsi que le schéma souhaité.

    Le nom du schéma sélectionné apparaît automatiquement dans le champ Default Table Name.

    Dans ce scénario, la connexion à la base de données est  Talend_MySQL et le schéma pour le premier composant d'entrée est owners.

  • Configurez les deuxième et troisième composants tELTMysqlInput de la même manière, mais sélectionnez cars et resellers respectivement comme nom de schéma.
Remarque : Dans ce scénario, tous les schémas d'entrée sont stockés dans la zone Metadata du Repository, afin que vous les retrouviez facilement. Pour plus d'informations concernant les métadonnées, consultez le Guide utilisateur du Studio Talend .

Vous pouvez également sélectionner les trois composants d'entrée en déposant les schémas correspondants de la zone Metadata dans l'espace de modélisation graphique et en double-cliquant sur le composant tELTMysqlInput dans la boîte de dialogue [Components]. Cela vous permet d'éviter les étapes de nommage des composants et de définition de leur schéma.

  • Reliez les trois composants tELTMysqlInput au composant tELTMysqlMap à l'aide de liens nommés strictement selon le nom des tables de la base de données : owners, cars et resellers.
  • Reliez ensuite le composant tELTMysqlMap au tELTMysqlOutput et nommez le lien agg_result, qui est le nom de la table de la base de données dans laquelle vous allez sauvegarder le résultat de l'agrégation.
  • Cliquez sur le composant tELTMysqlMap afin d'afficher sa vue Basic settings et configurer ses propriétés.
  • Sélectionnez Repository dans la liste Property Type et sélectionnez la connexion à la base de données utilisée pour les composants d'entrée.

    Toutes les informations de la base de données sont automatiquement récupérées.

  • Laissez les paramètres configurés par défaut.
  • Double-cliquez sur le composant tELTMysqlMap afin d'ouvrir le Map Editor pour mettre en place les jointures entre les tables d'entrée (Input) et configurer le flux de sortie.
  • Ajoutez les tables d'entrée en cliquant sur le bouton [+] dans le coin supérieur gauche de l'éditeur et sélectionnez les noms des tables correspondants dans la boîte de dialogue [Add a new alias].
  • Glissez-déposez la colonne ID_Owner à partir de la table owners vers la colonne correspondante dans la table cars.
  • Dans la table cars, cochez la case Explicit Join en face de ID_Owners.

    Une jointure INNER JOIN, le type de jointure par défaut, s'affiche dans la liste des jointures.

  • Glissez la colonne ID_Resellers à partir de la table cars vers la colonne correspondante de la table Resellers pour mettre en place la seconde jointure. Définissez à nouveau une option de jointure INNER JOIN.
  • Puis sélectionnez les colonnes à agréger dans la table de sortie, agg_result.
  • Déposez les colonnes ID_Owners, Name et ID_Insurance de la table owners dans la table de sortie.
  • Déposez les colonnes Registration, Make et Color de la table cars dans la table de sortie.
  • Déposez les colonnes Name_Reseller et City de la table resellers dans la table de sortie.
  • Avec les colonnes correspondantes sélectionnées, la mise en correspondance apparaît en jaune et les jointures en violet.
  • Appliquez un filtre sur la table de sortie. Cliquez sur le bouton Add filter row en haut de la table de sortie afin d'afficher le champ textuel Additional clauses, déposez la colonne City de la table resellers dans le champ textuel puis définissez la clause WHERE : resellers.City ='Augusta'.
  • Cliquez sur l'onglet Generated SQL Select query afin d'afficher l'instruction SQL correspondante.
  • Cliquez OK pour sauvegarder le paramétrage de l'ELT Map.
  • Double-cliquez sur le composant tELTMysqlOutput afin d'afficher sa vue Basic settings.
  • Dans la liste Action on data sélectionnez l'action que vous souhaitez effectuer sur les données.
  • Sélectionnez Repository dans la liste Schema et définissez le schéma de sortie de la même manière que pour les schémas d'entrée. Notez que le schéma de sortie doit être nommé comme la table dans laquelle vous souhaitez sauvegarder vos résultats d'aggrégation, agg_result dans ce scénario.
Remarque : Vous pouvez également utiliser un schéma en mode Built-In et récupérer la structure du schéma du composant précédent. Cependant, vous devez être sûr d'avoir spécifié une table cible existant dans votre base de données, ayant la même structure de données.
  • Laissez les autres paramètres configurés par défaut.
  • Sauvegardez votre Job et appuyez sur la touche F6 pour l'exécuter.

    Toutes les données sélectionnées sont insérées dans la table agg_result comme spécifié dans l'instruction SQL.