tRedshiftOutput - 6.3

Composants Talend Guide de référence

EnrichVersion
6.3
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 Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Fonction

Le composant tRedshiftOutput exécute l'action définie sur la table et/ou sur les données d'une table, en fonction du flux entrant provenant du composant précédent.

Objectif

Le tRedshiftOutput écrit, met à jour, modifie ou supprime les données d'une base de données.

Selon la solution Talend que vous utilisez, ce composant peut être utilisé dans un framework de Jobs, dans plusieurs, ou dans tous les frameworks :

Propriétés du tRedshiftOutput

Famille du composant

Databases/Amazon/Redshift

 

Basic settings

Property type

Peut être Built-in ou Repository.

 

 

Built-in : Propriétés utilisées ponctuellement.

 

 

Repository : Sélectionnez le fichier de propriétés du composant. Les champs suivants sont alors pré-remplis à l'aide des données collectées.

 

Cliquez sur cette icône pour ouvrir l'assistant de configuration de connexion à la base de données et enregistrer les paramètres de connexion que vous avez définis dans la vue Basic settings du composant.

Pour plus d'informations sur comment définir et stocker des paramètres de connexion de base de données, consultez le Guide utilisateur du Studio Talend.

 

Use an existing connection

Cochez cette case et sélectionnez le composant de connexion adéquat à partir de la liste Component List pour réutiliser les paramètres d'une connexion que vous avez déjà définie.

Note

Lorsqu'un Job contient un Job parent et un Job enfant, si vous souhaitez utiliser une connexion existant entre les deux niveaux, par exemple pour partager la connexion créée par le Job parent avec le Job enfant, vous devez :

  1. Au niveau parent, enregistrer la connexion à la base de données à partager, dans la vue Basic settings du composant de connexion créant cette connexion.

  2. Au niveau enfant, utiliser un composant dédié à la création de connexion, afin de lire la connexion enregistrée.

Pour plus d'informations concernant le partage d'une connexion à travers différents niveaux de Jobs, consultez le Guide utilisateur du Studio Talend.

 

Host

Adresse IP du serveur de base de données.

 

Port

Numéro du port d'écoute du serveur de base de données.

 

Database

Nom de la base de données.

 

Schema

Nom exact du schéma.

 

Username et Password

Informations d'authentification de l'utilisateur de la base de données.

Pour saisir le mot de passe, cliquez sur le bouton [...] à côté du champ Password, puis, dans la boîte de dialogue qui s'ouvre, saisissez le mot de passe entre guillemets doubles et cliquez sur OK afin de sauvegarder les paramètres.

 

Additional JDBC Parameters

Définissez des propriétés JDBC supplémentaires pour la connexion que vous créez. Les propriétés sont séparées par une esperluette et chaque propriété est une paire clé-valeur. Par exemple, ssl=true & sslfactory=com.amazon.redshift.ssl.NonValidatingFactory, qui signifie que la connexion sera créée en utilisant le SSL.

 

Table

Nom de la table à créer. Vous ne pouvez créer qu'une seule table à la fois.

 

Action on table

Vous pouvez effectuer l'une des opérations suivantes sur les données de la table sélectionnée :

None : n'effectuer aucune opération de table.

Drop and create the table : supprimer la table puis en créer une nouvelle.

Create a table : créer une table qui n'existe pas encore.

Create table if doesn't exist : créer la table si nécessaire.

Drop a table if exists and create : supprimer la table si elle existe déjà, puis en créer une nouvelle.

Clear a table : supprimer le contenu de la table.

 

Action on data

Vous pouvez effectuer les opérations suivantes sur les données de la table sélectionnée :

Insert : Ajouter de nouvelles entrées à la table. Le Job s'arrête lorsqu'il détecte des doublons.

Update : Mettre à jour les entrées existantes.

Insert or update : insère un nouvel enregistrement. Si l'enregistrement avec la référence donnée existe déjà, une mise à jour est effectuée.

Update or insert : met à jour l'enregistrement avec la référence donnée. Si l'enregistrement n'existe pas, un nouvel enregistrement est inséré.

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

Avertissement

Il est nécessaire de spécifier au minimum une colonne comme clé primaire sur laquelle baser les opérations Update et Delete. Pour cela, cliquez sur le bouton [...] à côté du champ Edit Schema et cochez la ou les case(s) correspondant à la ou aux colonne(s) que vous souhaitez définir comme clé(s) primaire(s). Pour une utilisation avancée, cliquez sur l'onglet Advanced settings pour définir simultanément les clés primaires sur lesquelles baser les opérations de mise à jour (Update) et de suppression (Delete). Pour cela, cochez la case Use field options et sélectionnez la case Key in update correspondant à la colonne sur laquelle baser votre opération de mise à jour (Update). Procédez de la même manière avec les cases Key in delete pour les opérations de suppression (Delete).

 

Schema et Edit Schema

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

Ce composant offre la fonction de schéma dynamique. Cela vous permet de récupérer des colonnes inconnues à partir de fichiers source ou de copier des lots de colonnes d'une source sans avoir à mapper individuellement ces colonnes. Pour plus d'informations concernant les schémas dynamiques, consultez le Guide utilisateur de Studio Talend.

Cette fonctionnalité de schéma dynamique est conçue pour permettre de récupérer des colonnes inconnues d'une table. Il est recommandé de l'utiliser uniquement à cet effet et non pour créer des tables.

 

 

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

 

 

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

Lorsque le schéma à réutiliser contient des valeurs par défaut, qui sont des entiers (integer) ou des fonctions (function), assurez-vous que les valeurs par défaut ne sont pas entourées de guillemets. Si c'est le cas, vous devez supprimer manuellement les guillemets.

Pour plus d'informations, consultez l'article Vérification des valeurs par défaut dans un schéma récupéré sur Talend Help Center (https://help.talend.com).

  

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].

 

Die on error

Cette case est cochée par défaut et stoppe le Job en cas d'erreur. Décochez cette case pour terminer le traitement avec les lignes sans erreur, et ignorer les lignes en erreur. Vous pouvez récupérer les lignes en erreur, si vous le souhaitez. Pour cela, utilisez un lien Row > Rejects.

Advanced settings

Extend Insert

Cochez cette case pour effectuer une insertion de masse d'un ensemble de lignes défini et non les insérer ligne par ligne. Le gain de performance est considérable.

Number of rows per insert : saisissez le nombre de lignes à insérer par opération. Notez que, plus la valeur spécifiée est grande, plus la performance est faible, à cause de l'augmentation de la sollicitation de la mémoire.

Note

Cette option est incompatible avec le lien Reject. Vous devez décochez la case si vous utilisez un lien Row > Rejects avec ce composant.

 

Use Batch

Cochez cette case pour activer le mode de traitement par lots pour le traitement des données.

Note

Cette case est disponible uniquement lorsque vous sélectionnez Update ou Delete dans la liste Action on data.

 

Batch Size

Spécifiez le nombre d'enregistrements à traiter dans chaque lot.

Ce champ est disponible uniquement lorsque la case Use batch mode est cochée.

 

Commit every

Nombre de lignes à inclure dans le lot avant de commencer l'écriture dans la base. Cette option garantit la qualité de la transaction (cependant pas de rollback) et surtout une meilleure performance d'exécution.

 

Additional Columns

Cette option n'est pas disponible si vous venez de créer la table de données (que vous l'ayez préalablement supprimée ou non). Cette option vous permet d'effectuer des actions sur les colonnes, à l'exclusion des actions d'insertion, de mise à jour, de suppression ou qui nécessitent un prétraitement particulier.

 

 

Name : Saisissez le nom de la colonne à modifier ou à insérer.

 

 

SQL expression : Saisissez la déclaration SQL à exécuter pour modifier ou insérer les données dans les colonnes correspondantes.

 

 

Position : Sélectionnez Before, Replace ou After, en fonction de l'action à effectuer sur la colonne de référence.

 

 

Reference column: Saisissez une colonne de référence que le composant tDBOutput peut utiliser pour situer ou remplacer la nouvelle colonne ou celle à modifier.

 

Use field options

Cochez cette case pour personnaliser une requête, surtout lorsqu'il y a plusieurs actions sur les données.

 

tStatCatcher Statistics

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

 

Enable parallel execution

Cocher cette case permet de traiter plusieurs flux de données simultanément. Cela permet de traiter les données plus rapidement. Notez que cette fonctionnalité dépend de la capacité de la base de données ou de l'application à gérer plusieurs insertions en parallèle ainsi que le nombre de processeurs utilisés. Dans le champ Number of parallel executions, vous pouvez :

  • Saisir le nombre d'exécutions parallèles désiré.

  • Appuyer sur Ctrl+Espace et sélectionner la variable de contexte dans la liste. Pour plus d'informations, consultez le Guide utilisateur du Studio Talend.

Notez que, lorsque l'exécution parallèle est activée, il n'est pas possible d'utiliser les variables globales pour récupérer les valeurs de retour dans un sous-job.

Avertissement

  • Le champ Action on table n'est pas disponible avec la fonction de parallélisation. Ainsi, pour créer une table, vous devez utiliser un composant tCreateTable.

  • Lorsque l'exécution parallèle est activée, il n'est pas possible d'utiliser les variables globales pour retrouver les valeurs de retour dans un sous-job.

Dynamic settings

Cliquez sur le bouton [+] pour ajouter une ligne à la table. Dans le champ Code, saisissez une variable de contexte afin de sélectionner dynamiquement votre connexion à la base de données parmi celles prévues dans votre Job. Cette fonctionnalité est utile si vous devez accéder à plusieurs tables de bases de données ayant la même structure mais se trouvant dans différentes bases de données, en particulier lorsque vous travaillez dans un environnement dans lequel vous ne pouvez pas changer les paramètres de votre Job, par exemple lorsque votre Job doit être déployé et exécuté dans un Studio Talend indépendant.

La table Dynamic settings n'est disponible que si la case Use an existing connection est cochée dans la vue Basic settings. Lorsqu'un paramètre dynamique est configuré, la liste Component List devient inaccessible dans la vue Basic settings.

Pour des exemples sur l'usage des paramètres dynamiques, consultez Scénario 3 : Lire des données dans des bases de données MySQL à l'aide de connexions dynamiques basées sur les variables de contexte et Scénario : Lire des données à partir de différentes bases de données MySQL à l'aide de paramètres de connexion chargés dynamiquement. Pour plus d'informations concernant les Dynamic settings et les variables de contexte, consultez le Guide utilisateur du Studio Talend.

Global Variables

NB_LINE : nombre de lignes traitées. Cette variable est une variable After et retourne un entier.

NB_LINE_UPDATED : nombre de lignes mises à jour. 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.

NB_LINE_DELETED : nombre de lignes supprimées. Cette variable est une variable After et retourne un entier.

NB_LINE_REJECTED : nombre de lignes rejeté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

Ce composant offre la flexibilité des requêtes sur les bases de données et couvre toutes les possibilités des requêtes SQL. Il permet de faire des actions sur une table ou les données d'une table d'une base de données Amazon Redshift. Il permet aussi de créer un flux de rejet avec un lien Row > Reject filtrant les données en erreur. Pour un exemple d'utilisation, consultez Scénario 3 : Récupérer les données erronées à l'aide d'un lien Reject.

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).

Limitation

Du fait d'une incompatibilité de licence, un ou plusieurs Jar requis pour utiliser ce composant ne sont pas fournis. Vous pouvez installer les Jar manquants pour ce composant en cliquant sur le bouton Install dans l'onglet Component. Vous pouvez également trouver les Jar manquants et les ajouter dans l'onglet Modules de la perspective Integration de votre studio. Pour plus d'informations, consultez l'article Installation de modules externes sur Talend Help Center (https://help.talend.com) ou la section décrivant comment configurer le studio, dans le Guide d'installation Talend.

Scénarios associés

Pour un scénario associé, consultez Scénario : Manipuler des données avec Redshift.

Propriétés du tRedshiftOutput dans des Jobs Spark Batch

Famille du composant

Databases/Amazon Redshift

 

Basic settings

Property type

Peut être Built-In ou Repository.

- Built-In : Propriétés utilisées ponctuellement.

- Repository : Sélectionnez le fichier dans lequel sont stockées les propriétés du composant.

 

Cliquez sur cette icône pour ouvrir l'assistant de connexion à la base de données et stocker les paramètres de connexion configurés dans la vue Basic settings.

Pour plus d'informations concernant la configuration et le stockage des paramètres de connexion à la base de données, consultez le Guide utilisateur du Studio Talend.

 

Use an existing connection

Cochez cette case et sélectionnez le composant de connexion adéquat à partir de la liste Component List pour réutiliser les paramètres d'une connexion que vous avez déjà définie.

 

Host

Saisissez l'endpoint de la base de données à laquelle se connecter dans Redshift.

 

Port

Saisissez le numéro du port de la base de données à laquelle vous connecter dans Redshift.

Vous pouvez trouver les informations relatives dans la zone Cluster Database Properties de la console Web de votre Redshift.

Pour plus d'informations, consultez Managing clusters console (en anglais).

 

Username et Password

Saisissez les informations d'authentification à la base de données Redshift à laquelle vous connecter.

Pour saisir le mot de passe, cliquez sur le bouton [...] à côté du champ Password, puis, dans la boîte de dialogue qui s'ouvre, saisissez le mot de passe entre guillemets doubles et cliquez sur OK afin de sauvegarder les paramètres.

 

Database

Saisissez le nom de la base de données à laquelle vous connecter dans Redshift.

Vous pouvez trouver les informations relatives dans la zone Cluster Database Properties de la console Web de votre Redshift.

Pour plus d'informations, consultez Managing clusters console (en anglais).

 

Schema

Saisissez ne nom du schéma de la base de données à utiliser dans Redshift. Le schéma est nommé par défaut PUBLIC.

Un schéma, en termes Redshift , est similaire à un répertoire dans votre système d'exploitation. Pour plus d'informations concernant les schémas Redshift, consultez Schemas (en anglais).

 

Additional JDBC Parameters

Définissez des propriétés JDBC supplémentaires pour la connexion que vous créez. Les propriétés sont séparées par une esperluette et chaque propriété est une paire clé-valeur. Par exemple, ssl=true & sslfactory=com.amazon.redshift.ssl.NonValidatingFactory, qui signifie que la connexion sera créée en utilisant le SSL.

 

S3 configuration

Sélectionnez le composant tS3Configuration à partir duquel vous voulez que Spark utilise les détails de configuration pour se connecter à S3.

Vous devez déposer un composant tS3Configuration à utiliser avec le tRedshiftConfiguration dans le même Job, afin que le tS3Configuration soit affiché dans la liste S3 configuration.

 

S3 temp path

Saisissez l'emplacement dans S3 dans lequel les données à transférer à partir de ou vers Redshift sont temporairement stockées.

Ce chemin est indépendant du chemin temporaire que vous devez définir dans l'onglet Basic settings du composant tS3Configuration.

 

Table

Saisissez le nom de la table dans laquelle écrire les données. Notez que les données peuvent être écrites dans une seule table à la fois.

Si cette table n'existe pas, sélectionnez Create dans la liste Save mode pour permettre au tRedshiftOutput de la créer.

 

Schema et Edit Schema

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

 

 

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

 

 

Repository : Le schéma existe déjà et il est stocké dans le Repository. Ainsi, il peut être réutilisé. Voir également le Guide utilisateur du Studio 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].

 

Save mode

Sélectionnez l'opération que le tRedshiftOutput doit exécuter sur la table spécifiée.

  • Create : le tRedshiftOutput crée la table spécifiée et écrit dans cette table.

  • Append : le tRedshiftOutput ajoute des données dans une table existante.

  • Overwrite : le tRedshiftOutput écrase les données de la table spécifiée.

    Cet écrasement a un impact sur la disponibilité de la table cible. Ainsi, si vous devez garder cette table hautement disponible, vous devez cocher la case Use staging table dans l'onglet Advanced settings pour que le tRedshiftOutput crée et écrive des données dans une table de préparation puis, une fois l'écriture réussie, qu'il remplace la table cible par la table de préparation. Si la table de préparation est activée et que l'écriture échoue, la table cible peut être rapidement restaurée.

Advanced settings

Distribution style

Sélectionnez le style de distribution que le tRedshiftOutput doit appliquer aux données à écrire.

Pour plus d'informations concernant chaque style de distribution, consultez Distribution styles (en anglais).

 

Define sort key

Cochez cette case pour trier les données à écrire selon certaines colonnes des données.

Une fois cette case cochée, vous devez sélectionnez la ou les colonne(s) à utiliser comme clé(s) de tri. Pour plus d'informations concernant les différents types de clés de tri, consultez Choosing sort keys (en anglais).

 

Use staging table

Cochez la case Use staging table pour que le tRedshiftOutput crée et écrive des données dans une table de préparation puis, une fois l'écriture réussie, qu'il remplace la table cible par la table de préparation.

Cette fonctionnalité est seulement disponible si vous avez sélectionné Overwrite dans la liste Save mode et est recommandée lorsque vous devez garder la table cible de l'écrasement hautement disponible.

 

Define pre-actions

Cochez cette case et dans le champ qui s'affiche, ajoutez une liste d'instructions SQL séparées par un point-virgule (;) à exécuter avant que le tRedshiftOutput ne commence à écrire des données.

En utilisant les instructions suivantes, vous pouvez par exemple supprimer toutes les lignes de la table Movie qui remplissent les conditions définies par les tables Movie et Director.

delete from movie using director where movie.movieid=director.directorid;

 

Define post-actions

Cochez cette case et dans le champ qui s'affiche, ajoutez une liste d'instructions SQL séparées par un point-virgule (;) à exécuter après que le tRedshiftOutput ait écrit les données avec succès.

En utilisant les instructions suivantes, vous pouvez par exemple accorder le droit de sélection sur la table Movie à l'utilisateur ychen.

grant select on table movie to ychen;

 

Define extra copy options

Cochez cette case et dans le champ qui s'affiche, ajoutez une liste d'instruction SQL séparées par un point-virgule (;) à exécuter en même temps que l'écriture des données.

Le tRedshiftOutput utilise l'instruction Copy de Redshift SQL pour écrire des données. La liste des instructions SQL est en fait ajoutée à l'instruction Copy. Ainsi, seules les instructions ayant du sens à la fin de la commande Copy devraient être utilisées. Par exemple, l'instruction COMPUPDATE qui est utilisée pour contrôler si les encodages de compression sont automatiquement appliqués durant l'exécution de l'instruction Copy.

Pour plus d'informations sur les options supplémentaires que vous pouvez choisir, consultez Optional parameters (en anglais).

 

Use Timestamp format for Date type

Cochez cette case pour écrire en sortie les dates, heures, minutes et secondes contenues dans vos données de type Date. Si vous décochez cette case, seuls les années, les mois et les jours sont écrits en sortie.

Utilisation dans des Jobs Spark Batch

Ce composant est utilisé en tant que composant de fin et requiert un lien d'entrée.

Ce composant nécessite un tRedshiftConfiguration présent dans le même Job pour se connecter à Redshift. Vous devez déposer un tRedshiftConfiguration avec ce composant et configurer ses paramètres simples (Basic settings) pour l'utiliser.

Ce composant, ainsi que la Palette Spark Batch à laquelle il appartient, ne s'affiche que lorsque vous créez un Job Spark Batch.

Notez que, dans cette documentation, sauf mention contraire, un scénario présente uniquement des Jobs Standard, c'est-à-dire des Jobs Talend traditionnels d'intégration de données.

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).

Spark Connection

Vous devez utiliser l'onglet Spark Configuration de la vue Run afin de définir la connexion à un cluster Spark donné pour le Job complet. De plus, puisque le Job attend ses fichiers .jar dépendants pour l'exécution, un (et un seul) composant relatif à un système de fichiers de la famille Storage est requis au sein du même Job, afin que Spark puisse utiliser ce composant pour se connecter au système de fichiers auquel les fichiers .jar dépendants du Job sont transférés :

Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie.

Scénario associé

Pour un scénario utilisant le même type de composant dans un Job Spark Batch, consultez Écrire/lire des données de/dans MongoDB à l'aide d'un Job Spark Batch.

Propriétés du tRedshiftOutput dans des Jobs Spark Streaming

Famille du composant

Databases/Amazon Redshift

 

Basic settings

Property type

Peut être Built-In ou Repository.

- Built-In : Propriétés utilisées ponctuellement.

- Repository : Sélectionnez le fichier dans lequel sont stockées les propriétés du composant.

 

Cliquez sur cette icône pour ouvrir l'assistant de connexion à la base de données et stocker les paramètres de connexion configurés dans la vue Basic settings.

Pour plus d'informations concernant la configuration et le stockage des paramètres de connexion à la base de données, consultez le Guide utilisateur du Studio Talend.

 

Use an existing connection

Cochez cette case et sélectionnez le composant de connexion adéquat à partir de la liste Component List pour réutiliser les paramètres d'une connexion que vous avez déjà définie.

 

Host

Saisissez l'endpoint de la base de données à laquelle se connecter dans Redshift.

 

Port

Saisissez le numéro du port de la base de données à laquelle vous connecter dans Redshift.

Vous pouvez trouver les informations relatives dans la zone Cluster Database Properties de la console Web de votre Redshift.

Pour plus d'informations, consultez Managing clusters console (en anglais).

 

Username et Password

Saisissez les informations d'authentification à la base de données Redshift à laquelle vous connecter.

Pour saisir le mot de passe, cliquez sur le bouton [...] à côté du champ Password, puis, dans la boîte de dialogue qui s'ouvre, saisissez le mot de passe entre guillemets doubles et cliquez sur OK afin de sauvegarder les paramètres.

 

Database

Saisissez le nom de la base de données à laquelle vous connecter dans Redshift.

Vous pouvez trouver les informations relatives dans la zone Cluster Database Properties de la console Web de votre Redshift.

Pour plus d'informations, consultez Managing clusters console (en anglais).

 

Schema

Saisissez ne nom du schéma de la base de données à utiliser dans Redshift. Le schéma est nommé par défaut PUBLIC.

Un schéma, en termes Redshift , est similaire à un répertoire dans votre système d'exploitation. Pour plus d'informations concernant les schémas Redshift, consultez Schemas (en anglais).

 

Additional JDBC Parameters

Définissez des propriétés JDBC supplémentaires pour la connexion que vous créez. Les propriétés sont séparées par une esperluette et chaque propriété est une paire clé-valeur. Par exemple, ssl=true & sslfactory=com.amazon.redshift.ssl.NonValidatingFactory, qui signifie que la connexion sera créée en utilisant le SSL.

 

S3 configuration

Sélectionnez le composant tS3Configuration à partir duquel vous voulez que Spark utilise les détails de configuration pour se connecter à S3.

Vous devez déposer un composant tS3Configuration à utiliser avec le tRedshiftConfiguration dans le même Job, afin que le tS3Configuration soit affiché dans la liste S3 configuration.

 

S3 temp path

Saisissez l'emplacement dans S3 dans lequel les données à transférer à partir de ou vers Redshift sont temporairement stockées.

Ce chemin est indépendant du chemin temporaire que vous devez définir dans l'onglet Basic settings du composant tS3Configuration.

 

Table

Saisissez le nom de la table dans laquelle écrire les données. Notez que les données peuvent être écrites dans une seule table à la fois.

Si cette table n'existe pas, sélectionnez Create dans la liste Save mode pour permettre au tRedshiftOutput de la créer.

 

Schema et Edit Schema

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

 

 

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

 

 

Repository : Le schéma existe déjà et il est stocké dans le Repository. Ainsi, il peut être réutilisé. Voir également le Guide utilisateur du Studio 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].

 

Save mode

Sélectionnez l'opération que le tRedshiftOutput doit exécuter sur la table spécifiée.

  • Create : le tRedshiftOutput crée la table spécifiée et écrit dans cette table.

  • Append : le tRedshiftOutput ajoute des données dans une table existante.

  • Overwrite : le tRedshiftOutput écrase les données de la table spécifiée.

    Cet écrasement a un impact sur la disponibilité de la table cible. Ainsi, si vous devez garder cette table hautement disponible, vous devez cocher la case Use staging table dans l'onglet Advanced settings pour que le tRedshiftOutput crée et écrive des données dans une table de préparation puis, une fois l'écriture réussie, qu'il remplace la table cible par la table de préparation. Si la table de préparation est activée et que l'écriture échoue, la table cible peut être rapidement restaurée.

Advanced settings

Distribution style

Sélectionnez le style de distribution que le tRedshiftOutput doit appliquer aux données à écrire.

Pour plus d'informations concernant chaque style de distribution, consultez Distribution styles (en anglais).

 

Define sort key

Cochez cette case pour trier les données à écrire selon certaines colonnes des données.

Une fois cette case cochée, vous devez sélectionnez la ou les colonne(s) à utiliser comme clé(s) de tri. Pour plus d'informations concernant les différents types de clés de tri, consultez Choosing sort keys (en anglais).

 

Use staging table

Cochez la case Use staging table pour que le tRedshiftOutput crée et écrive des données dans une table de préparation puis, une fois l'écriture réussie, qu'il remplace la table cible par la table de préparation.

Cette fonctionnalité est seulement disponible si vous avez sélectionné Overwrite dans la liste Save mode et est recommandée lorsque vous devez garder la table cible de l'écrasement hautement disponible.

 

Define pre-actions

Cochez cette case et dans le champ qui s'affiche, ajoutez une liste d'instructions SQL séparées par un point-virgule (;) à exécuter avant que le tRedshiftOutput ne commence à écrire des données.

En utilisant les instructions suivantes, vous pouvez par exemple supprimer toutes les lignes de la table Movie qui remplissent les conditions définies par les tables Movie et Director.

delete from movie using director where movie.movieid=director.directorid;

 

Define post-actions

Cochez cette case et dans le champ qui s'affiche, ajoutez une liste d'instructions SQL séparées par un point-virgule (;) à exécuter après que le tRedshiftOutput ait écrit les données avec succès.

En utilisant les instructions suivantes, vous pouvez par exemple accorder le droit de sélection sur la table Movie à l'utilisateur ychen.

grant select on table movie to ychen;

 

Define extra copy options

Cochez cette case et dans le champ qui s'affiche, ajoutez une liste d'instruction SQL séparées par un point-virgule (;) à exécuter en même temps que l'écriture des données.

Le tRedshiftOutput utilise l'instruction Copy de Redshift SQL pour écrire des données. La liste des instructions SQL est en fait ajoutée à l'instruction Copy. Ainsi, seules les instructions ayant du sens à la fin de la commande Copy devraient être utilisées. Par exemple, l'instruction COMPUPDATE qui est utilisée pour contrôler si les encodages de compression sont automatiquement appliqués durant l'exécution de l'instruction Copy.

Pour plus d'informations sur les options supplémentaires que vous pouvez choisir, consultez Optional parameters (en anglais).

 

Use Timestamp format for Date type

Cochez cette case pour écrire en sortie les dates, heures, minutes et secondes contenues dans vos données de type Date. Si vous décochez cette case, seuls les années, les mois et les jours sont écrits en sortie.

Utilisation dans des Jobs Spark Streaming

Ce composant est utilisé en tant que composant de fin et nécessite un lien d'entrée.

Ce composant nécessite un tRedshiftConfiguration présent dans le même Job pour se connecter à Redshift. Vous devez déposer un tRedshiftConfiguration avec ce composant et configurer ses paramètres simples (Basic settings) pour l'utiliser.

Ce composant, ainsi que les composants Spark Streaming de la Palette à laquelle il appartient, s'affichent uniquement lorsque vous créez un Job Spark Streaming.

Notez que, dans cette documentation, sauf mention contraire, un scénario présente uniquement des Jobs de type Standard, c'est-à-dire des Jobs Talend traditionnels d'intégration de données.

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).

Spark Connection

Vous devez utiliser l'onglet Spark Configuration de la vue Run afin de définir la connexion à un cluster Spark donné pour le Job complet. De plus, puisque le Job attend ses fichiers .jar dépendants pour l'exécution, un (et un seul) composant relatif à un système de fichiers de la famille Storage est requis au sein du même Job, afin que Spark puisse utiliser ce composant pour se connecter au système de fichiers auquel les fichiers .jar dépendants du Job sont transférés :

Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie.

Scénario associé

Pour un scénario utilisant le même type de composant dans un Job Spark Streaming, consultez Lire et écrire des données dans MongoDB à l'aide d'un Job Spark Streaming.