tTop - 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 tTop trie des enregistrements d'entrée selon les colonnes de leur schéma et envoie au composant suivant un nombre donné de lignes à partir de la première des enregistrements triés.

Objectif

Ce composant trie des données et écrit en sortie plusieurs des premières lignes de ces 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 tTop dans des Jobs MapReduce

Famille du composant

Processing

 

Basic settings

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.

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

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

 

 

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.

 

Number of line selected

Saisissez le nombre de lignes à écrire en sortie. Le composant courant sélectionne ce nombre de lignes en partant des premières données triées.

Criteria

Cliquez sur le bouton [+] pour ajouter autant de lignes que nécessaire pour terminer le tri.

Dans la colonne Schema column, sélectionnez la colonne du schéma sur laquelle va se baser le tri. Notez que l'ordre est essentiel, car il détermine le priorité du tri.

Dans les autres colonnes, sélectionnez comment trier les données. Par exemple, si vous devez trier les données en ordre alphabétique ascendant (de A à Z), sélectionnez alpha et asc dans les colonnes correspondantes.

Utilisation dans des Jobs MapReduce

Dans un Job Talend Map/Reduce, il est utilisé comme étape intermédiaire, avec d'autres composants Map/Reduce. Ils génèrent nativement du code Map/Reduce pouvant être exécuté directement dans Hadoop.

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

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 et non des Jobs Map/Reduce.

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

Hadoop Connection

Vous devez utiliser l'onglet Hadoop Configuration de la vue Run afin de définir la connexion à une distribution Hadoop donnée pour le Job complet.

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

Scénario associé

Aucun scénario n'est disponible pour la version Map/Reduce de ce composant.

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

Famille du composant

Processing

 

Basic settings

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.

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

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

 

 

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.

 

Number of line selected

Saisissez le nombre de lignes à écrire en sortie. Le composant courant sélectionne ce nombre de lignes en partant des premières données triées.

Criteria

Cliquez sur le bouton [+] pour ajouter autant de lignes que nécessaire pour terminer le tri.

Dans la colonne Schema column, sélectionnez la colonne du schéma sur laquelle va se baser le tri. Notez que l'ordre est essentiel, car il détermine le priorité du tri.

Dans les autres colonnes, sélectionnez comment trier les données. Par exemple, si vous devez trier les données en ordre alphabétique ascendant (de A à Z), sélectionnez alpha et asc dans les colonnes correspondantes.

Utilisation dans des Jobs Spark Batch

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.

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.

Effectuer une analyse de téléchargement à l'aide d'un Job Spark Batch

Dans ce scénario, vous créez un Job Spark Batch pour analyser la fréquence de téléchargement d'un produit donné.

Dans ce Job, vous analysez les préférences de téléchargement de certains clients spécifiques connus de votre base de clients.

Les données d'exemple utilisées comme base de clients se présentent comme suit :

10103|Herbert|Clinton|FR|SILVER|28-06-2011|herbert.clinton@msn.com|6571183
10281|Bill|Ford|BE|PLATINUM|13-04-2014|bill.ford@gmail.com|6360604
10390|George|Garfield|GB|SILVER|12-02-2011|george.garfield@gmail.com|7919508
10566|Abraham|Garfield|CN|SILVER|11-10-2012|abraham.garfield@msn.com|9155569
10691|John|Polk|GB|SILVER|05-11-2012|john.polk@gmail.com|6488579
10884|Herbert|Hayes|GB|SILVER|12-10-2007|herbert.hayes@gmail.com|8728181
11020|Chester|Roosevelt|BE|GOLD|28-06-2008|chester.roosevelt@yahoo.com|4172181
11316|Franklin|Madison|BR|SILVER|08-01-2014|franklin.madison@gmail.com|4711801
11707|James|Tyler|ES|GOLD|25-03-2010|james.tyler@gmail.com|7276942
11764|Theodore|McKinley|GB|GOLD|24-08-2013|theodore.mckinley@gmail.com|3224767
11777|Warren|Madison|BE|N/A|23-12-2008|warren.madison@msn.com|6695520
11857|Ronald|Arthur|SG|PLATINUM|01-04-2009|ronald.arthur@msn.fr|6704785
11936|Theodore|Buchanan|NL|SILVER|14-11-2014|theodore.buchanan@yahoo.fr|2783553
11940|Lyndon|Wilson|BR|PLATINUM|27-07-2010|lyndon.wilson@yahoo.com|1247110
12214|Gerald|Jefferson|SG|N/A|06-06-2007|gerald.jefferson@yahoo.com|5879162
12382|Herbert|Taylor|IT|GOLD|22-04-2012|herbert.taylor@msn.com|3873628
12475|Richard|Kennedy|FR|N/A|29-12-2014|richard.kennedy@yahoo.fr|7287388
12479|Calvin|Eisenhower|ES|N/A|06-11-2008|calvin.eisenhower@yahoo.fr|1792573
12531|Chester|Arthur|JP|PLATINUM|23-01-2009|chester.arthur@msn.fr|8772326
12734|Jimmy|Buchanan|IT|SILVER|09-03-2010|jimmy.buchanan@gmail.com|7007786

Ces données contiennent l'ID des clients connus par la base, leur prénom et nom de famille, leur code pays, leur niveau de support, leur date d'enregistrement, leur adresse e-mail et leur numéro de téléphone.

Le log d'exemple enregistrant les clics de ces clients se présente comme suit :

10103|/download/products/talend-open-studio
10281|/services/technical-support
10390|/services/technical-support
10566|/download/products/data-integration
10691|/services/training
10884|/download/products/integration-cloud
11020|/services/training
11316|/download/products/talend-open-studio
11707|/download/products/talend-open-studio
11764|/customers

Ces données contiennent l'ID des clients ayant visité différentes pages Web Talend ainsi que les pages visitées.

En lisant ces données, vous pouvez voir que les visites sont celles de clients de différents niveaux de support et ont différents objectifs. Le Job que vous allez créer sera utilisé pour identifier les sources de ces visites par rapport à l'échantillon de clients de la base et analyser le produit le plus téléchargé par les clients dont le niveau de support est Silver.

Notez que les données d'exemple sont créées uniquement à des fins de démonstration.

Pour reproduire ce scénario, procédez comme suit :

Reliez les composants

  1. Dans la perspective Integration du Studio, créez un Job Spark Batch vide depuis le nœud Job Designs de la vue Repository.

    Pour plus d'informations concernant comment créer une Job Spark Batch, consultez Guide de prise en main de Talend Big Data.

  2. Dans l'espace de modélisation grpahique, saisissez le nom du composant à utiliser et sélectionnez ce composant dans la liste qui s'affiche. Dans ce scénario, les composants sont : un tHDFSConfiguration, deux tFixedFlowInput (nommez-en un customer_base et l'autre web_data), un tSqlRow, un tCacheOut, un tCacheIn, un tMap, un tExtractDelimitedFields, un tAggregateRow, un tTop et un tLogRow.

    Les composants tFixedFlowInput sont utilisés pour charger les données d'exemple dans le flux de données. Dans un cas réel d'utilisation, vous pouvez utiliser d'autres composants, comme le tMysqlInput ou le tMap au lieu du tFixedFlowInput, afin de créer un processus sophistiqué afin de préparer vos données à un traitement.

  3. Connectez le customer_base (tFixedFlowInput), au tSqlRow et le tSqlRow au tCacheOut à l'aide de liens Row > Main. Dans ce sous-job, les enregistrements concernant les clients dont le niveau de support est Silver sont sélectionnés et stockés dans le cache.

  4. Reliez le web_data (tFixedFlowInput) au tMap à l'aide d'un lien Row > Main. Ce flux est le flux d'entrée principal vers le composant tMap.

  5. Répétez l'opération afin de relier le tCacheIn au tMap. Ce flux est le flux de référence (lookup) vers le tMap.

  6. Reliez le tMap au tExtractDelimitedFields à l'aide d'un lien Row > Main et donnez un nom à cette connexion dans la boîte de dialogue qui s'ouvre. Par exemple, nommez-la output.

  7. Reliez le tExtractDelimitedFields, le tAggregateRow, le tTop et le tLogRow à l'aide de liens Row > Main.

  8. Reliez le composant customer_base au web_data à l'aide d'un lien Trigger > OnSubjobOk.

  9. Laissez le composant tHDFSConfiguration seul, sans connexion.

Configurer la connexion à Spark

  1. Cliquez sur l'onglet Run pour ouvrir sa vue et cliquez sur l'onglet Spark Configuration pour afficher cette vue de configuration de la connexion à Spark.

    Cette vue ressemble à l'image ci-dessous :

  2. Sélectionnez le type de cluster Spark auquel vous connecter.

    • Local : le Studio construit l'environnement Spark en lui-même au moment de l'exécution locale du Job dans le Studio. Avec ce mode, chaque processeur de la machine locale est utilisé comme Worker Spark pour effectuer les calculs. Ce mode requiert la configuration d'un minimum de paramètres dans la vue de configuration.

      Notez que cette machine locale est la machine sur laquelle s'exécute le Job. Le mode Local est le mode par défaut. Vous devez décocher cette case pour afficher la liste déroulante dans laquelle sélectionner les autres modes.

    • Standalone : le Studio se connecte à un cluster compatible Spark pour exécuter le Job depuis ce cluster.

    • Yarn client : le Studio exécute le pilote Spark pour orchestrer la manière dont sera exécuté le Job puis envoie l'orchestration au service Yarn d'un cluster Hadoop donné, afin que le Resource Manager de ce service Yarn demande des ressources pour l'exécution.

  3. Si vous utilisez le mode Yarn client, la liste Property type s'affiche et vous permet de sélectionner une connexion à Hadoop établie depuis le Repository, si vous avez créé cette connexion dans le Repository. Le Studio réutilise l'ensemble des informations de connexion pour ce Job.

    Pour plus d'informations concernant la création d'une connexion Hadoop dans le Repository, consultez le chapitre décrivant le nœud Hadoop cluster dans le Guide utilisateur du Studio Talend.

  4. Sélectionnez la version de la distribution Hadoop à utiliser avec Spark.

    • Si vous sélectionnez Microsoft HD Insight 3.4, vous devez configurer les connexions au service Livy, au service HD Insight et au service Windows Azure Storage du cluster, dans les zones qui s'affichent. Une vidéo de démonstration relative à la configuration d'une connexion à un cluster Microsoft HD Insight est disponible à l'adresse suivante : https://www.youtube.com/watch?v=A3QTT6VsNoM (en anglais).

      Le nom de l'hôte (Hostname) de Livy utilise la syntaxe suivante : nom_de_votre_cluster_spark.azurehdinsight.net. Pour plus d'informations concernant le service Livy utilisé par HD Insight, consultez Submit Spark jobs using Livy (en anglais).

    • Si vous sélectionnez Amazon EMR, consultez l'article suivant concernant la configuration de la connexion : Amazon EMR - Getting Started (en anglais) sur Talend Help Center (https://help.talend.com). Il est recommandé d'installer votre JobServer Talend dans le cluster EMR. Pour plus d'informations concernant ce JobServer, consultez le Guide d'installation Talend.

    Si vous ne trouvez pas votre distribution dans la liste déroulante, cela signifie que la distribution à laquelle vous souhaitez vous connecter n'est pas officiellement supportée par Talend. Dans ce cas, vous pouvez sélectionner Custom puis la version de Spark, dans la liste Spark version, du cluster auquel vous connecter. Cliquez sur le bouton pour afficher une boîte de dialogue dans laquelle vous pouvez :

    1. Sélectionner Import from existing version pour importer une distribution officiellement supportée comme base et ajouter d'autres fichiers .jar requis que la distribution de base ne fournit pas.

    2. Sélectionner Import from zip pour importer le .zip de configuration pour la distribution personnalisée à utiliser. Ce fichier .zip doit contenir les bibliothèques des différents éléments Hadoop/Spark et le fichier d'index de ces bibliothèques.

      Notez que les versions personnalisées ne sont pas officiellement supportées par Talend. Talend et sa communauté fournissent l'opportunité de vous connecter à des versions personnalisées depuis le Studio mais ne peuvent vous garantir la simplicité de la configuration de la version que vous choisissez. Il est recommandé de configurer ces connexions si vous avez une expérience suffisante de Hadoop et de Spark pour gérer par vous-mêmes les problèmes pouvant survenir.

  5. Configurez les informations de connexion aux principaux services du cluster à utiliser.

    Si vous utilisez le mode Yarn client, vous devez saisir les adresses des différents services dans les champs correspondants (si vous laissez décochée la case d'un service, lors de l'exécution, la configuration du paramètre en question du cluster Hadoop sera ignorée) :

    • Dans le champ Resource manager, saisissez l'adresse du service ResourceManager du cluster Hadoop à utiliser.

    • Cochez la case Set resourcemanager scheduler address et saisissez l'adresse de l'ordonnanceur (Scheduler) dans le champ qui apparaît.

    • Cochez la case Set jobhistory address et saisissez l'emplacement du serveur JobHistory du cluster Hadoop à utiliser. Cela permet de stocker les informations relatives aux métriques du Job courant sur le serveur JobHistory.

    • Cochez la case Set staging directory et saisissez le chemin d'accès au répertoire défini dans votre cluster Hadoop pour les fichiers temporaires créés par l'exécution de programmes. Ce répertoire se trouve sous la propriété yarn.app.mapreduce.am.staging-dir dans les fichiers de configuration, notamment les fichiers yarn-site.xml et mapred-site.xml de votre distribution.

    • Si vous accédez au cluster Hadoop s'exécutant avec la sécurité Kerberos, cochez cette case. Saisissez les noms des principaux Kerberos pour le service du ResourceManager et le service du JobHistory dans les champs qui s'affichent. Cela vous permet d'utiliser votre identifiant pour vous authentifier par rapport aux informations stockées dans Kerberos. Ces principaux se trouvent dans les fichiers de configuration de votre distribution. Par exemple, dans une distribution CDH4, le Principal du ResourceManager est configuré dans le fichier yarn-site.xml et celui du JobHistory dans le fichier mapred-site.xml.

      • Si ce cluster est un cluster MapR de version 4.0.1 ou postérieure, vous pouvez paramétrer la configuration de l'authentification par ticket MapR en plus ou comme une alternative en suivant les explications dans Connexion sécurisée à MapR.

        Gardez à l'esprit que cette configuration génère un nouveau ticket de sécurité MapR pour le nom d'utilisateur défini dans le Job dans chaque exécution. Si vous devez réutiliser un ticket existant provenant du même utilisateur, laissez décochées les cases Force MapR ticket authentication et Use Kerberos authentication. MapR devrait pouvoir trouver automatiquement ce ticket à la volée.

      Si vous souhaitez utiliser un fichier Kerberos keytab pour vous identifier, cochez la case Use a keytab to authenticate. Un fichier keytab contient des paires de principaux et clés cryptées Kerberos. Vous devez saisir le principal à utiliser dans le champ Principal et le chemin d'accès au fichier keytab dans le champ Keytab.

      Notez que l'utilisateur qui exécute un Job utilisant un keytab n'est pas forcément celui désigné par le principal mais qu'il doit avoir le droit de lecture pour le fichier keytab utilisé. Par exemple, le nom d'utilisateur que vous utilisez pour exécuter le Job est user1 et le principal à utiliser est guest. Dans cette situation, assurez-vous que user1 a les droits de lecture pour le fichier keytab à utiliser.

    • Le champ User name est disponible lorsque vous n'utilisez pas Kerberos pour vous authentifier. Dans ce champ, saisissez votre identifiant pour cette distribution. Si vous laissez le champ vide, le nom de la machine hébergeant le Studio sera utilisé.

      Comme le Job doit charger dans HDFS des fichiers .jar du cluster à utiliser, vous devez vous assurer que le nom d'utilisateur est le même que celui défini dans le tHDFSConfiguration, le composant utilisé pour fournir à Spark les informations de connexion à HDFS.

    Si vous utilisez le mode Standalone, vous devez configurer les paramètres suivants :

    • Dans le champ Spark host, saisissez l'URI du Spark Master du cluster Hadoop utilisé.

    • Dans le champ Spark home, saisissez l'emplacement où l'exécutable Spark est installé dans le cluster Hadoop utilisé.

  6. Si vous devez exécuter le Job courant sous Windows, il est recommandé de spécifier où le programme winutils.exe à utiliser est stocké.

    • Si vous savez où se trouve le fichier winutils.exe et que vous souhaitez l'utiliser, cochez la case Define the Hadoop home directory et saisissez le répertoire dans lequel est stocké winutils.exe.

    • Sinon, laissez cette case décochée. Le Studio en génère un par lui-même et l'utilise pour le Job.

  7. Si le cluster Spark ne peut reconnaître la machine sur laquelle le Job est lancé, cochez la case Define the driver hostname or IP address et saisissez le nom de l'hôte ou l'adresse IP de cette machine. Cela permet au Master et à son Worker Spark de reconnaître la machine où se trouve le Job et donc son pilote.

    Notez que, dans cette situation, vous devez également ajouter le nom et l'adresse IP de cette machine dans son fichier host.

  8. Si vous souhaitez que le Job résiste aux échecs, cochez la case Activate checkpointing pour activer l'opération Spark de point de contrôle. Dans le champ qui s'affiche, saisissez le répertoire dans lequel Spark stocke, dans le système de fichiers du cluster, les données de contexte des calculs de Streaming, comme les métadonnées et les RDD générés par ce calcul.

    Pour plus d'informations concernant les points de contrôle Spark, consultez http://spark.apache.org/docs/1.3.0/streaming-programming-guide.html#checkpointing (en anglais).

  9. Cochez la case Set Tuning properties pour optimiser l'allocation des ressources à utiliser pour exécuter le Job. Ces propriétés ne sont pas obligatoires pour que le Job s'exécute correctement, mais elles sont utiles lorsque Spark est congestionné par des problèmes de ressources dans le cluster, comme le processeur, la bande passante ou la mémoire :

    • Driver memory et Driver core : saisissez la taille de la mémoire et le nombre de cœurs à allouer au pilote du Job courant.

    • Executor memory : saisissez la taille de la mémoire à allouer à chaque exécuteur Spark.

    • Set executor memory : cochez cette case et, dans le champ qui s'affiche, saisissez le montant de mémoire hors tas (off-heap) en Mo à allouer pour chaque exécuteur. Il s'agit de la propriété spark.yarn.executor.memoryOverhead.

    • Core per executor : cochez cette case et, dans le champ affiché, saisissez le nombre de cœurs à utiliser par chaque exécuteur. Si vous laissez cette case décochée, l'allocation définie par défaut par Spark est utilisée. Par exemple, tous les cœurs disponibles sont utilisés par un exécuteur en mode Standalone.

    • Set Web UI port : si vous devez modifier le port par défaut de l'application Web de Spark, cochez cette case et saisissez le numéro du port à utiliser.

    • Broadcast factory : sélectionnez l'implémentation du broadcast à utiliser pour mettre les variables en cache sur chaque machine de Worker.

    • Customize Spark serializer : si vous devez importer un sérialiseur Spark externe, cochez cette case et, dans le champ qui s'affiche, saisissez le nom de la classe entièrement qualifié du sérialiseur à utiliser.

    • Yarn resource allocation : sélectionnez la manière dont vous souhaitez que Yarn alloue des ressources parmi les exécuteurs.

      • Auto : vous laissez Yarn utiliser son nombre d'exécuteurs par défaut, à savoir 2.

      • Fixed : vous devez saisir le nombre d'exécuteurs à utiliser dans le champ Num executors qui s'affiche.

      • Dynamic : Yarn modifie le nombre d'exécuteurs afin de s'adapter à la charge de travail. Vous devez définir l'échelle de cette allocation dynamique en définissant le nombre initial d'exécuteurs à exécuter dans le champ Initial executors, le nombre le plus faible d'exécuteurs dans le champ Min executors et le plus grand nombre d'exécuteurs dans le champ Max executors.

      Cette fonctionnalité est disponible en mode Yarn client uniquement.

  10. Dans le champ Spark "scratch" directory, saisissez le répertoire dans lequel le Studio stocke, dans le système local, les fichiers temporaires comme les fichiers .jar à transférer. Si vous lancez votre Job sous Windows, le disque par défaut est C:. Si vous laissez /tmp dans ce champ, le répertoire est C:/tmp.

  11. En mode Yarn client, vous pouvez activer les logs de l'application Spark de ce Job pour qu'ils soient persistants dans le système de fichiers. Pour ce faire, cochez la case Enable Spark event logging.

    Les paramètres relatifs aux logs Spark s'affichent :

    • Spark event logs directory : saisissez le répertoire où sont enregistrés les événements Spark. Il s'agit de la propriété spark.eventLog.dir.

    • Spark history server address : saisissez l'emplacement du serveur de l'historique. Il s'agit de la propriété spark.yarn.historyServer.address.

    • Compress Spark event logs : si nécessaire, cochez la case pour compresser les logs. Il s'agit de la propriété spark.eventLog.compress.

    Comme l'administrateur de votre cluster peut avoir défini ces propriétés dans les fichiers de configuration du cluster, contactez l'administrateur pour obtenir les valeurs exactes.

  12. Dans la table Advanced properties, ajoutez toute propriété Spark à utiliser pour écraser la propriété équivalente utilisée par le Studio.

    Les propriétés avancées requises par les différentes distributions Hadoop et leurs valeurs sont listées ci-dessous :

    • Hortonworks Data Platform V2.4 :

      • spark.yarn.am.extraJavaOptions : -Dhdp.version=2.4.0.0-169

      • spark.driver.extraJavaOptions : -Dhdp.version=2.4.0.0-169

      Vous devez également ajouter -Dhdp.version=2.4.0.0-169 dans la zone JVM settings, soit dans l'onglet Advanced settings de la vue Run, soit dans la vue Talend > Run/Debug de la fenêtre [Preferences]. La configuration de cet argument dans la fenêtre [Preferences] l'applique à tous les Jobs conçus dans le même Studio.

    • MapR V5.1 et V5.2 lorsque le cluster est utilisé avec la HBase ou les composants MapRDB :

      • spark.hadoop.yarn.application.classpath : saisissez la valeur de ce paramètre spécifique à votre cluster et ajoutez, s'il n'est pas renseigné, le classpath vers HBase pour vous assurer que le Job à utiliser trouve les classes et les packages dans le cluster.

        Par exemple, si la version HBase installée dans le cluster est 1.1.1, copiez-collez tous les chemins d'accès définis dans le paramètre spark.hadoop.yarn.application.classpath de votre cluster et ajoutez ensuite opt/mapr/hbase/hbase-1.1.1/lib/* et /opt/mapr/lib/* à ces chemins d'accès. Séparez les chemins d'accès par une virgule. Les chemins d'accès ajoutés indiquent les endroits où HBase est généralement installé dans le cluster MapR. Si votre HBase est installée autre part, contactez l'administrateur de votre cluster pour plus de détails et pour adapter ces chemins d'accès.

        Pour une explication détaillée relative à l'ajout de ce paramètre, consultez l'article Les Jobs HBase/MapR-DB ne peuvent pas être exécutés correctement avec MapR 5.1 ou 5.2 sur Talend Help Center.

    Pour plus d'informations concernant les propriétés Spark valides, consultez la documentation Spark à l'adresse https://spark.apache.org/docs/latest/configuration (en anglais).

  13. Si vous utilisez Cloudera V5.5 ou une version supérieure, vous pouvez cocher la case Use Cloudera Navigator pour permettre au Cloudera Navigator de votre distribution de suivre le lignage de vos Jobs jusqu'au niveau des composants, notamment les modifications des schémas entre les composants.

    Lorsque cette option est activée, vous devez configurer les paramètres suivants :

    • Username et Password : informations d'authentification utilisées pour vous connecter à votre Cloudera Navigator.

    • Cloudera Navigator URL : saisissez l'emplacement du Cloudera Navigator auquel se connecter.

    • Cloudera Navigator Metadata URL : saisissez l'emplacement où sont stockées les métadonnées (Navigator Metadata).

    • Activate the autocommit option : cochez cette case pour que le Cloudera Navigator génère le lignage du Job courant à la fin de son exécution.

      Comme cette option force le Cloudera Navigator à générer des lignages de toutes ses entités disponibles, tels que les fichiers et répertoires HDFS, les requêtes Hive ou les scripts Pig, il n'est pas recommandé de l'utiliser dans un environnement de production, car elle ralentit le Job.

    • Kill the job if Cloudera Navigator fails : cochez cette case pour arrêter l'exécution du Job lorsque la connexion à Cloudera Navigator échoue.

      Sinon, laissez cette case décochée pour que votre Job continue à s'exécuter.

    • Disable SSL validation : cochez cette case pour que votre Job se connecte au Cloudera Navigator sans processus de validation SSL.

      Cette fonctionnalité est conçue pour simplifier les tests de vos Jobs mais il n'est pas recommandé de l'utiliser dans un cluster en production.

  14. Si vous utilisez Hortonworks Data Platform V2.4.0 ou supérieure et que vous avez installé Atlas dans votre cluster, vous pouvez cocher la case Use Atlas, afin de permettre le lignage du Job au niveau des composants, notamment les modifications de schéma entre les composants.

    Lorsque cette option est activée, vous devez configurer les paramètres suivants :

    • Atlas URL : saisissez l'emplacement d'Atlas auquel se connecter. C'est généralement http://nom_de_votre_noeud_atlas:port

    • Die on error: cochez cette case pour arrêter l'exécution du Job lorsque des problèmes relatifs à Atlas surviennent, par exemple des problèmes de connexion à Atlas.

      Sinon, laissez cette case décochée pour que votre Job continue à s'exécuter.

    Dans les champs Username et Password, saisissez respectivement l'identifiant et le mot de passe d'authentification pour accéder à Atlas.

Configurer la connexion au système de fichiers à utiliser par Spark

  1. Double-cliquez sur le tHDFSConfiguration pour ouvrir sa vue Component. Notez que le tHDFSConfiguration est utilisé car le mode Spark Yarn client est utilisé pour exécuter des Jobs Spark dans ce scénario.

    Spark utilise ce composant pour se connecter au système HDFS auquel sont transférés les fichiers .jar dépendants du Job.

  2. Dans la zone Version, sélectionnez la distribution Hadoop et la version à laquelle vous connecter.

  3. Dans le champ NameNode URI, saisissez l'emplacement de la machine hébergeant le service NameNode du cluster.

  4. Dans le champ Username, saisissez les informations d'authentification utilisée pour vous connecter au système HDFS à utiliser. Notez que le nom d'utilisateur doit être le même que celui saisi dans l'onglet Spark configuration.

Charger la base clients

  1. Double-cliquez sur le tFixedFlowIput nommé customer_base pour ouvrir sa vue Component.

  2. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur du schéma.

  3. Cliquez sur le bouton [+] pour ajouter des colonne au schéma, comme dans l'image ci-dessous.

  4. Cliquez sur OK Afin de valider les modifications et acceptez la propagation proposée par la boîte de dialogue qui s'ouvre.

  5. Dans la zone Mode, sélectionnez le bouton radio Use Inline Content et collez les données clients d'exemple susmentionnées dans le champ Content affiché.

  6. Dans le champ Field separator, saisissez une barre verticale (|).

Sélectionner les données des clients de niveau de support Silver

  1. Double-cliquez sur le tSqlRow pour ouvrir sa vue Component.

  2. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur du schéma.

  3. Dans le schéma, du côté de la sortie (côté droit), modifiez le nom de la colonne Support à Silver_Support.

  4. Dans la liste déroulante SQL context, sélectionnez SQL Spark Context.

  5. Dans le champ SQL Query, saisissez l'instruction de la requête à utiliser pour sélectionner les enregistrements concernant les clients dont le niveau de support est Silver.

    select User_id, FirstName, LastName, Country, Support as Silver_Support, SubscriptionDate, email, telephone from row1 where Support = 'SILVER'

    Vous pouvez voir que le lien d'entrée row1 provient de la table que laquelle la requête est exécutée.

Accéder aux données sélectionnées

  1. Double-cliquez sur le tCacheOut pour ouvrir sa vue Component.

    Ce composant stocke les données sélectionnées dans le cache.

  2. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur du schéma afin de vérifier que le schéma est identique à celui d'entrée. Si ce n'est pas le cas, cliquez sur le bouton Sync columns.

  3. Du côté de la sortie de l'éditeur du schéma, cliquez sur le bouton pour exporter le schéma dans le système de fichiers local et cliquez sur OK pour fermer l'éditeur.

  4. Dans la liste Storage level, sélectionnez Memory only.

    Pour plus d'informations concernant chaque niveau de stockage, consultez https://spark.apache.org/docs/latest/programming-guide.html#rdd-persistence.

  5. Double-cliquez sur le tCacheIn pour ouvrir sa vue Component.

  6. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur du schéma et cliquez sur le bouton pour importer le schéma exporté dans l'étape précédente. Cliquez sur OK afin de fermer l'éditeur.

  7. Dans la liste Output cache, sélectionnez le composant tCacheOut duquel lire les données en cache. Lors de l'exécution, ces données seront chargées dans le flux lookup du sous-job utilisé pour traiter le log contenant l'enregistrement des clics.

Charger le log des clics

  1. Double-cliquez sur le composant tFixedFlowIput nommé web_data pour ouvrir sa vue Component.

  2. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur du schéma.

  3. Cliquez sur le bouton [+] pour ajouter des colonnes au schéma, comme dans l'image ci-dessous.

  4. Cliquez sur OK afin de valider les modifications et acceptez la propagation proposée par la boîte de dialogue qui s'ouvre.

  5. Dans la zone Mode, sélectionnez l'option Use Inline Content et collez les données relatives aux clics dans le champ Content affiché.

  6. Dans le champ Field separator, saisissez une barre verticale (|).

Effectuer une jointure sur les données

  1. Double-cliquez sur le tMap pour ouvrir son Map editor.

    Du côté de l'entrée (à gauche), le flux principal (nommé row3 dans cet exemple) et le flux de référence (nommé row4 dans cet exemple) sont présentés dans deux tables.

    Du côté de la sortie (à droite) se trouve une table vide.

  2. Déposez toutes les colonnes du flux de référence dans la table de sortie, sauf la colonne User_id. Déposez également les colonnes user_id et url du schéma principal dans la table de sortie.

  3. Du côté gauche, sélectionnez la colonne user_id du flux principal et déposez-la sur la colonne Expr.key dans la ligne User_id de la table de référence. Cela fait des ID des clients la clé de la jointure entre les deux flux d'entrée.

  4. Dans la table de référence, cliquez sur l'icône de clé anglaise pour afficher le panneau des paramètres et sélectionnez Inner Join pour la propriété Join model.

  5. Cliquez sur Apply afin de valider ces modifications et cliquez sur OK afin de fermer cet éditeur.

Extraire les champs concernant les catégories des pages visitées

  1. Double-cliquez sur le tExtractDelimitedFields pour ouvrir sa vue Component.