Talend Open Studio
Le guide complet pour l'intégration de données
Éditions ENI
Avant-propos
Introduction générale
Chapitre 1
Présentation, installation et définitions
1. Introduction13
2. Que sont les outils ETL ?14
3. Types d'outils ETL14
3.1 Outils ETL des logiciels d'entreprise14
3.2 Outils ETL open source15
3.3 Outils ETL basés sur le cloud15
3.4 Outils ETL personnalisés16
4. Étude de marché ETL17
4.1 Integrate.io17
4.2 IBM DataStage17
4.3 Oracle Data Integrator17
4.4 Fivetran18
4.5 SAS Data Management19
4.6 Talend Open Studio19
4.7 Dataddo20
4.8 AWS Glue20
4.9 Azure Data Factory21
4.10 Google Cloud Dataflow21
4.11 Stitch22
4.12 Informatica PowerCenter22
4.13 Skyvia22
4.14 Hadoop23
4.15 Singer23
5. Présentation de Talend23
6. Les avantages de Talend24
7. Les produits Talend25
7.1 Data Integration25
7.2 Application Integration25
7.3 Data Preparation26
7.4 Big Data Integration26
7.5 Master Data Management26
7.6 Cloud Integration26
8. Pourquoi un ETL ?27
9. Pour quels besoins utilise-t-on Talend for Data Integration ?27
10. Téléchargement et installation de Talend Open Studio 829
10.1 Installer Java29
10.2 Configuration de la variable d'environnement Java30
10.3 Démarrer Talend Open Studio31
11. Définitions32
12. Qu'est-ce qu'un Data Warehouse ?33
13. Qu'est-ce qu'un datamart ?34
14. Qu'est-ce qu'un ERP ?35
15. Qu'est-ce que GIT ?36
16. Qu'est-ce que SSH ?36
17. Comment générer une clé SSH pour GIT ?37
18. Qu'est-ce que FileZilla ?38
19. Métiers nécessitant la maîtrise de Talend39
Chapitre 2
Talend par la pratique
1. Introduction41
2. Premiers pas avec Talend Open Studio 841
3. Job 0 : création d'un job54
4. Job 1 : générer un fichier XML à partir d'un fichier CSV55
5. Création d'un schéma de données57
6. Job 2 : utilisation des liens déclencheurs63
7. Création et utilisation des groupes et variables de contexte66
7.1 Pourquoi ?66
7.2 Méthode66
8. Job 3 : utilisation du composant tConvertType70
9. Job 4 : échantillonnage de données72
10. Job 5 : agréger et trier des données74
11. Job 6 : filtrer les colonnes d'un fichier CSV77
12. Job 7 : filtrer les données des lignes d'un fichier78
13. Job 8 : les variables globales81
14. Job 9 : les variables globales avec tSetGlobalVar83
15. Job 10 : manipulation de dossiers et copie de fichiers85
16. Contexte implicite93
17. Job 11 : génération de lignes avec tRowGenerator96
18. Job 12 : le contexte implicite avec tContextLoad100
19. Job 13 : générer des avertissements et capturer les erreurs104
20. Job 14 : orchestration des jobs109
21. Job 15 : chronométrer le temps d'exécution d'un job111
22. Job 16 : tLibraryLoad pour vérifier la validité d'adresses e-mail114
23. Job 17 : calculer la distance de Levenshtein entre des mots117
24. Job 18 : utilisation du composant tJavaFlex121
25. Job 19 : utilisation du composant tIntervalMatch123
26. Job 20 : utilisation du composant tFileInputPositional126
27. Job 21 : apprendre à utiliser une regex avec tFileRegex134
28. Job 22 : générer facilement un fichier XML138
Chapitre 3
tMap et les fonctions Java dans Talend
1. Introduction143
2. Quelques notions sur Java dans Talend144
3. Comment utiliser les routines système de Talend ?144
3.1 Routines numériques145
3.2 Routines relationnelles146
3.3 Routines sur les chaînes de caractères147
3.4 Routines pour la génération de données153
3.5 Routines pour les dates154
3.6 Routines pour les caractères161
4. Les conversions dans Talend163
5. Talend et les tests ternaires164
6. Job 23 : mon premier job avec les jointures164
6.1 Étape 1164
6.2 Étape 2165
6.3 Étape 3 (éditer le tMap)166
7. Job 24 : trier les données avec tMap170
8. Job 25 : les fonctions Java dans tMap172
9. Job 26 : jointure Left Outer Join (jointure à gauche) et Right Outer Join (jointure à droite)176
10. Job 27 : jointure Inner Join (premier job)182
11. Job 28 : jointure Inner Join (deuxième job)184
12. Job 29 : jointure Inner Join avec tJoin186
13. Job 30 : jointure Full Outer Join188
14. Job 31 : job avec routines190
15. Les messages d'erreurs fréquents dans Talend192
16. Exemples de code Java à utiliser quotidiennement193
16.1 Compter le nombre de lignes d'un fichier CSV193
16.2 Remplacer les codes ISO 3166-1 alpha-3 des pays par des codes ISO 3166-1 alpha-2 en Java195
16.3 Changer le format de date sur une colonne de type date198
16.4 Remplacer tous les libellés Madame par Mme dans la colonne d'un fichier198
16.5 Supprimer les sauts de ligne dans un fichier avec tReplace199
16.6 Routine Java pour supprimer les sauts de ligne dans un fichier200
Chapitre 4
Talend et les bases de données SQL
1. Introduction203
2. Généralités sur le langage SQL204
2.1 Algèbre relationnelle syntaxe204
2.2 Projection syntaxe204
2.3 Commentaire205
2.4 Commentaire multiligne (/* et */)205
2.5 Filtrer avec les opérateurs206
2.5.1 L'opérateur AND206
2.5.2 L'opérateur OR206
2.5.3 Combiner AND et OR207
2.5.4 L'opérateur IN207
2.5.5 L'opérateur LIRE207
2.5.6 L'opérateur IS208
2.5.7 L'opérateur BETWEEN208
2.5.8 Instruction CASE209
2.5.9 Les jointures209
2.6 Les fonctions d'agrégation212
2.7 ORDER BY213
2.8 La différence entre UNION et UNION ALL213
2.9 L'opérateur ANY214
2.10 L'opérateur ALL214
3. Les modèles SQL dans Talend215
3.1 DeltaLake216
3.2 Generic217
3.3 Hive217
3.4 MySQL218
3.5 Netezza219
3.6 Oracle219
3.7 ParAccel220
3.8 Snowflake220
3.9 Teradata221
3.10 Vertica221
4. Job 32 : connecter Talend à une base de données222
5. Job 33 : importer des tables dans Talend223
6. Job 34 : lier un fichier Excel et une BDD224
7. Job 35 : BDD_EXTRACTION225
8. Job 36 : CONNECT_AND_CHARGE228
9. Job 37 : JOIN_MULTI_BASE233
10. Chargement Bulk (Massif)238
10.1 Chargement Bulk indirect238
10.2 Chargement Bulk direct239
Chapitre 5
Examen pratique et correction
1. Introduction241
2. Spécifications241
3. Sources242
3.1 Données de référence Client243
3.2 Données de référence Offre243
3.3 Données de référence Direction243
3.4 Données de référence Distance244
3.5 Données de référence Produit244
3.6 Données de fait Appels244
4. Chargements245
4.1 Description des actions à effectuer245
4.2 Structure de l'espace de travail245
4.3 Liste des chargements de l'espace de travail (Staging Area)246
5. Structure du Data Warehouse248
6. Correction de l'examen252
6.1 Chargement SRC vers STG252
6.1.1 JOB_JDIRECTION_SRC_STG252
6.1.2 JOB_DISTANCE_SRC_STG253
6.1.3 JOB_PRODUIT_SRC_STG254
6.2 Mapping FILE VERS STG255
6.2.1 JOB_OFFRE_FILE_STG255
6.2.2 JOB_CLIENT_FILE_STG256
6.2.3 JOB_FAITAPPELS_FILE_STG259
6.3 Mapping STG VERS DWH263
6.3.1 JOB_DIRECTION_STG_DWH263
6.3.2 JOB PRODUIT _STG_DWH264
6.3.3 JOB_DISTANCE_STG_DWH265
Chapitre 6
Entretien et certification Talend
1. Introduction267
2. Talend Data Integration Certified Developer Exam268
3. Détails de l'examen de certification268
4. Expérience recommandée269
5. Préparation269
6. Les questions269
Chapitre 7
Travail collaboratif
1. Introduction301
2. Connexion SSH sous Windows302
3. Se connecter au serveur via SSH302
4. Commandes Linux à connaître305
4.1 Commandes SSH305
4.2 Commandes pour les fichiers306
4.3 Autorisations sur les fichiers309
4.4 Recherches311
4.5 Raccourcis312
4.6 Réseau312
4.7 Commandes système313
4.8 Gestion des processus316
4.9 Compression317
5. Commandes Git à connaître319
6. PowerShell322
6.1 Les opérateurs dans PowerShell322
6.1.1 Les opérateurs de comparaison322
6.1.2 Les opérateurs de remplacement323
6.1.3 Les opérateurs logiques323
6.2 Les variables dans PowerShell325
6.3 Verbes et alias326
6.4 Utilisation de structures de contrôle de flux en PowerShell328
Chapitre 8
Bonnes pratiques
1. Introduction331
2. Structure générale des jobs331
3. Optimisation des traitements sous Talend332
4. Bonnes pratiques générales333
5. Contrôle qualité334
6. Normes de développement334
6.1 Règles générales334
6.2 Règles liées au SQL335
6.3 Règles liées aux fichiers délimités335
6.4 Règles pour l'ordonnancement des répertoires Folder336
6.5 Règles pour le nommage des répertoires et des jobs337
6.6 Règles concernant les liens339
6.6.1 Règles pour le nommage des composants339
6.6.2 Règles pour le nommage des contextes340
6.6.3 Règles pour la gestion des rejets341
Chapitre 9
Introduction à PL/SQL
1. Introduction343
2. Définitions345
3. Exemples pratiques d'utilisation346
3.1 Déclaration de variables et de constantes346
3.1.1 Exemples de déclarations347
3.1.2 Autres exemples de déclarations349
3.1.3 Déclaration de tableau350
3.2 Fonction EXCEPTION351
3.3 La fonction COUNT351
3.4 Fonction DATE352
3.5 La fonction BULK COLLECT353
3.6 La variable SQL%FOUND355
3.7 La variable SQL%NOTFOUND357
3.8 La fonction SQL%ROWCOUNT358
3.9 La fonction WHILE359
3.10 Les variables dérivées360
3.11 Les méthodes de tableau associatif361
3.11.1 La différence entre un tableau et un tableau associatif361
3.11.2 Exemples d'utilisation362
3.12 La fonction UPDATE363
3.13 La fonction OPEN365
3.13.1 Exemple sans OPEN ... FOR366
3.13.2 Exemple avec OPEN ... FOR366
3.14 Déclaration CURSOR_DECLARE367
3.15 IF-THEN-ELSE368
3.16 Utilisation de CURSOR et %FOUND368
3.17 Utilisation de CURSOR et % NOTFOUND369
3.18 Exception CURSOR371
3.19 Cursor Update372
3.20 CURSOR avec %FETCH373
3.21 CURSOR avec %ISOPEN376
3.22 CURSOR avec %ROWCOUNT377
3.23 Cursor FOR Loop378
4. Travaux pratiques379
Chapitre 10
Composants Talend et leurs utilisations
1. Introduction403
2. Les composants Talend403
2.1 Big Data404
2.2 Business406
2.3 Business Intelligence409
2.4 Custom_Code428
2.5 Data Quality460
2.6 DotNET460
2.7 ELT461
2.8 ESB (Enterprise Service Bus)468
2.9 Fichiers468
2.10 Internet473
2.11 Logs_Errors477
2.12 Messagerie478
2.13 Divers479
2.14 Orchestration480
2.15 Traitement (processing)481
2.16 Système484
2.17 Technique484
2.18 Non structurées485
2.19 XML485
Index
487