Création de Pipeline avec CDAP

Créer un pipeline avec CDAP

Le Data Engineer définit, développe, met en place et maintient les outils et infrastructures adéquats à l’analyse de la donnée par les équipes de Data Science. Il veille à créer une solution permettant le traitement de volumes importants de données tout en garantissant la sécurité de celles-ci. Il représente le premier maillon de la chaîne de traitement de données( voir nos articles sur d’autres maillon ici ).  En gros son travail consiste à faire en sorte que les données soient accessible à tous. Pour ce faire il doit maîtriser les langages de programmation comme Java, Python ou Scala, l’écosystème Hadoop et les bases de données. C’est avec ses compétences qu’il arrivera à mettre en place des pipelines complexes pour l’extraction, la transformation et le stockage des données. En outre le data engineer devra aussi se concentrer sur l’infrastructure et l’intégration pour avoir un pipeline fonctionnel. Heureusement pour lui qu’il y a une solution qui lui permet de se concentrer uniquement sur la création de pipeline plutôt que de se casser la tête avec l’intégration et l’infrastructure.

Quelle est donc cette solution qui va simplifier la création de pipelines pour nous data engineer ?

Il s’agit de CDAP (Cask Data Application Platform).

Résultat de recherche d'images pour "cdap.io"

C’est quoi CDAP ?

CDAP est une plate-forme de développement d’applications open source intégrée à l’écosystème Hadoop qui fournit aux développeurs des abstractions de données et d’applications pour simplifier et accélérer le développement d’applications, traiter un plus grand nombre de cas d’utilisation en temps réel et en mode batch, et déployer des applications en production tout en satisfaisant les besoins de l’entreprise.

En effet c’est une couche logicielle qui s’exécute sur des plates-formes Hadoop telles que Cloudera Data Hub et Hortonworks Data Platform. Elle accélère le temps de traitement des données volumineuses grâce à des API standardisées, des modèles et des interfaces visuelles. Elle permet aussi à des gens qui ne sont pas des développeurs(agents marketing, commercial, BI,…) de manipuler facilement les données, de les traiter,… sans avoir à écrire une ligne de code.

Elle fournit des fonctionnalités essentielles pour toute application Big Data:

-L’abstraction des données dans l’environnement Hadoop par le biais de représentations logiques des données;

-Portabilité des applications par le découplage des infrastructures sous-jacentes ;

-Des services et des outils qui permettent une création plus rapide d’applications;

-L’intégration des composantes de l’écosystème Hadoop dans une plate-forme unique ;

 

Les Composants d’une application CDAP :

En général,une application Big Data est scindé en plusieurs étapes :

-Collecte des données : ETL

-Exploration des données : Exécuter des requêtes pour connaître leur structure

-Traitement des données : Mapreduce, Spark

-Stockage des données : datasets

Une application CDAP n’est rien d’autre qu’une combinaisons de ces composants :

-Des plugins pour la collecte de données ;

-Traitement des données : MapReduce, Spark pour le traitement des données en temps réel ou en batch ;

-jeux de données.

 

DEMO

Pour illustrer la simplicité et l’efficacité de CDAP, nous allons créer un pipeline simple qui va récupérer des données sur S3, les traiter puis les stocker sur S3.

Installation : cdap

Pour mettre en place ce pipeline, nous allons utiliser les plugins S3 source, Wrangler, DateTransform et S3 sink.

S3 Source,S3 Sink : Ces plugins permettent de se connecter à S3 pour récupérer ou stocker des données.

Wrangler : Il fait partie des plugins les plus utilisés sur CDAP car il permet de faire du processing de données de plusieurs formats(text, json, csv, avro, …).

DateTransform : Il est utilisé pour parser un champ(String, timestamp) en un type Date.

Configuration :

Cliquer sur properties sur chaque plugin et faire les configurations suivantes :

S3 Source :

Wrangler:

On peut faire tout le processing de manière graphique mais pour ne pas surcharger l’article je vais vous fournir le code à coller sur le terminal de Wrangler.

Cliquer sur properties puis sur Wrangler et coller le code sur le terminal.

Cliquer sur apply pour finir

 

DateTransform

S3 Sink

Ensuite on clique sur preview puis run : Si tout se passe bien, on peut passer au déploiement en cliquant sur preview puis deploy.

NB : Si vous n’avez pas de compte amazon, vous pouvez choisir CDAP TABLE ou FILE comme sink.

 

NB : Les données sont dans le bucket public suivant : s3://cdaptest2019/cdr_data/

Références :

https://docs.cask.co/cdap/develop/en/developer-manual/pipelines/how-cdap-pipelines-work.html

https://cdap.io/get-started/#

https://www.welcometothejungle.com/fr/articles/metier-data-engineer

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *