Accéder au contenu principal Passer au contenu complémentaire

Propriétés du tHiveOutput pour Apache Spark Batch

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

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

Le composant de ce framework est disponible dans tous les produits Talend avec Big Data nécessitant une souscription et dans Talend Data Fabric.

Note InformationsImportant : Talend ne supporte pas l'import de schéma pour les types de données complexes, comme array, struct et map.

Basic settings

Hive storage configuration

Sélectionnez le composant tHiveConfiguration duquel vous souhaitez que Spark utilise les détails de configuration pour se connecter à Hive.

Si vous exécutez votre Job Spark sur Spark Universal en mode Yarn Cluster, cette propriété n'est pas disponible. La configuration du stockage Hive provient directement des fichiers XML au sein du fichier JAR de configuration Hadoop. Pour plus d'informations, consultez Définir les paramètres de connexion au cluster YARN avec Spark Universal.

HDFS Storage configuration

Sélectionnez le composant tHDFSConfiguration duquel vous souhaitez que Spark utilise les détails de la configuration pour se connecter à un système HDFS donné et transférer les fichiers .jar dépendants à ce système HDFS. Ce champ est utile uniquement lorsque vous utilisez une distribution on-premises.

Si vous exécutez votre Job Spark sur Spark Universal en mode Yarn Cluster, cette propriété n'est pas disponible. La configuration du stockage HDFS provient directement des fichiers XML au sein du fichier JAR de configuration Hadoop. Pour plus d'informations, consultez Définir les paramètres de connexion au cluster YARN avec Spark Universal.

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.

Créez le schéma en cliquant sur le bouton Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir uniquement 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 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.

Output source

Sélectionnez le type de données de sortie que vous souhaitez que le tHiveOutput modifie :

  • Hive table : les champs Database et Table name, ainsi que la liste Table format et la case Enable Hive partitions sont affichés. Vous devez saisir les informations relatives concernant la base de données Hive à laquelle se connecter et la table Hive à modifier.

    Par défaut, le format des données de sortie est JSON, mais vous pouvez le modifier en ORC ou Parquet en sélectionnant l'option correspondante dans la liste Table format.

  • ORC file : le champ Output folder est affiché et la liste de configuration du stockage Hive est désactivée, car le fichier ORC doit être stocké dans votre système HDFS hébergeant Hive. Vous devez saisir le répertoire dans lequel les données de sortie sont écrites.

Save mode

Sélectionnez le type de modifications à effectuer relatives à la table Hive cible :
  • Create : créer la table Hive cible et écrit des données dans cette table.
  • Append : ajouter des données dans une table existante.
  • Overwrite : écraser les données dans la table existante.
  • Create if it does not exist : crée une table Hive et ajoute des données dans cette table si aucune table n'existe. Si une table existe, les données d'entrée ne sont pas enregistrées.

    Cette propriété est disponible uniquement lorsque vous avez installé la version mensuelle 8.0.1-R2024-03 du Studio ou une plus récente fournie par Talend. Pour plus d'informations, contactez votre administrateur ou administratrice.

Enable Hive partitions

Cochez la case Enable Hive partitions et, dans la table Partition keys, définissez les partitions pour la table Hive que vous créez ou modifiez. Dans la table Partition keys, sélectionnez les colonnes de schéma d'entrée du tHiveOutput à utiliser comme clés de partitions.

Gardez à l'esprit :
  • Lorsque le type de mode Save mode à utiliser est Append, ce qui signifie que vous ajoutez des données à une table Hive existant, les colonnes de partition sélectionnées dans la table Partition keys doivent déjà être des clés de partitions de la table Hive à mettre à jour.

  • Une table Hive partitionnée créée par le tHiveOutput peut être lue uniquement par le tHiveInput, à cause de limitations liées à Spark. Si vous devez lire votre table partitionnée uniquement à travers Hive, il est recommandé d'utiliser le tHiveRow ou le tHiveCreateTable dans un Job Standard afin de créer cette table et utiliser un tHiveOutput pour écrire des données à la suite.

  • Définir des colonnes comme clés de partitions ne modifie pas vos données mais crée uniquement des sous-dossiers à l'aide des clés de partition et met des données dans ces dossiers.

Paramètres avancés

Sort columns alphabetically Cochez cette case pour trier les colonnes du schéma par ordre alphabétique. Si vous laissez cette case décochée, ces colonnes conservent l'ordre défini dans l'éditeur du schéma.

Utilisation

Règle d'utilisation

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

Ce composant doit utiliser un tHiveConfiguration présent au sein du même Job pour se connecter à Hive.

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.

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 :
  • Yarn mode (Yarn Client ou Yarn Cluster) :
    • Lorsque vous utilisez Google Dataproc, spécifiez un bucket dans le champ Google Storage staging bucket de l'onglet Spark configuration.

    • Lorsque vous utilisez HDInsight, spécifiez le blob à utiliser pour le déploiement du Job, dans la zone Windows Azure Storage configuration de l'onglet Spark configuration.

    • 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 Spark configuration.
    • 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 tHDFSConfiguration.

  • Standalone mode : utilisez le composant de configuration correspondant au système de fichiers que votre cluster utilise, comme le tHDFSConfiguration Apache Spark Batch ou le tS3Configuration Apache Spark Batch.

    Si vous utilisez Databricks sans composant de configuration dans votre Job, vos données métier sont écrites directement dans DBFS (Databricks Filesystem).

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

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !