# Propriétés du tRedshiftOutput pour Apache Spark Batch

Ces propriétés sont utilisées pour configurer le tRedshiftOutput s'exécutant dans le framework de Jobs Spark Batch.

Le composant tRedshiftOutput Spark Batch appartient à la famille Bases de données.

Le composant de ce framework est disponible dans tous les produits Talend avec Big Data et dans Talend Data Fabric.

## Basic settings

| Property type | Peut être Built-In ou Repository.<br><br>Built-In : aucune propriété n'est stockée de manière centrale.<br><br>Repository : Sélectionnez le fichier dans lequel sont stockées les propriétés du composant. |
| --- | --- |
| ![](https://help.qlik.com/talend/fr-FR/components/7.3/Resources/images/Save_Icon.png) | 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.<br><br>Pour plus d'informations concernant la configuration et le stockage des paramètres de connexion à la base de données, consultez le Guide d'utilisation du Studio Talend. |
| Use an existing connection | Cochez cette case et sélectionnez le composant de connexion adéquat dans 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.<br><br>Vous pouvez trouver les informations relatives dans la zone Cluster Database Properties de la console Web de votre Redshift.<br><br>Pour plus d'informations, consultez [Gestion des clusters à l'aide de la console](https://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/managing-clusters-console.html) (uniquement en anglais). |
| Username et Password | Saisissez les informations d'authentification à la base de données Redshift à laquelle vous connecter.<br><br>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.<br><br>Vous pouvez trouver les informations relatives dans la zone Cluster Database Properties de la console Web de votre Redshift.<br><br>Pour plus d'informations, consultez [Gestion des clusters à l'aide de la console](https://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/managing-clusters-console.html) (uniquement en anglais).<br><br>Le bucket et la base de données Redshift à utiliser doivent se situer dans la même région sur Amazon. Cela permet d'éviter les erreurs S3ServiceException d'Amazon. Pour plus d'informations concernant ces erreurs, consultez [S3ServiceException Errors](https://docs.aws.amazon.com/redshift/latest/dg/s3serviceexception-error.html) (uniquement en anglais) (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*.<br><br>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 [Schémas](https://docs.aws.amazon.com/fr_fr/redshift/latest/dg/r_Schemas_and_tables.html) (uniquement 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.<br><br>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.<br><br>Ce chemin est indépendant du chemin temporaire que vous devez définir dans l'onglet Basic settings (Paramètres de base du composant tS3Configuration. |
| Table | Saisissez le nom de la table dans laquelle écrire les données. Notez que seule une table peut être écrite à la fois.<br><br>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) à traiter et à passer au composant suivant. Lorsque vous créez un Job Spark, évitez le mot réservé line lors du nommage des champs. |
|  | Built-in : le schéma est créé et conservé localement pour ce composant seulement. |
|  | Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans des Jobs et projets. |
|  | Créez le schéma en cliquant sur le bouton Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :<br><br><ul> <li> <p> <span>View schema</span>&nbsp;: sélectionnez cette option afin de voir uniquement le schéma.</p> </li> <li> <p> <span>Change to built-in property</span>&nbsp;: sélectionnez cette option pour passer le schéma en mode <span>Built-In</span> et effectuer des modifications locales.</p> </li> <li> <p> <span>Update repository connection</span>&nbsp;: 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 <span>No</span> et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre <span>Repository Content</span>.</p> </li> </ul> |
| Save mode | Sélectionnez l'opération que le tRedshiftOutput doit exécuter sur la table spécifiée.<br><br><ul> <li> <p> <span>Create</span> : le <span>tRedshiftOutput</span> crée la table spécifiée et écrit dans cette table.</p> </li> <li> <p> <span>Append</span> : le <span>tRedshiftOutput</span> ajoute des données dans une table existante.</p> </li> <li> <p> <span>Overwrite</span> : le <span>tRedshiftOutput</span> écrase les données de la table spécifiée.</p> <p>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 <span>Use staging table</span> dans l'onglet <span>Advanced settings</span> pour que le <span>tRedshiftOutput</span> 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.</p> </li> </ul> |

## Advanced settings

| Distribution style | Sélectionnez le style de distribution que le tRedshiftOutput doit appliquer aux données à écrire.<br><br>Pour plus d'informations concernant chaque style de distribution, consultez [Styles de distribution](https://docs.aws.amazon.com/fr_fr/redshift/latest/dg/c_choosing_dist_sort.html) (uniquement en anglais). |
| --- | --- |
| Define sort key | Cochez cette case pour trier les données à écrire selon certaines colonnes des données.<br><br>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 [Choix des clés de tri](https://docs.aws.amazon.com/fr_fr/redshift/latest/dg/c_choosing_dist_sort.html) (uniquement 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.<br><br>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.<br><br>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*.<br><br>```<br>delete from movie using director where movie.movieid=director.directorid;<br>``` |
| 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 a écrit les données avec succès.<br><br>En utilisant les instructions suivantes, vous pouvez par exemple accorder le droit de sélection sur la table *Movie* à l'utilisateur ou l'utilisatrice *ychen*.<br><br>```<br>grant select on table movie to ychen;<br>``` |
| 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.<br><br>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.<br><br>Pour plus d'informations concernant les options supplémentaires que vous pouvez choisir, consultez [Paramètres facultatifs](https://docs.aws.amazon.com/fr_fr/redshift/latest/dg/r_COPY.html#r_COPY-syntax-overview-optional-parameters) (uniquement en anglais). |

## Utilisation

| **Règle d'utilisation** | Ce composant est utilisé en tant que composant de fin et requiert un lien d'entrée.<br><br>Ce composant nécessite un tRedshiftConfiguration présent dans le même Job pour se connecter à Redshift. Vous devez déposer un composant tRedshiftConfiguration avec ce composant et configurer ses paramètres simples (Basic settings) pour utiliser le composant tRedshiftConfiguration.<br><br>Ce composant, ainsi que la Palette Spark Batch à laquelle il appartient, ne s'affiche que lorsque vous créez un Job Spark Batch.<br><br>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. |
| --- | --- |
| Connexion à Spark | Dans l'onglet Spark Configuration de la vue Run, définissez 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, vous devez spécifier le répertoire du système de fichiers dans lequel ces fichiers .jar sont transférés afin que Spark puisse accéder à ces fichiers :<br><br><ul> <li> <div> <span>Yarn mode</span> (Yarn Client ou Yarn Cluster) :<ul> <li> <p>Lorsque vous utilisez Google Dataproc, spécifiez un bucket dans le champ <span>Google Storage staging bucket</span> de l'onglet <span>Spark configuration</span>.</p> </li> <li> <p>Lorsque vous utilisez HDInsight, spécifiez le blob à utiliser pour le déploiement du Job, dans la zone <span>Windows Azure Storage configuration</span> de l'onglet <span>Spark configuration</span>.</p> </li> <li>Lorsque vous utilisez Altus, spécifiez le bucket S3 ou le stockage Azure Data Lake Storage (aperçu technique) pour le déploiement du Job, dans l'onglet <span>Spark configuration</span>.</li> <li>Lorsque vous utilisez Qubole, ajoutez <span>tS3Configuration</span> à votre Job pour écrire vos données métier dans le système S3 avec Qubole. Sans <span>tS3Configuration</span>, ces données métier sont écrites dans le système Qubole HDFS et détruites une fois que vous arrêtez votre cluster.</li> <li> <p>Lorsque vous utilisez des distributions sur site (on-premises), utilisez le composant de configuration correspondant au système de fichiers utilisé par votre cluster.                                         Généralement, ce système est HDFS et vous devez utiliser le <a href="https://help.qlik.com/talend/r/fr-FR/7.3/components/hdfs/thdfsconfiguration">tHDFSConfiguration</a> (en anglais).</p> </li> </ul> </div> </li> <li> <p> <span>Standalone mode</span>&nbsp;: utilisez le composant de configuration correspondant au système de fichiers que votre cluster utilise, comme le <a href="https://help.qlik.com/talend/r/fr-FR/7.3/components/hdfs/thdfsconfiguration-properties-for-apache-spark-batch">tHDFSConfiguration Apache Spark Batch</a> ou le <a href="https://help.qlik.com/talend/r/fr-FR/7.3/components/amazon-s3/ts3configuration-properties-for-apache-spark-batch">tS3Configuration Apache Spark Batch</a> (en anglais).</p> <p>Si vous utilisez Databricks sans composant de configuration dans votre Job, vos données métier sont écrites directement dans DBFS (Databricks Filesystem).</p> </li> </ul><br><br>Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie. |