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

ElasticSearch

Version
7.3
Language
Français
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Real-Time Big Data Platform
Module
Studio Talend
Content
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
Last publication date
2024-02-22

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) à traiter et à passer au composant suivant. Lorsque vous créez un Job Spark, évitez le mot réservé line lors du nommage des champs.

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.

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

Indexer

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 chiffrée SSL ou TLS.

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

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

Déposez un tElasticSearchConfiguration dans le même Job afin de vous connecter à ElasticSearch. Vous devez cocher la case Use an existing configuration et sélectionner le composant tElasticSearchConfiguration à utiliser.
  • Notez que les composants Talend pour les Jobs Spark supportent les versions d'Elasticsearch à partir de 6.4.2.

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

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