Propriétés du tKafkaInput dans des Jobs Spark Streaming - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
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

Famille du composant

Messaging/Kafka

 

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.

Le schéma de ce composant est en lecture seule. Il stocke le corps du message envoyé depuis le producteur du message.

 

Broker list

Saisissez les adresses des nœuds du broker du cluster Kafka à utiliser.

L'adresse doit se présenter sous la forme suivante : hostname:port. Ces informations contiennent le nom et le port du nœud hébergeant dans le cluster Kafka.

Si vous devez spécifier plusieurs adresses, séparez-les à l'aide d'une virgule (,).

 

Starting offset

Sélectionnez le point de départ duquel les messages d'un sujet sont consommés.

Dans Kafka, le numéro d'ID séquentiel d'un message se nomme offset. Dans cette liste, vous pouvez sélectionner From beginning pour commencer la consommation depuis le message le plus ancien du sujet entier ou sélectionner From latest pour commencer depuis le message le plus récent ayant été consommé par le même groupe de consommateurs et à partir duquel l'offset a été commité.

Notez que, pour permettre au composant de se souvenir de la position d'un message consommé, vous devez activer le point de contrôle Spark Streaming dans l'onglet Spark Configuration de la vue Run du Job.

Chaque groupe de consommateurs possède son propre compteur pour se rappeler la position d'un message consommé. Pour cette raison, une fois qu'un groupe de consommateurs à commencé à consommer des messages d'un sujet donné, un groupe de consommateurs reconnaît le message le plus récent en voyant simplement la position où son groupe a arrête la consommation, plutôt que le sujet complet. Partant de ce principe, les comportements suivants peuvent être attendus :

  • un sujet possède par exemple 100 messages. Si un groupe de consommateurs a arrêté la consommation du message à l'offset 50, lorsque vous sélectionnez From latest, le même groupe de consommateurs reprend à partir de l'offset 51.

  • si vous créez un nouveau groupe de consommateurs ou en réinitialisez un existant, ce qui signifie que ce groupe n'a consommé aucun message de ce sujet, lorsque vous le démarrez depuis le dernier message, ce nouveau groupe démarre et attend l'offset 101.

 Topic name

Saisissez le nom du sujet depuis lequel le tKafkaInput reçoit le flux de messages.

 

Set number of records per second to read from each Kafka partition

Saisissez ce nombre entre guillemet doubles afin de limiter la taille de chaque batch à envoyer pour traitement.

Par exemple, si vous saisissez 100 et que la valeur du batch définie dans l'onglet Spark configuration est 2 secondes, la taille de partition pour chaque batch est de 200 messages.

Si vous laissez cette case décochée, le composant essaye de lire tous les messages disponibles en une seconde dans un batch avant d'envoyer ce dernier, ce qui peut créer un échec du Job s'il gère d'énormes quantités de messages.

Advanced settings

Kafka properties

Ajoutez les propriétés de consommation Kafka nécessaires pour personnaliser cette table. Par exemple, configurez une valeur spécifique zookeeper.connection.timeout.ms pour éviter l'exception ZkTimeoutException.

Pour plus d'information concernant les propriétés de consommation à définir dans cette table, consultez la section décrivant la configuration du consommateur dans la documentation Kafka, à l'adresse suivante : http://kafka.apache.org/documentation.html#consumerconfigs (en anglais).

 

Encoding

Sélectionnez l'encodage à partir de la liste ou sélectionnez Custom et définissez-le manuellement.

Cet encodage est utilisé par le tKafkaInput pour décoder les messages d'entrée.

Utilisation dans des Jobs Spark Streaming

Dans un Job Talend Spark Streaming, il est utilisé en tant que composant d'entrée et nécessite un lien de sortie. Les autres composants utilisés avec celui-ci doivent également être des composants Spark Streaming. Ils génèrent nativement du code Spark pouvant être exécuté directement dans un cluster Spark.

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.

Dans l'implémentation du composant courant dans Spark, les offsets Kafka sont automatiquement gérés par Spark, c'est-à-dire, au lieu d'être commités dans Zookeeper ou Kafka, les offsets sont suivis dans les points de contrôle Spark. Pour plus d'informations concernant cette implémentation, consultez la section relative à l'approche directe dans la documentation de Spark : http://spark.apache.org/docs/latest/streaming-kafka-integration.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.

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