Accéder au contenu principal Passer au contenu complémentaire

Propriétés du tCassandraOutput pour Apache Spark Batch

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

Le composant tCassandraOutput Spark Batch appartient à la famille Bases de données.

Le composant de ce framework est disponible dans tous les produits Talend avec Big Data nécessitant une souscription et dans Talend Data Fabric.

Basic settings

Property type

Peut être Built-In ou Repository.

Built-In : aucune propriété n'est stockée de manière centrale.

Repository : Sélectionnez le fichier dans lequel sont stockées les propriétés du composant.

Sync columns

Cliquez sur le bouton afin de récupérer le schéma du composant précédent dans le Job.

Keyspace

Saisissez le nom du Keyspace dans lequel écrire les données.

Action on keyspace

Sélectionnez l'opération que vous souhaitez effectuer sur le Keyspace à utiliser :

  • None : aucune opération n'est effectuée.

  • Drop and create keyspace : le keyspace est supprimé, puis créé à nouveau.

  • Create keyspace : le keyspace n'existe pas et est créé.

  • Create keyspace if not exists : un keyspace est créé s'il n'existe pas encore.

  • Drop keyspace if exists and create : le keyspace est supprimé s'il existe déjà, puis créé à nouveau.

Column family

Saisissez le nom du Keyspace dans lequel écrire les données.

Action on column family

Sélectionnez l'opération à effectuer sur la famille de colonnes à utiliser :

  • None : aucune opération n'est effectuée.

  • Create column family if not exists : la famille de colonnes est créée si elle n'existe pas.

  • Drop column family if exists and create : la famille de colonnes est supprimée si elle existe déjà et recréée.

  • Truncate column family : toutes les données de la famille de colonnes sont supprimées de manière définitive.

Cette liste est disponible uniquement lorsque vous avez sélectionné Update, Upsert ou Insert dans la liste Action on data.

Action on data

Sélectionnez l'opération que vous voulez effectuer :

  • Upsert : insérer les colonnes si elles n'existent pas ou mettre à jour les colonnes existantes.

    Avec cette action, le nom des colonnes à définir dans le schéma doit être en minuscules. Les noms saisis dans la colonne DB column du schéma doivent être identiques à ceux de leurs équivalents de la table cible, y compris les majuscules.

  • Insert: insérer les colonnes si elles n'existent pas. Cette action met également à jour les colonnes existantes.

  • Update : mettre à jour les colonnes existantes ou ajoute les colonnes qui n'existent pas. Cette action ne supporte pas le type de données Cassandra Counter.

  • Delete : supprimer les colonnes correspondantes du flux d'entrée.

Pour plus d'options avancées, utilisez la vue Advanced 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.

Créez le schéma en cliquant sur le bouton Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir uniquement le schéma.

  • Change to built-in property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs.

    Si vous souhaitez propager les modifications uniquement au Job courant, cliquez sur No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre Repository Content.

Le schéma de ce composant ne supporte pas les types Object et List.

 

Built-in : le schéma est créé et conservé localement pour ce composant seulement.

 

Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans des Jobs et projets.

Lorsque le schéma à réutiliser contient des valeurs par défaut de type Integer ou Function, assurez-vous que ces valeurs par défaut ne sont pas entourées de guillemets. Si elles le sont, supprimez manuellement les guillemets.

Pour plus d'informations, consultez Récupérer les schémas de table.

Advanced settings

Configuration

Ajoutez les propriétés Cassandra à personnaliser lors de l'action d'upsert sur les données dans Cassandra.
  • Par exemple, si vous devez définir le niveau de cohérence de Cassandra en écriture, sélectionnez la propriété output_consistency_level dans la colonne Property name et saisissez la valeur numérique du niveau souhaité dans la colonne Value.

La liste suivante présente les valeurs numériques que vous pouvez saisir ainsi que le niveau de cohérence auquel elles correspondent :

  • 0 : ANY,

  • 1 : ONE,

  • 2 : TWO,

  • 3 : THREE,

  • 4 : QUORUM,

  • 5 : ALL,

  • 6 : LOCAL_QUORUM,

  • 7 : EACH_QUORUM,

  • 8 : SERIAL,

  • 9 : LOCAL_SERIAL,

  • 10 : LOCAL_ONE

Pour plus d'informations concernant chaque niveau de cohérence, consultez la documentation Datastax pour Cassandra.

Lorsqu'une ligne est ajoutée à la table, vous devez cliquer sur la nouvelle ligne dans la colonne Property name pour afficher les liste des propriétés disponibles et sélectionnez la ou les propriété(s) à personnaliser. Pour plus d'informations concernant chacune de ces propriétés, consultez la section Tuning à l'adresse suivante : https://github.com/datastax/spark-cassandra-connector/blob/master/doc/5_saving.md (en anglais).

Use unlogged batch

Cochez cette case pour gérer les données par lot avec l'approche UNLOGGED de Cassandra. Cette fonctionnalité est disponible pour les trois actions suivantes : Insert, Update et Delete.

Vous devez configurer la manière dont fonctionne le mode batch mode :
  • Batch size : saisissez le nombre de lignes dans chaque batch à traiter.

  • Group batch method : sélectionnez la manière dont grouper les lignes en batchs :
    1. Partition : les lignes partageant les mêmes clés de partition sont groupées.

    2. Replica : les lignes à écrire dans une même réplique sont groupées.

    3. None : les lignes sont groupées au hasard. Cette option convient à un seul nœud Cassandra.

  • Cache batch group : cochez cette case pour charger des lignes en mémoire avant de les grouper. Ainsi, l'ordre des lignes n'a pas d'impact sur le regroupement.

    Si vous laissez cette case décochée, seules les lignes successives répondant aux mêmes critères sont groupées.

  • Async execute : cochez cette case si vous souhaitez que le tCassandraOutput envoie des batchs en parallèle. Si vous la laissez décochée, le tCassandraOutput attend le résultat d'un batch avant d'en envoyer à un autre à Cassandra.

  • Maximum number of batches executed in parallel : une fois que vous avez coché Async execute, saisissez le nombre de batchs à envoyer en parallèle à Cassandra.

    Ce nombre ne doit être ni 0, ni un nombre négatif. Il est également recommandé de ne pas utiliser une valeur trop grande.

La situation idéale pour utiliser les batchs avec Cassandra est lorsqu'un petit nombre de tables doit synchroniser les données à insérer ou mettre à jour.

Avec l'approche UNLOGGED, le Job n'écrit pas des lots dans le système batchlog de Cassandra et éviter les problèmes de performance liés à cette écriture. Pour plus d'informations concernant les instructions BATCH de Cassandra et l'approche UNLOGGED, consultez Batches (en anglais).

Insert if not exists

Cochez cette case pour insérer des lignes. Cette insertion de lignes s'effectue uniquement si elles n'existent pas dans la table cible.

Cette fonctionnalité est disponible uniquement lorsque l'action Insert est sélectionnée.

Delete if exists

Cochez cette case pour supprimer de la table cible les lignes ayant le même enregistrement dans le flux entrant.

Cette fonctionnalité est disponible uniquement lorsque l'action Delete est sélectionnée.

Use TTL

Cochez cette case pour écrire les données du TTL dans la table cible. Dans la liste de colonnes affichée, sélectionnez la colonne à utiliser comme colonne du TTL. Le type de cette colonne doit être Int.

Cette fonctionnalité est disponible uniquement lorsque l'action Insert ou Update est sélectionnée.

Use Timestamp

Cochez cette case pour écrire les données de date et heure dans la table cible. Dans la liste de colonnes affichée, sélectionnez la colonne à utiliser pour stocker les données de date et heure. Le type de cette colonne doit être BigInt.

Cette fonctionnalité est disponible pour les actions suivantes : Insert, Update et Delete.

IF condition

Ajoutez la condition à rencontrer pour que l'action Update ou Delete s'exécute. Cette condition vous permet d'être plus précis quant à la colonne à mettre à jour ou à supprimer.

Special assignment operation

Renseignez cette table afin de construire les commandes avancées SET de Cassandra, pour rendre l'action Update plus spécifique. Par exemple, ajouter un enregistrement au début ou à une position particulière d'une colonne donnée.

Dans la colonne Update column de la table, vous devez sélectionnez la colonne à mettre à jour puis sélectionner les opérations à utiliser, depuis la colonne Operation. Les opérations suivantes sont disponibles :
  • Append : ajoute les enregistrements entrants à la fin de la colonne à mettre à jour. Les types de données gérés par Cassandra sont Counter, List, Set et Map.

  • Prepend : ajoute les enregistrements entrants au début de la colonne à mettre à jour. Le seul type de données géré par Cassandra est List.

  • Remove : supprime les enregistrements de la table cible lorsque les mêmes enregistrements existent dans le flux entrant. Les types de données gérés par Cassandra sont Counter, List, Set et Map.

  • Assign based on position/key : ajoute des enregistrements à une position précise de la colonne à mettre à jour. Les types de données gérés par Cassandra sont List et Map.

    Une fois cette opération sélectionnée, la colonne Map key/list position devient modifiable. Dans cette colonne, vous devez sélectionner la colonne à utiliser en tant que référence afin de localiser la position à mettre à jour.

Pour plus d'informations concernant ces opérations, consultez la documentation relative à Datastax à l'adresse suivante : http://docs.datastax.com/en/cql/3.1/cql/cql_reference/update_r.html?scroll=reference_ds_g4h_qzq_xj__description_unique_34 (en anglais).

Row key in the List type

Sélectionnez la colonne à utiliser pour construire la clause WHERE de Cassandra pour effectuer l'action Update ou Delete sur les lignes sélectionnées. Les colonnes à utiliser dans cette table doivent provenir de l'ensemble des colonnes de clé primaire de la table Cassandra.

Delete collection column based on postion/key

Sélectionnez la colonne à utiliser comme référence afin de localiser la ou les ligne(s) à supprimer.

Cette fonctionnalité est disponible uniquement lorsque l'action Delete est sélectionnée.

Utilisation

Règle d'utilisation

Ce composant est utilisé en tant que composant de fin et requiert un lien d'entrée.

Ce composant doit utiliser un seul tCassandraConfiguration présent dans le même Job pour se connecter à Cassandra. La présence de plusieurs composants tCassandraConfiguration fait échouer l'exécution du Job.

Ce composant, ainsi que la Palette Spark Batch à laquelle il appartient, ne s'affiche que lorsque vous créez un Job Spark Batch.

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

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !