Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Talend Open Studio
  3. Examen pratique et correction
Extrait - Talend Open Studio Le guide complet pour l'intégration de données
Extraits du livre
Talend Open Studio Le guide complet pour l'intégration de données
1 avis
Revenir à la page d'achat du livre

Examen pratique et correction

Introduction

Dans ce chapitre, il s’agit d’exécuter un projet commercial qui comprend la plupart des actions effectuées en environnement professionnel. Avant de commencer cet atelier, assurez-vous de comprendre tous les concepts de base afin de comprendre l’objectif de ce projet.

Les données seront extraites de la base de données source (SRC) et filtrées à l’aide du tMap pour remplir la base de données intermédiaire (STG). Deux bases de données de sortie, à savoir les refus et les alertes, seront créées au format de fichier délimité. Ensuite, ces données agrégées seront chargées dans la base de données DWH.

Spécifications

Il s’agit de construire un petit entrepôt de données (Data Warehouse, DWH) pour un opérateur de téléphonie mobile (cette fonctionnalité a bien sûr été choisie comme exemple).

Le chargement se fera en trois phases : d’abord, l’espace de staging est chargé, l’espace est validé, puis l’entrepôt de données est chargé à partir de l’espace de staging.

Cette architecture permet de qualifier les données avant qu’elles ne soient finalement chargées et d’obtenir des données stables lorsque des événements se produisent.

La spécification doit être lue dans son intégralité avant de commencer tout développement. 

images/05EP01.PNG

Architecture du développement des jobs

Sources

Ce chapitre décrit les structures des sources qui vont être manipulées durant la formation.

Les sources de données sont hétérogènes (base Oracle et fichiers plats).

1. Données de référence Client

  • Source : fichier plat

  • Le séparateur de champ est le point-virgule. La première ligne du fichier est le nom des champs.

images/05EP02.png

Données de référence Client

2. Données de référence Offre

  • Source : fichier plat

  • Le séparateur de champ est le point-virgule. La première ligne du fichier est le nom des champs.

images/05EP03.png

Données de référence Offre

3. Données de référence Direction

  • Source : table Oracle - SRC_REFDIRECTION

images/05EP04.png

Données de référence Direction

4. Données de référence Distance

  • Source : table Oracle - SRC_REFDISTANCE

images/05EP05.png

Données de référence Distance

5. Données de référence Produit

images/05EP06.png

Données de référence Produit

6. Données de fait Appels

  • Source : fichier plat

images/05EP07.png

Données de fait Appels

Chargements

Cette section décrit les actions et contrôles à effectuer pour le chargement des données.

1. Description des actions à effectuer

Ce tableau récapitule les différents types d’actions rencontrés dans les associations entre les données sources et les données cibles.

images/05EP08.png

2. Structure de l’espace de travail

Les données ont été chargées dans un espace de travail avec des tables temporaires dont la structure est la même que celle des sources. Ceci a été fait dans le but d’appliquer des règles de formatage et d’effectuer des contrôles de cohérence sur les données.

images/05EP09.png

Structure de l’espace de travail

3. Liste des chargements de l’espace de travail (Staging Area)

Ce planning fournit l’ordre des étapes d’extraction des tables, mais il est à noter que les tables peuvent être chargées indépendamment les unes des autres (à l’exception des deux dernières qui dépendent des données d’autres tables). La façon d’exécuter des flux indépendants en parallèle sera expliquée ultérieurement.

images/05EP10.png

Liste des chargements de l’espace de travail (Staging Area)

Chargement #1 - Direction

images/05EP11.png

Chargement Direction

Chargement #2 - Distance

images/05EP12.png

Chargement Distance

Chargement #3 - Produit

images/05EP13.png

Chargement Produit...

Structure du Data Warehouse

Le Data Warehouse est la base finale qui sera accessible aux utilisateurs. Elle contiendra les données atomiques enrichies ainsi que deux tables agrégées.

images/05EP18.png

Structure du Data Warehouse

Liste des chargements du Data Warehouse

Cette section décrit les traitements et les règles de gestion à effectuer sur les colonnes de chaque table.

  • Chargement de DWH_REF_DIRECTION

images/05EP19.png

Chargement de DWH_REF_DIRECTION

  • Chargement de DWH_REF_PRODUIT

images/05EP20.png

Chargement de DWH_REF_PRODUIT

  • Chargement de DWH_REF_DISTANCE

images/05EP21.png

Chargement de DWH_REF_DISTANCE

  • Chargement de DWH_REF_OFFRE

images/05EP22.png

Chargement de DWH_REF_OFFRE

  • Chargement de DWH_REF_CLIENT

images/05EP23.png

Chargement de DWH_REF_CLIENT

  • Chargement de DWH_FAIT_APPEL

images/05EP24.png

Premier chargement de DWH_FAIT_APPEL

images/05EP25.png

Deuxième chargement de DWH_FAIT_APPEL

  • Chargement de DWH_AGG_APPEL_PRD

images/05EP26.png

Agrégation de la table DWH_FAIT_APPEL

  • Chargement de DWH_AGG_APPEL_DISTANCE

images/05EP27.png

Agrégation de la table DWH_FAIT_APPEL

Correction de l’examen

1. Chargement SRC vers STG

a. JOB_DIRECTION_SRC_STG

images/05EP28.png

Chargement de la table STG_REF_DIRECTION depuis la base de données source SRC_REFDIRECTION

images/05EP29.png

Filtre sur IDD_DIRECTION avec la condition que ID_DIRECTION soit supérieur à zéro

images/05EP30.png

Chargement Direction

b. JOB_DISTANCE_SRC_STG

images/05EP31.png

Chargement de la table STG_REF_DISTANCE depuis la base de données source SRC_REFDISTANCE

images/05EP32.png

Filtre sur LIB_DISTANCE

  • Filtre 1 : si le champ est NULL, mettre à Non renseigné avec la fonction nvl.

  • Filtre 2 : sélectionner seulement les lignes où ID_Distance est supérieur ou égal à zéro OU inférieur à zéro (doit être un entier positif ou négatif).

images/05EP33.png

Chargement Distance

c. JOB_PRODUIT_SRC_STG

images/05EP34.png

Capture du job

images/05EP35.png

Filtre sur les colonnes de Produit

  • Filtre1 : si la ligne de la colonne LIB_PRODUIT est NULL, remplacer par Inconnu sinon sélectionner sa valeur.

  • Filtre2 : mettre les lignes de la colonne LIB_PRODUIT en majuscules.

  • Filtre 3 : sélectionner seulement les lignes où ID_Produit est positif.

images/05EP36.png

Chargement Produit

2. Mapping FILE VERS STG

a. JOB_OFFRE_FILE_STG

images/05EP37.png

JOB_OFFRE_FILE_STG

images/05EP38.png

Chargement Offre

images/05EP39.png

Paramétrage et filtres du tMap JOB_OFFRE_FILE_STG

b. JOB_CLIENT_FILE_STG

images/05EP40.png

Chargement Client

images/05EP41.png

JOB_CLIENT_FILE_STG

images/05EP42.png

tMap du JOB

images/05EP43.png

Expression sur PRENOM_CLIENT

images/05EP44.png

Expression sur DATE_ABONNEMENT

images/05EP45.png

Test console CMD pour connaître le type de la date système

images/05EP46.png

Paramètres des sorties rejets et alerte

c. JOB_FAITAPPELS_FILE_STG

images/05EP47.png

Chargement Appel

images/05EP48.png

Chargement Appel (suite)

  • Filtre1 :

  • Id_Client doit exister dans la BDD STG_REF_CLIENT.

  • Un Inner Join est mis en place entre le fichier en entrée et la base de données, et la clé étrangère est ajoutée dans STG_REF_CLIENT par glisser-déposer.

  • Filtre2 :

  • La Date.appel doit être renseignée.

  • La case Nullable n’est pas cochée et la condition ci-dessous est ajoutée dans l’expression de la sortie tLog ou base de données.

FAITAPPELS_FILE_.Date_appel !=null 
  • Une expression...