tELTOracleOutput - 6.3

Composants Talend Open Studio Guide de référence

EnrichVersion
6.3
EnrichProdName
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Les composants tELTOracleInput, tELTOracleOutput, et tELTOracleMap sont très proches dans leurs conditions de fonctionnement. En effet, ces trois composants sont conçus pour manipuler des schémas de données d'une base Oracle afin de générer des commandes Insert, Update ou Delete y compris des clauses, et ces commandes devront être exécutées dans la table de sortie définie.

Fonction

Le tELTOracleOutput effectue l'action sur la table telle que spécifiée et insère les données selon le schéma de sortie défini dans le Mapper ELT.

Objectif

Ce composant exécute la requête Insert ou Update dans la base de données Oracle.

Propriétés du tELTOracleOutput

Famille du composant

ELT/Map/Oracle

 

Basic settings

Action on data

Sur les données de la table définie, vous pouvez effectuer les opérations suivantes :

Insert : Ajoute de nouvelles lignes à la table. Si des doublons sont identifiés, le Job s'arrête.

Update : Met à jour des lignes existantes.

Delete : Supprime les entrées correspondantes au flux d'entrée.

MERGE : met à jour et/ou insère les données dans la table. Notez que les options disponibles pour les opérations de MERGE sont différentes de celles disponibles pour les opérations d'Insert, d'Update ou de Delete.

Note

Les variables globales suivantes sont disponibles :

  • NB_LINE_INSERTED : Nombre de lignes insérées pendant l'opération d'Insert.

  • NB_LINE_UPDATED : Nombre de lignes mises à jour pendant l'opération d'Update.

  • NB_LINE_DELETED : Nombre de lignes supprimées pendant l'opération de Delete.

  • NB_LINE_MERGED : Nombre de lignes insérées ou mises à jour pendant l'opération de MERGE.

 

Schema et Edit schema

Un schéma est une description de lignes, il définit le nombre de champs qui sont traités et passés au composant suivant. Le schéma est soit local (built-in) soit distant dans le Repository.

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend.

Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir le schéma.

  • Change to Built-In property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs. Si vous souhaitez propager les modifications uniquement au Job courant, cliquez sur No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

 

 

Built-in : Le schéma sera créé et conservé pour ce composant seulement. Voir également le Guide utilisateur du Studio Talend.

 

 

Repository : Le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans divers projets et Jobs. Voir également le Guide utilisateur du Studio Talend.

 

Where clauses for (for UPDATE and DELETE only)

Saisissez la clause permettant de filtrer les données à mettre à jour ou à supprimer lors des opérations de mise à jour ou de suppression.

 

Use Merge Update (pour MERGE)

Cochez cette case pour mettre à jour des données de votre table de sortie.

Column : Liste des colonnes du flux d'entrée.

Update : Cochez la case correspondant au nom de la colonne que vous souhaitez mettre à jour.

Use Merge Update Where Clause : Cochez cette case et saisissez la clause WHERE permettant de filtrer les données à mettre à jour, si nécessaire.

Use Merge Update Delete Clause : Cochez cette case et saisissez la clause WHERE permettant de filtrer les données à supprimer et mettre à jour, si nécessaire.

 

Use Merge Insert (pour MERGE)

Cochez cette case pour insérer des données dans la table.

Column : Liste des colonnes du flux d'entrée.

Check All : Cochez la case correspondant au nom de la colonne que vous souhaitez insérer.

Use Merge Update Where Clause : Cochez cette case et saisissez la clause WHERE permettant de filtrer les données à insérer.

 

Default Table Name

Saisissez le nom de la table par défaut.

 

Default Schema Name

Saisissez le nom du schéma Oracle par défaut.

 

Use different table name

Cochez cette case afin de définir le nom d'une table de sortie différente, entre guillemets doubles, dans le champ Table name qui apparaît.

Advanced settings Use Hint Options

Cochez cette case pour activer la zone de configuration des hints lorsque vous souhaitez utiliser un hint pour optimiser l'exécution d'une requête. Dans cette zone, les paramètres sont :

- HINT : spécifiez l'hint dont vous avez besoin dans une instruction SQL.

- POSITION : spécifiez où mettre l'hint dans une instruction SQL.

- SQL STMT : sélectionnez l'instruction SQL dont vous avez besoin.

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau du composant.

Global Variables

NB_LINE : nombre de lignes lues par un composant d'entrée ou passées à un composant de sortie. Cette variable est une variable After et retourne un entier.

NB_LINE_INSERTED : nombre de lignes insérées. Cette variable est une variable After et retourne un entier.

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, si le composant a cette option.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation

L'utilisation du composant tELTOracleOutput est étroitement liée à celle des composants tELTOracleInput et tELTOracleMap. Notez que le lien de sortie (output) à utiliser avec ces deux composants doit respecter strictement la syntaxe du nom de la table.

Note

Les composants ELT ne traitent pas le flux de données lui-même mais uniquement les informations du schéma.

Log4j

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Scénario : Utiliser la fonction MERGE d'Oracle pour mettre à jour et insérer simultanément des données

Ce scénario décrit un Job vous permettant d'ajouter de nouvelles informations client et de mettre à jour les informations client existantes dans une table de base de données à l'aide de la commande MERGE d'Oracle.

Relier les composants

  1. De la Palette, glissez-déposez les composants suivants dans l'espace de modélisation graphique : tELTOracleInput, tELTOracleMap ainsi qu'un tELTOracleOutput.

  2. Renommez le tELTOracleInput en new_customer, le tELTOracleMap en ELT Mapper et le tELTOracleOutput en merge_data.

  3. Reliez le tELTOracleInput au tELTOracleMap à l'aide d'un lien Row > New Output (table).

    Dans la boîte de dialogue qui s'ouvre, saisissez le nom de la table, NEW_CUSTOMERS. Ce nom doit correspondre au nom de la table de la base de données existante.

  4. Reliez le tELTOracleMap au tELTOracleOutput à l'aide d'un lien Row > New Output (table).

    Dans la boîte de dialogue qui s'ouvre, saisissez le nom de la table de la base de données, customers_merge, qui recevra les résultats de l'opération de MERGE.

Configurer les composants

  1. Double-cliquez sur le tELTOracleInput afin d'afficher sa vue Basic settings.

  2. Dans la liste Schema, sélectionnez Repository, cliquez sur le bouton [...] à côté du champ Edit Schema puis sélectionnez votre connexion de base de données ainsi que le schéma souhaité dans la boîte de dialogue [Repository Content].

    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_Oracle et le schéma est new_customers.

    Note

    Dans ce scénario, le schéma d'entrée est stocké sous le nœud Metadata du Repository afin de le retrouver facilement. Pour plus d'informations concernant les métadonnées, consultez le Guide utilisateur du Studio Talend.

    Vous pouvez également sélectionner le composant d'entrée en déposant le schéma correspondant de la zone Metadata dans l'espace de modélisation graphique et en double-cliquant sur le tELTOracleInput dans la boîte de dialogue [Components]. Cela vous permet d'éviter les étapes de nommage du composant d'entrée ainsi que la définition manuelle de son schéma.

  3. Cliquez sur le composant tELTOracleMap afin d'afficher sa vue Basic settings.

  4. Sélectionnez Repository dans la liste Property Type et choisissez la connexion à la base de données que vous avez utilisée pour les composants d'entrée.

    Les informations relatives à la base de données sont automatiquement récupérées.

    Laissez les autres champs tels qu'ils sont.

  5. Double-cliquez sur le composant tELTOracleMap afin d'ouvrir l'ELT Map Editor et configurer le flux de transformation de données.

    Affichez la table d'entrée en cliquant sur le bouton [+] dans le coin supérieur gauche de l'ELT Map Editor et en sélectionnant le nom de la table correspondante dans le boîte de dialogue [Add a new alias].

    Dans ce scénario, la seule table d'entrée est new_customers.

  6. Sélectionnez toutes les colonnes de la table d'entrée et déposez-les dans la table de sortie.

  7. Cliquez sur Generated SQL Select query pour afficher l'instruction de la requête à exécuter.