Propriétés du tElasticSearchLookupInput pour Apache Spark Streaming - 6.4

ElasticSearch

author
Talend Documentation Team
EnrichVersion
6.4
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Real-Time Big Data Platform
task
Création et développement > Systèmes tiers > Composants ElasticSearch
Gouvernance de données > Systèmes tiers > Composants ElasticSearch
Qualité et préparation de données > Systèmes tiers > Composants ElasticSearch
EnrichPlatform
Studio Talend

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

Le composant tElasticSearchLookupInput Spark Streaming appartient à la famille ElasticSearch.

Le composant de ce framework est disponible dans Talend Real Time Big Data Platform 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) qui sont traités et passés au composant suivant. Le schéma est soit local (Built-In), soit distant dans le Repository.

Use an existing configuration

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.

Transport addresses

Saisissez les adresses des nœuds ElasticSearch auquel le composant doit se connecter.

À la différence du tElasticSearchOutput qui utilise le client ElasticSearch Node, le tElasticSearchLookupInput utilise le client ElasticSearch Transport pour se connecter au cluster ElasticCluster. Cela permet au tElasticSearchLookupInput de créer rapidement de multiples connexions au cluster.

Pour plus d'informations concernant les clients ElasticSearch Node et ElasticSearch Transport, consultez https://www.elastic.co/guide/en/elasticsearch/guide/current/_transport_client_versus_node_client.html (en anglais).

Cluster name

Saisissez le nom du cluster ElasticSearch à utiliser.

Le paramètre Cluster name est obligatoire et pris en compte uniquement lorsque le composant lorsque le composant ElasticSearch à connecter à ElasticSearch est le tElasticSearchLookupInput.

Pour plus d'informations concernant les clients ElasticSearch Node et ElasticSearch Transport, consultez https://www.elastic.co/guide/en/elasticsearch/guide/current/_transport_client_versus_node_client.html (en anglais).

Index

Saisissez le nom de l'index duquel lire les documents.

L'index est la plus grande unité de stockage dans le système Elastisearch.

Type

Saisissez le nom du type auxquels les documents à lire appartiennent.

Par exemple, blogpost_en et blogpost_fr peuvent être deux types représentant des articles de blogs en anglais et en français, respectivement.

Vous pouvez dynamiquement utiliser les valeurs d'une colonne donnée pour qu'elles soient des types de documents. Si vous devez les utiliser ainsi, saisissez le nom de la colonne entre accolades ({}), par exemple, {blog_author}.

Query

Saisissez la requête ElasticSearch à exécuter par ce composant.

Lorsque vous modifiez des requêtes, vous devez utiliser la syntaxe requise par ElasticSearch ainsi que les caractères d'échappement requis par Java et saisir la requête entre guillemets doubles.

Par exemple, dans la documentation d'ElasticSearch, une requête se présente comme suit :
es.query = { "query" : { "term" : { "user" : "costinl" } } }
Dans le champ Query, vous devez écrire la même requête de la manière suivante :
"{ \"query\" : { \"term\" : {\"user\" : \"costinl\" } } }"

Le résultat de la requête doit contenir uniquement les enregistrements correspondant à la clé de jointure à utiliser dans le tMap. En d'autres termes, vous devez utiliser le schéma du flux principal vers le tMap pour construire l'instruction SQL ici, afin de charger uniquement les enregistrements correspondants dans le flux Lookup.

Cette approche assure qu'aucun enregistrement redondant n'est chargé en mémoire et écrit en sortie dans le composant qui suit.

Advanced settings

Scroll time

Saisissez la durée (en millisecondes) durant laquelle un lot d'entrée est progressivement chargé depuis ElasticSearch.

Cette durée est utile uniquement si votre requête apporte de grands lots. Puisque le tMap en mode Streaming recharge les données à chaque ligne, une requête correctement écrite ne doit pas produire de grands lots de données.

Use SSL/TLS

Cochez cette case pour activer la connexion cryptée SSL ou TLS.

Utilisez le composant tSetKeystore dans le même Job afin de spécifier les informations de chiffrement.

Pour plus d'informations concernant le tSetKeystore, consultez tSetKeystore.

Configuration

Ajoutez les paramètres acceptés par ElasticSearch pour effectuer plus d'actions personnalisées.

Par exemple, saisissez es.mapping.id dans la colonne Key et true dans la colonne Value pour que l'ID du document soit contenu dans le nom de la propriété ou du champ. Notez que vous devez saisir des guillemets doubles autour des informations saisies.

Pour la liste des paramètres que vous pouvez utiliser, consultez https://www.elastic.co/guide/en/elasticsearch/hadoop/master/configuration.html (en anglais).

Connection pool

Dans cette zone, configurez, pour chaque exécuteur Spark, le pool de connexions utilisé pour contrôler le nombre de connexions qui restent ouvertes simultanément. Généralement, les valeurs par défaut données aux paramètres suivants du pool de connexion conviennent à la plupart des cas d'utilisation.

  • Max total number of connections : saisissez le nombre maximal de connexions (actives ou inactives) autorisées à rester ouvertes simultanément.

    Le nombre par défaut est 8. Si vous saisissez -1, vous autorisez un nombre illimité de connexions ouvertes simultanément.

  • Max waiting time (ms) : saisissez le temps maximum d'attente à la fin duquel la réponse à une demande d'utilisation de connexion doit être retournée par le pool de connexion. Par défaut, la valeur est -1, c'est-à-dire un temps illimité.

  • Min number of idle connections : saisissez le nombre minimal de connexions inactives (connexions non utilisées) maintenues dans le pool de connexions.

  • Max number of idle connections : saisissez le nombre maximal de connexions inactives (connexions non utilisées) maintenues dans le pool de connexions.

Evict connections

Cochez cette case pour définir les critères de destruction de connexions dans le pool de connexions. Les champs suivants sont affichés une fois la case cochée.

  • Time between two eviction runs : saisissez l'intervalle de temps (en millisecondes) à la fin duquel le composant vérifie le statut des connexions et détruit les connexions inactives.

  • Min idle time for a connection to be eligible to eviction : saisissez l'intervalle de temps (en millisecondes) à la fin duquel les connexions inactives sont détruites.

  • Soft min idle time for a connection to be eligible to eviction : ce paramètre fonctionne de la même manière que l'option Min idle time for a connection to be eligible to eviction mais garde le nombre minimal de connexions inactives, nombre défini dans le champ Min number of idle connections.

Utilisation

Règle d'utilisation

Ce composant est utilisé en tant que composant de début et nécessite un lien de sortie.

Ce composant doit utiliser un tElasticSearchConfiguration au sein du même Job pour se connecter à ElasticSearch. Vous devez cocher la case Use an existing configuration et sélectionner le composant tElasticSearchConfiguration à 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.

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, 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 : lorsque vous utilisez Google Dataproc, spécifiez un bucket dans le champ Google Storage staging bucket de l'onglet Spark configuration. Lorsque vous utilisez d'autres distributions, utilisez un composant tHDFSConfiguration afin de spécifier le répertoire.

  • Standalone mode : vous devez choisir le composant de configuration selon le système de fichiers que vous utilisez, comme tHDFSConfiguration ou tS3Configuration.

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