Académique Documents
Professionnel Documents
Culture Documents
E. Quinton
IRSTEA
Découvrir Talend
Le travail à
réaliser
Décrire les
Un TP pour manipuler les briques de base
données
Tables de
paramètres
Importer les
données Éric Quinton
Exporter le job eric.quinton@irstea.fr
Séminaire RBDD
21/10/2015
1 / 30
Sommaire
TP Talend
E. Quinton
IRSTEA 1 Le travail à réaliser
Le travail à
réaliser
Tables de
paramètres
3 Tables de paramètres
Importer les
données
Exporter le job
4 Importer les données
5 Exporter le job
21/10/2015
2 / 30
Présentation du projet d’import de données
TP Talend
E. Quinton
IRSTEA
Dans le cadre du programme de réintroduction de
Le travail à
réaliser
l’Esturgeon d’Europe, toutes les captures doivent être
Décrire les
déclarées. IRSTEA est chargé de gérer la base de données
données associée.
Tables de
paramètres
Jusqu’à présent, les données étaient stockées dans un
Importer les
données fichier Excel. L’objectif du TP est de les transférer vers une
Exporter le job base de données PostgreSQL.
Le fichier Excel fourni par la chercheuse a été tronqué et
modifié : les données sont donc fictives. La base de
données générée est, elle aussi, simplifiée.
21/10/2015
3 / 30
Structure de la base de données
TP Talend
La base de données fonctionne sous Postgresql.
E. Quinton
IRSTEA
Le travail à
réaliser
Décrire les
données
Tables de
paramètres
Importer les
données
Exporter le job
21/10/2015
4 / 30
Le fichier initial contenant les données
TP Talend
E. Quinton
IRSTEA
Fichier Excel
fichier captures.xlsx
Le travail à
réaliser Un seul onglet, une ligne par jeu de données.
Décrire les
données
Importer les
le séparateur décimal doit être le point ;
données
il vaut mieux désactiver les aides au formatage
Exporter le job
(transformation de la première lettre en majuscule, p.
e.) ;
TOS ne supporte pas les fichiers ODS ;
préférez les fichiers au format XLSX.
21/10/2015
5 / 30
Créer la connexion à la base
TP Talend
E. Quinton
IRSTEA
Lancez Talend, et créez un nouveau projet. ouvrez-le.
Métadonnées > Connexions aux bases de données
Le travail à
réaliser
clic-droit > créer une connexion
Décrire les
données nom : capture, puis suivant
Tables de DB Type : Postgresql
paramètres
Version de la base de données : v9.X
Importer les
données Login : capture
Exporter le job Mot de passe : capture
Server : localhost
Port : 5432
database : capture
Bouton Vérifier
Bouton Exporter en tant que contexte
21/10/2015
6 / 30
Créer le contexte
TP Talend
E. Quinton
IRSTEA
Tables de
c’est le seul moyen pour indiquer un schéma autre que
paramètres le schéma public ;
Importer les
données cela permet de définir différents environnements :
Exporter le job développement, pré-production, production ;
il est possible de demander la saisie de paramètres à
l’exécution (p. e., login et mot de passe)
21/10/2015
7 / 30
Créer le contexte (2)
TP Talend
nom : capture, puis bouton suivant
E. Quinton
IRSTEA onglet Arbre des valeurs, cliquez sur l’icône Configure
Le travail à
Contexts...
réaliser modifiez Default, en le renommant en dev ;
Décrire les
données créez un second contexte, appelé prod.
Tables de
paramètres Revenez dans la fenêtre précédente : pour chaque variable,
Importer les
données
vous disposerez de deux données possibles, une par
Exporter le job
contexte.
TP Talend
E. Quinton
IRSTEA
Le travail à
réaliser Métadonnées > Connexions aux bases de données >
Décrire les
données
capture : clic-droit, Récupérer le schéma ;
Tables de Validez les choix par défaut, jusqu’à la boite Schéma :
paramètres
déroulez public
Importer les
données cochez public : toutes les tables sont sélectionnées
Exporter le job
bouton Suivant
bouton Terminer
21/10/2015
9 / 30
Récupérer la structure du fichier Excel
TP Talend
E. Quinton
Métadonnées > Fichier Excel : clic-droit, créer un
IRSTEA
fichier Excel
Le travail à
réaliser
Nom : captures
Décrire les sélectionnez le fichier, puis la feuille à traiter ;
données
Tables de
bouton Suivant, puis cochez Définir les lignes
paramètres
d’en-tête comme nom de colonne ;
Importer les
données bouton Suivant, puis modifiez les types de données :
Exporter le job champ date : type Date, modèle de date :
"dd/MM/yyyy"
supprimez les colonnes inutiles en fin de tableau
Astuce...
Ctrl + espace vous propose les choix possibles
21/10/2015
10 / 30
Alimenter les tables de paramètres
TP Talend
E. Quinton
IRSTEA
Décrire les
seront stockées dans des tables dédiées, chaque capture
données ne contenant que la référence à celles-ci.
Tables de
paramètres Avant d’alimenter ces tables, il faut :
Importer les
données
Exporter le job
vérifier que les libellés sont bien uniques ;
le cas échéant, définir une stratégie pour régler le
problème des doublons (textes légèrement différents).
21/10/2015
11 / 30
Visualiser les données saisies
TP Talend
E. Quinton
IRSTEA
Créez un nouveau job (Jobs, clic-droit, créer un job) :
TP Talend
recherchez tSortRow, et reliez tUniqRow par le lien
E. Quinton
IRSTEA Uniques ;
Le travail à double-cliquez sur tSortRow, ajoutez la colonne du
réaliser
schéma CIEM, et définissez le tri par ordre
Décrire les
données alphabétique ;
Tables de
paramètres
recherchez le composant tMap, et reliez le précédent
Importer les
par un lien Main ;
données
recherchez le composant tLogRow, et reliez tMap à
Exporter le job
celui-ci (nom, p. e. : log) ;
ouvrez tMap (double-clic) ;
déplacez la valeur CIEM de row3 vers log : la valeur
row3.CIEM alimentera la valeur log.CIEM ;
Exécutez le job : la liste de toutes les valeurs uniques
21/10/2015 de CIEM est affichée.
13 / 30
Que faire pour traiter les valeurs dupliquées ?
TP Talend
Certaines valeurs sont dupliquées (fautes de frappe,
E. Quinton
IRSTEA utilisation d’un espace, mélange de majuscule et de
minuscules, etc.). Deux solutions sont envisageables :
Le travail à
réaliser
TP Talend
E. Quinton
IRSTEA
Le travail à
réaliser
Décrire les
Corrigez le fichier Excel pour supprimer les valeurs
données redondantes ;
Tables de
paramètres Relancez le job pour vérifier qu’il n’y a plus de
Importer les doublons ;
données
21/10/2015
15 / 30
Alimenter la table CIEM
TP Talend
E. Quinton
IRSTEA
Créez un nouveau job import_ciem ;
Le travail à
réaliser Métadonnées > Connexions aux bases de données :
Décrire les déplacez la base capture dans l’espace de travail.
données
Tables de
Choisissez le composant tPostgresqlConnection ;
paramètres
recopiez les composants tExcelInput à tSortRow du
Importer les
données job précédent dans ce job ;
Exporter le job
reliez tPostgresqlConnection à tExcelInput par un lien
Déclencheur > OnSubjobOk ;
ajoutez un nouveau composant tMap, et reliez
tSortRow à tMap ;
21/10/2015
16 / 30
Alimenter la table CIEM (2)
TP Talend
E. Quinton
IRSTEA Métadonnées > Connexions aux bases de données >
Le travail à
Schéma des tables > ciem : déposez la table dans
réaliser
l’espace de travail. Choisissez le composant
Décrire les
données tPostgresqlOutput ;
Tables de
paramètres
double-cliquez sur ciem, cochez Utiliser une connexion
Importer les
existante et Arrêter en cas d’erreur ;
données
reliez tMap à ciem (nom ciem) ;
Exporter le job
ouvrez tMap :
reliez CIEM à ciem_libelle ;
dans l’éditeur de schéma (en bas, à droite), supprimez
la colonne ciem_id : la clé sera générée
automatiquement.
21/10/2015
17 / 30
Alimenter la table CIEM (3)
TP Talend
recherchez le composant tPostgresqlCommit ;
E. Quinton décochez Fermer la connexion ;
IRSTEA
reliez tfileInputExcel à tPostgresqlCommit par le
Le travail à déclencheur onSubjobOk ;
réaliser
désactivez (par clic-droit) le composant
Décrire les
données tPostgresqlCommit ;
Tables de dans l’onglet Contexts, cliquez sur l’icône des
paramètres
contextes (en bas à droite des boutons), et rajoutez le
Importer les
données contexte capture ;
Exporter le job exécutez le job ;
une erreur apparaît, avec une tentative d’insertion
d’une valeur nulle :
ouvrez le composant tMap ;
activez le filtre d’expression de ciem, et rajoutez la
formule suivante : Relational.ISNULL(row3.CIEM ) ?
false : true
21/10/2015
18 / 30 relancez le job.
Alimenter la table CIEM (4)
TP Talend
si aucune erreur n’est détectée, réactivez
E. Quinton
IRSTEA tPostgresqlCommit, et relancez le job ;
Le travail à vérifiez ensuite que la table ciem a bien été alimentée,
réaliser
par une requête sql (psql, par exemple) ;
Décrire les
données refaites la même chose pour la table milieu.
Tables de
paramètres
TP Talend
E. Quinton
IRSTEA
Décrire les
capture et lieu.
données
Tables de
Les difficultés :
paramètres
Exporter le job
capture (clé étrangère) ;
les valeurs CIEM et milieu doivent référencer les tables
créées précédemment.
21/10/2015
20 / 30
Le job d’import des données - préparer les
données à lire
TP Talend
Le travail à
chargez le groupe de contexte correspondant à la base
réaliser
de données ;
Décrire les
données créez l’objet tPostgresqlConnection en déplaçant la
Tables de
paramètres
base de données capture depuis les métadonnées
Importer les
dans l’espace de travail ;
données
ajoutez le composant tFileInputExcel correspondant à
Exporter le job
notre fichier Excel ;
reliez tPostgresqlConnexion à tFileInputExcel par un
déclencheur OnSubjobOk ;
recherchez dans la palette le composant tMap, et reliez
tFileInputExcel à celui-ci par un lien Row > main ;
21/10/2015
21 / 30
Le job d’import des données - préparer les
données à lire (2)
TP Talend
E. Quinton
IRSTEA
Le travail à
réaliser
21/10/2015
23 / 30
Préparer les données en sortie
TP Talend
E. Quinton
IRSTEA
Le travail à
réaliser
21/10/2015
24 / 30
Préparer les données en sortie (2)
TP Talend
E. Quinton
IRSTEA
ajoutez un composant tPostgresqlRow, qui sera utilisé
Le travail à pour recalculer la valeur du compteur automatique pour
réaliser
la table capture :
Décrire les
données cochez Utiliser une connexion existante et Arrêter en
Tables de cas d’erreur ;
paramètres
dans la zone Requête, indiquez la requête : "select
Importer les
données
setval(’capture_capture_id_seq’, (select
Exporter le job
max(capture_id from capture))"
reliez le composant tPostgresqlOuput capture à celui-ci,
par un lien Déclencheur > OnComponentOk
rajoutez un composant tLogRow, et reliez-y tMap
(nom : notFound)
21/10/2015
25 / 30
Paramétrer le composant tMap
TP Talend
Ouvrez le composant tMap, puis :
E. Quinton
IRSTEA
reliez les colonnes row1 Date, NbCapture, Description
Le travail à
réaliser
aux colonnes correspondantes dans la table capture ;
Décrire les faites la même chose pour les données GPS vers la
données
table lieu ;
Tables de
paramètres récupérez les clés des tables de référence :
Importer les reliez CIEM à ciem_libelle ;
données
Exporter le job
reliez ciem_id (du composant row) à ciem_id de lieu ;
la relation vers la table ciem étant de type outer join,
rendez nullable la colonne ciem_id (composant row) ;
faites la même chose pour Milieu (sans rendre nullable
la clé) ;
dans row3 (table milieu en entrée), cliquez sur la clé
plate (tMap settings), et dans le Join model, choisissez
21/10/2015 Inner Join (jointure interne)
26 / 30
Paramétrer le composant tMap (2)
TP Talend
E. Quinton
IRSTEA
Le travail à
réaliser
21/10/2015
27 / 30
Paramétrer le composant tMap (3)
TP Talend
TP Talend
E. Quinton
IRSTEA
Le travail à
réaliser
21/10/2015
29 / 30
Exporter le job
TP Talend
L’objectif est de récupérer un fichier exécutable en ligne de
E. Quinton
IRSTEA
commande.
Tables de
décochez Extraire le fichier zip.
paramètres
Exporter le job
le dossier lib, contenant les bibliothèques java utilisées ;
un dossier correspondant au nom de votre job, qui
comprend un fichier nom_job_run.bat et un fichier
nom_job_run.sh.