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

Propriétés du tJavaRow pour Apache Spark Batch

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

Le composant tJavaRow Spark Batch appartient à la famille Code Utilisateur·rice.

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

Basic settings

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.

Lorsque le schéma à réutiliser contient des valeurs par défaut de type Integer ou Function, assurez-vous que ces valeurs par défaut ne sont pas entourées de guillemets. Si elles le sont, supprimez manuellement les guillemets.

Pour plus d'informations, consultez la description relative à la récupération des schémas de tables dans le Guide d'utilisation du Studio Talend.

 

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.

Cliquez sur Sync columns pour récupérer le schéma du composant précédent dans le Job.

Notez que le schéma d'entrée et le schéma de sortie de ce composant peuvent être différents.

Map type

Sélectionnez le type de transformation Map à effectuer. Cela permet au composant de sélectionner automatiquement la méthode et de déclarer les variables à utiliser dans votre code personnalisé.

Les types disponibles sont :
  • Map : retourne un seul enregistrement de sortie pour chaque enregistrement d'entrée. Ce type utilise la méthode PairFunction de Spark.

  • FlatMap : retourne 0 enregistrement de sortie ou plus pour chaque enregistrement d'entrée. Ce type utilise la méthode FlatMapFunction de Spark.

Pour plus d'informations concernant ces méthodes, consultez la documentation Apache Spark concernant son API Java à l'adresse https://spark.apache.org/docs/latest/api/java/index.html (uniquement en anglais) (en anglais).

Generate code

Cliquez sur ce bouton afin de générer automatiquement le code dans le champ Code pour mapper les colonnes du schéma d'entrée à celles du schéma de sortie. Cette génération ne change rien à votre schéma.

Le code d'exemple généré affiche les variables prédéfinies pour les RDD d'entrée et de sortie et comment ces variables peuvent être utilisées.

Code

Saisissez le corps personnalisé de la méthode sélectionnée dans la liste déroulante Map type. Vous devez utiliser le schéma d'entrée et le schéma de sortie pour gérer les colonnes des enregistrements d'entrée et de sortie RDD. Ce code personnalisé est appliqué sur les enregistrements RDD, ligne par ligne.

Par exemple, le schéma d'entrée contient une colonne user, vous devez donc utiliser la variable input.user pour obtenir la colonne user de chaque enregistrement d'entrée.

Pour plus d'informations concernant les variables disponibles lors de l'écriture du code personnalisé, consultez le commentaire par défaut affiché dans ce champ.

Advanced settings

Import

Saisissez le code Java permettant d'importer, si nécessaire, les librairies externes utilisées dans le champ Code de l'onglet Basic settings.

Variables globales

Variables globales

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, lorsque le composant contient cette case.

Une variable Flow fonctionne durant 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. À partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

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

Pour saisir une variable globale (par exemple COUNT dans le tFileRowCount) dans le champ Code, vous devez saisir manuellement le code complet, c'est-à-dire ((Integer)globalMap.get("tFileRowCount_COUNT")).

Utilisation

Règle d'utilisation

Ce composant est utilisé comme étape intermédiaire.

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 Qubole, ajoutez tS3Configuration à votre Job pour écrire vos données métier dans le système S3 avec Qubole. Sans tS3Configuration, ces données métier sont écrites dans le système Qubole HDFS et détruites une fois que vous arrêtez votre cluster.
    • 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 (en anglais).

  • 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 (en anglais).

    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.

Limitation

Il est nécessaire de connaître les langages Java et Spark.

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 – faites-le-nous savoir.