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

Avertissement

Ce composant est disponible dans la Palette du Studio Talend si vous avez souscrit à l'une des solutions Big Data de Talend.

Fonction

Le composant tCassandraInput vous permet de lire des données d'un espace de clé (keyspace) Cassandra et d'envoyer des données dans un flux Talend.

Objectif

Le tCassandraInput vous permet d'extraire les données souhaitées d'une famille de colonnes ou d'une super famille de colonnes d'un Keyspace Cassandra, afin d'appliquer les modifications aux données.

Si vous avez souscrit à l'une des solutions Big Data de Talend, ce composant est disponible dans les types de Job suivants :

Tableaux des correspondances entre le type Cassandra et le type de données Talend

Le premier tableau ci-dessous présente les relations de mapping entre le type Cassandra avec sa nouvelle API, Datastax et le type de données Talend.

Si la version de Cassandra que vous utilisez avec le Studio est antérieure à 2.0, ou si vous sélectionnez l'API Hector dans le composant à utiliser avec Cassandra 2.0, consultez le second tableau.

Type Cassandra

Type de données Talend

Ascii

String; Character

BigInt

Long

Blob

Byte[]

Boolean

Boolean

Counter

Long

Inet

Object

Int

Integer; Short; Byte

List

List

Map

Object

Set

Object

Text

String; Character

Timestamp

Date

UUID

String

TimeUUID

String

VarChar

String; Character

VarInt

Object

Boolean

Boolean

Float

Float

Double

Double

Decimal

BigDecimal

Le tableau suivant présente les relations entre les types de Cassandra avec l'API Hector et les types de données Talend.

Type Cassandra

Type de données Talend

BytesType

byte[]

AsciiType

String

UTF8Type

String

IntegerType

Object

Int32Type

Integer

LongType

Long

UUIDType

String

TimeUUIDType

String

DateType

Date

BooleanType

Boolean

FloatType

Float

DoubleType

Double

DecimalType

BigDecimal

Propriétés du tCassandraInput

Famille du composant

Big Data / Cassandra

 

Basic settings

Property type

Peut être Built-in ou Repository.

- Built-in : Propriétés utilisées ponctuellement.

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

 

Use existing connection

Cochez cette case et sélectionnez le composant de connexion adéquat à partir de la liste Component List pour réutiliser les paramètres d'une connexion que vous avez déjà définie.

 

DB Version

Sélectionnez la version de Cassandra que vous utilisez.

 

API type

Cette liste déroulante s'affiche uniquement lorsque vous avez sélectionné la version 2.0 de Cassandra dans la liste DB version. Dans cette liste API type, vous pouvez sélectionner Datastax pour utiliser CQL 3 (Cassandra Query Language) avec Cassandra ou sélectionnez Hector pour utiliser CQL 2.

Notez que l'API Hector est dépréciée depuis la version 2.0 de Cassandra, mais est toujours disponible pour une utilisation dans le Studio, à des fins de flexibilité de version du langage de requête à utiliser avec Cassandra 2.0.0.

Avec l'évolution des commandes CQL, les paramètres à configurer dans la vue Basic settings varient.

 

Host

Saisissez le nom de l'hôte ou l'adresse IP du serveur Cassandra.

 

Port

Saisissez le numéro du port d'écoute du serveur Cassandra.

 

Required authentication

Cochez cette case afin de saisir vos identifiants de connexion à Cassandra.

Cette case apparaît si vous ne cochez pas la case Use existing connection.

 

Username

Saisissez dans ce champ l'identifiant d'authentification à Cassandra.

 

Password

Saisissez dans ce champ le mot de passe d'authentification à Cassandra.

Pour saisir le mot de passe, cliquez sur le bouton [...] à côté du champ Password, puis, dans la boîte de dialogue qui s'ouvre, saisissez le mot de passe entre guillemets doubles, puis cliquez sur OK afin de sauvegarder les paramètres.

Keyspace configuration

Keyspace

Saisissez le nom du Keyspace duquel lire les données.

Column family configuration

Column family

Saisissez le nom de famille de la colonne de laquelle lire les données.

Keyspace configuration

Keyspace

Saisissez le nom de l'espace de clé duquel vous souhaitez lire les données.

 

Column family

Saisissez le nom de la famille de colonnes de laquelle vous souhaitez lire les données.

 

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.

Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir 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, sélectionnez No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

 

Query

Saisissez les instructions de requête à utiliser pour lire les données dans la base de données Cassandra.

Par défaut, la requête n'est pas sensible à la casse. Cela signifie, que, lors de l'exécution, le nom des colonnes saisis dans la requête sont toujours pris en minuscules. Si vous voulez rendre la requête sensible à la casse, mettez les noms de colonnes entre guillemets doubles.

Le bouton [...] à côté de ce champ vous permet de générer le code d'exemple affichant quelles sont les variables prédéfinies pour les données à lire et comment ces variables peuvent être utilisées.

Cette fonctionnalité est disponible uniquement à partir de la version 2.0 de l'API Datastax de Cassandra.

Ces fonctionnalités sont disponibles uniquement avec l'API Hector.

Column family type

Standard : Famille de colonnes de type standard.

Super : Famille de colonnes de type super.

Include key in output columns

Cochez cette case pour inclure la clé de la famille de colonnes dans les colonnes de sortie.

  • Key column : sélectionnez le colonne de clé dans la liste.

Row key type

Sélectionnez dans la liste le type de données Talend approprié pour la clé de ligne.

Row key Cassandra type

Sélectionnez dans la liste le type Cassandra pour la clé de ligne.

Avertissement

La valeur de l'option Default varie selon le type de clé de ligne sélectionné. Par exemple, si vous sélectionnez String dans la liste Row key type, la valeur de l'option Default est UTF8.

Pour plus d'informations concernant les correspondances de mapping entre le type Cassandra et le type de données Talend, consultez Tableaux des correspondances entre le type Cassandra et le type de données Talend.

Include super key output columns

Cochez cette case pour inclure la super clé de la famille de colonnes dans les colonnes de sortie.

  • Super key column : sélectionnez dans la liste la colonne ayant la super clé souhaitée.

Cette case apparaît si vous sélectionnez Super dans la liste Column family type.

Super column type

Sélectionnez dans la liste le type de la super colonne.

Super column Cassandra type

Sélectionnez le type Cassandra correspondant à la super colonne, dans la liste.

Pour plus d'informations concernant les correspondances de mapping entre le type Cassandra et le type de données Talend, consultez Tableaux des correspondances entre le type Cassandra et le type de données Talend.

Specify row keys

Cochez cette case afin de spécifier les clés des lignes de la famille de colonnes.

Row Keys

Saisissez les clés de lignes spécifiques dans la famille de colonnes, au format correct selon le type de clé de ligne.

Ce champ apparaît si vous cochez la case Specify row keys.

Key start

Saisissez la clé de la ligne de début du type de données correct.

Key end

Saisissez la clé de la ligne de fin du type de données correct.

Key limit

Saisissez le nombre de lignes à lire entre la ligne de début et la ligne de fin.

Specify columns

Cochez cette case afin de spécifier directement le nom des colonnes de la famille de colonnes.

Columns

Spécifiez directement le nom des colonnes de la famille de colonnes, au format correct selon le type de colonne.

Ce champ apparaît si vous cochez la case Specify columns.

Columns range start

Saisissez le nom de la colonne de début du type de données correct.

Columns range end

Saisissez le nom de la colonne de fin du type de données correct.

Columns range limit

Saisissiez le nombre de colonnes à lire entre la colonne de début et la colonne de fin.

Advanced settings

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau du Job ainsi qu'au niveau de chaque composant.

Global Variables

NB_LINE : nombre de lignes lues par un composant d'entrée ou passées à un composant de sortie. Cette variable est une variable After et retourne un entier.

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, si le composant a cette option.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation

Ce composant est un composant d'entrée et nécessite un lien de sortie.

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

Scénario : Gestion des données avec Cassandra

Ce scénario décrit un Job simple qui lit des données relatives à des employés dans un fichier CSV, écrit les données dans un keyspace Cassandra, extrait les informations personnelles de certains employés, puis affiche les informations dans la console.

Ce scénario nécessite six composants :

  • un tCassandraConnection pour ouvrir une connexion au serveur Cassandra.

  • un tFileInputDelimited pour lire le fichier d'entrée, définir la structure des données et les envoie au composant suivant.

  • un tCassandraOutput pour écrire les données reçues du composant précédent dans un espace de clé (keyspace) Cassandra.

  • un tCassandraInput pour lire les données du keyspace Cassandra.

  • un tLogRow pour afficher dans la console les données reçues du composant précédent.

  • et un tCassandraClose pour fermer la connexion au serveur Cassandra.

Déposer et relier les composants

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : un tCassandraConnection, un tFileInputDelimited, un tCassandraOutput, un tCassandraInput, un tLogRow et un tCassandraClose.

  2. Connectez le tFileInputDelimited au tCassandraOutput à l'aide d'un lien Row > Main.

  3. Répétez l'opération pour relier le tCassandraInput au tLogRow.

  4. Connectez le tCassandraConnection au tFileInputDelimited à l'aide d'un lien Trigger > OnSubjobOk.

  5. Répétez l'opération pour relier le tFileInputDelimited au tCassandraInput et le tCassandraInput au tCassandraClose.

  6. Renommez les composants afin de mieux identifier leur rôle.

Configurer les composants

Ouvrir une connexion Cassandra

  1. Double-cliquez sur le tCassandraConnection pour ouvrir sa vue Basic settings.

  2. Sélectionnez la version de Cassandra que vous utilisez, dans la liste DB Version. Dans cet exemple, sélectionnez Cassandra 1.1.2.

  3. Dans le champ Server, saisissez le nom de l'hôte ou l'adresse IP du serveur Cassandra. Dans cet exemple, saisissez localhost.

  4. Dans le champ Port, saisissez le numéro du port d'écoute du serveur Cassandra.

  5. Si nécessaire, saisissez vos informations d'authentification à Cassandra : votre identifiant dans le champ Username et votre mot de passe dans le champ Password.

Lire les données d'entrée

  1. Double-cliquez sur le composant tFileInputDelimited pour ouvrir sa vue Component.

  2. Cliquez sur le bouton [...] à côté du champ File Name/Stream afin de parcourir votre système jusqu'au fichier duquel vous souhaitez lire les données. Dans ce scénario, le répertoire est D:/Input/Employees.csv. Le fichier CSV contient quatre colonnes : id, age, name et ManagerID.

    id;age;name;ManagerID
    1;20;Alex;1
    2;40;Peter;1
    3;25;Mark;1
    4;26;Michael;1
    5;30;Christophe;2
    6;26;Stephane;3
    7;37;Cedric;3
    8;52;Bill;4
    9;43;Jack;2
    10;28;Andrews;4
  3. Dans le champ Header, saisissez 1 pour ignorer la première ligne du fichier CSV (car c'est une ligne d'en-tête).

  4. Cliquez sur Edit schema pour définir les données à passer au composant tCassandraOutput.

Ecrire des données dans un keyspace Cassandra

  1. Double-cliquez sur le tCassandraOutput pour ouvrir sa vue Basic settings.

  2. Saisissez les informations requises pour la connexion ou cochez la case Use existing connection afin d'utiliser la connexion précédemment configurée. Dans ce scénario, la case Use existing connection est cochée.

  3. Dans la zone Keyspace configuration, saisissez le nom du keyspace : Employee, dans cet exemple et sélectionnez Drop keyspace if exists and create dans la liste Action on keyspace.

  4. Dans la zone Column family configuration, saisissez le nom de la famille de colonnes : Employee_Info, dans cet exemple et sélectionnez Drop column family if exists and create dans la liste Action on column family.

    La case Define column family structure s'affiche. Dans cet exemple, décochez la case.

  5. Dans la liste Action on data, sélectionnez l'action que vous souhaitez effectuer, Upsert dans cet exemple.

  6. Cliquez sur le bouton Sync columns pour récupérer le schéma du composant précédent.

  7. Sélectionnez la colonne de clé dans la liste Key column. Dans cet exemple, sélectionnez id.

    Si nécessaire, cochez la case Include key in columns.

Lire des données d'un keyspace Cassandra

  1. Double-cliquez sur le composant tCassandraInput pour ouvrir sa vue Component.

  2. Saisissez les informations requises pour la connexion ou cochez la case Use existing connection afin d'utiliser la connexion précédemment configurée. Dans ce scénario, la case Use existing connection est cochée.

  3. Dans la zone Keyspace configuration, saisissez le nom de l'espace de clé : Employee, dans cet exemple.

  4. Dans la zone Column family configuration, saisissez le nom de la famille de colonnes : Employee_Info, dans cet exemple.

  5. Sélectionnez Edit schema pour définir la structure des données à lire depuis le keyspace Cassandra. Dans cet exemple, trois colonnes sont définies id, name et age.

  6. Si nécessaire, cochez la case Include key in output columns, puis sélectionnez, dans la liste Key column, la colonne clé de la famille de colonnes que vous souhaitez inclure.

  7. Dans la liste Row key type, sélectionnez Integer car la colonne id est de type Integer dans cet exemple.

    Laissez l'option Row key Cassandra type à Default, car sa valeur devient automatiquement Int32.

  8. Dans la zone Query configuration, cochez la case Specify row keys et spécifiez les clés de lignes. Dans cet exemple, trois lignes doivent être lues. Cochez la case Specify columns et spécifiez le nom des colonnes de la famille de colonnes. Ce scénario permet de lire trois colonnes du : id, name et age.

  9. Si nécessaire, les champs Key start et Key end vous permettent de définir l'écart de lignes. Le champ Key limit vous permet de spécifier le nombre de lignes à l'intérieur de l'écart de lignes à lire. De la même manière, les champs Columns range start et Columns range end vous permettent de définir l'écart de colonnes dans la famille de colonnes. Le champ Columns range limit vous permet de spécifier le nombre de colonnes dans l'écart de colonnes à lire.

Afficher les informations qui vous intéressent

  1. Double-cliquez sur le composant tLogRow pour ouvrir sa vue Component.

  2. Dans la zone Mode, sélectionnez Table (print values in cells of a table) afin de visualiser les données sous forme de tableau.

Fermer la connexion Cassandra

  1. Double-cliquez sur le composant tCassandraClose pour afficher sa vue Component.

  2. Sélectionnez la connexion à fermer, dans la liste Component List.

Sauvegarder et exécuter le Job

  1. Appuyez sur les touches Ctrl+S pour sauvegarder votre Job.

  2. Exécutez le Job en appuyant sur la touche F6 ou en cliquant sur le bouton Run dans la vue Run.

    Les informations personnelles des trois employés s'affichent dans la console.

Propriétés du tCassandraInput dans des Jobs Spark Batch

Famille du composant

Databases / Cassandra

 

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.

Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir 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, sélectionnez 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.

 

Keyspace

Saisissez le nom de l'espace de clé duquel vous souhaitez lire les données.

 

Column family

Saisissez le nom de la famille de colonnes de laquelle vous souhaitez lire les données.

 

Selected column function

Sélectionnez les colonnes desquelles vous souhaitez récupérer la propriété TTL (time to live) ou writeTime.

La propriété TTL détermine le temps avant expiration des enregistrements dans une colonne. La propriété writeTime indique le moment où un enregistrement a été créé.

Pour plus d'informations concernant ces propriétés, consultez la documentation Datastax pour Cassandra CQL.

 

Filter function

Définissez les filtres à utiliser pour sélectionner les enregistrements à traiter.

Le composant génère la clause WHERE ALLOW FILTERING à l'aide des filtres définis. Cette fonction de filtre est sujette à la limite de cette clause Cassandra.

 

Order by clustering column

Sélectionnez comment trier les enregistrements récupérés. Vous pouvez sélectionner NONE pour ne pas trier les données.

 

Use limit

Cochez cette case pour afficher le champ Limit per partition, dans lequel vous saisissez le nombre de lignes à récupérer, à partir de la première ligne.

Utilisation dans des Jobs Spark Batch

Dans un Job Talend Spark Batch, ce composant est utilisé comme composant de début et requiert un lien de sortie. Les autres composants utilisés avec lui doivent également être des composants Spark Batch. Ils génèrent nativement du code Spark pouvant être directement exécuté dans un cluster Spark.

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.

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

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.

Scénario associé

Aucun scénario n'est disponible pour la version Spark Batch de ce composant.