Propriétés du tElasticSearchLookupInput pour Apache Spark Streaming
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 (uniquement en anglais) (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 (uniquement en anglais) (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 (uniquement en anglais) (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.
|
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.
|
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.
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 :
Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie. |