Propriétés tPubSubOutput pour Apache Spark Streaming

Google PubSub

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

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

Le composant tPubSubOutput Spark Streaming appartient à la famille Messaging.

Le composant de ce framework est disponible si vous avez souscrit à Talend Real-Time Big Data Platform ou 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. Lorsque vous créez un Job Spark, évitez le mot réservé line lors du nommage des champs.

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

Define a Goolge Cloud configuration component

Si vous utilisez Dataproc comme votre cluster Spark, cochez cette case.

Sinon, cochez cette case pour permettre au composant Pub/Sub d'utiliser les informations de configuration de Google Cloud fournies par un composant tGoogleCloudConfiguration.

Topic name

Saisissez le nom du topic vers lequel vous souhaitez publier des messages. Ce topic doit déjà exister.

Topic operation

Sélectionnez l'opération à effectuer sur le topic spécifié :
  • None : sélectionnez cette option si le topic à utiliser existe déjà.

  • Create if not exists : sélectionnez cette option si le topic à utiliser n'existe pas.

Advanced settings

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 fin et nécessite un lien d'entrée.

Ce composant requiert un composant d'écriture (Write) comme le tWriteJSONField pour définir une colonne serializedValue dans le schéma d'entrée, afin d'envoyer des données sérialisées.

Connexion Spark

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.

PubSub access permissions

Lorsque vous utilisez Pub/Sub avec un cluster Dataproc, assurez-vous que ce cluster possède les permissions appropriées pour accéder au service Pub/Sub.

Pour cela, vous pouvez créer un cluster Dataproc en cochant la case Allow API access to all Google Cloud services dans le même projet, dans les options avancées sur Google Cloud Platform, ou via l'invite de commande, en assignant les portées explicitement (l'exemple suivant concerne un cluster de test à faible puissance) :
gcloud beta dataproc clusters create CLUSTER_ID \
    --zone europe-west1-b \
    --master-machine-type n1-standard-2 \
    --master-boot-disk-size 50 \
    --num-workers 2 \
    --worker-machine-type n1-standard-2 \
    --worker-boot-disk-size 50 \
    --scopes 'https://www.googleapis.com/auth/cloud-platform' \
    --project PROJECT_ID