Pour savoir où on va, il faut savoir d'où l'on vient

Vous avez
une question ?
Un projet ?

Contactez nous !
 

Contactez-nous

Vous avez une question ? un projet ? 
Vous souhaitez plus d'informations sur un produit ? sur notre offre ? 
Contactez-nous, on vous répond sous 4H.

retour

Composants d'intégration et de traitement de données

Composants d'intégration et de traitement de données

Synthèse
Screenshot from 2015-04-08 10:55:24

Hadoop
Screenshot from 2015-04-08 10:56:46

Présentation
Hadoop est un ensemble de projets et d’outils Open source de la fondation Apache permettant de stocker et traiter massivement des données. Hadoop a été développé à l’origine par Facebook et Yahoo.

Il existe plusieurs distributions d’Hadoop, parmi lesquelles on distinguera les principales à l’heure actuelle : HortonWorks, Cloudera et MapR.
Framework de traitements parallélisés Map-Reduce
Hadoop Map-Reduce est un puissant framework Java de traitement de données massives.
A noter que dans le cas de l’utilisation conjointe avec HDFS et HBase et suivant la configuration du cluster Hadoop, il est possible qu’une partie des traitements soient effectués au niveau des noeuds de stockage, afin de limiter les échanges de données massives entre noeuds du cluster.
HDFS : Hadoop Distributed File System
HDFS est un système de fichiers distribué sur des noeuds d’un cluster Hadoop.
HDFS est adapté au stockage et la réplication de fichiers de grande taille (>256MB).

Hbase
HBase est une base de données NoSQL répartie en colonnes, inspirée de Google BigTable.
La mise en oeuvre de HBase repose généralement sur un système de fichiers répartis HDFS.

Hive
Hadoop Hive permet d’exploiter des traitements MapReduce de manière analogue à une base de données. En effet, des connecteurs JDBC et ODBC pour Hive sont disponibles.

Oozie
Oozie est un moteur de workflow et de coordination de tâches Hadoop (Mapr-Reduce, Pig).

Mahout
Mahout est une librairie Java qui permet d’implémenter différents algorithmes de data mining sur un cluster Hadoop.
Ces algorithmes sont développés à partir de MapReduce. Cependant, ils ne se limitent pas uniquement à Hadoop et certains fonctionnent sur d’autres environnements, dont non
distribués.

Hue
Hue est un portail web d’exploitation de clusters Hadoop :

  • requêtes Hive (Beeswax) :
Screenshot from 2015-04-08 11:11:51
  • éditer, gérer et exécuter des traitements (jobs MapReduce et scripts Pig)

Usages et possibilités Big Data
L’ensemble Hadoop fournit plusieurs briques puissantes pour le décisionnel Big Data :

  •  l’entreposage de données opérationnelles (ODS HDFS ou Hbase) ou en entrepôt de données (Hbase et Hive).
  •  l’intégration et le traitement parallélisé de données (YARN/Map-Reduce, Pig)
  •  le requêtage et l’analyse de masses de données (Hive+YARN/Map-Reduce, Pig)
  •  le datamining (Mahout)

Notons que les principaux portails décisionnels Open Source intègrent directement un connecteur Hive pour une exploitation des données traitées dans un cluster Hadoop.

ETL Talend for Big Data

Screenshot from 2015-04-08 11:17:55

Présentation

Éditeur et solutions

Talend est un éditeur basé en France (Talend SA) et en Californie (Talend Inc.). La société Talend, fondée en 2005, est soutenue dans son développement par des investisseurs tels Idinvest Partners (AGF Private Equity), Silver Lake Sumeru, Balderton Capital, Bpifrance et Iris Capital. Talend a réussi une levée de fonds de 40 millions de dollars fin 2013.

Talend offre un large éventail de solutions middleware répondant aux besoins de gestion de données et d’intégration d’applications, au travers une plateforme unifiée et flexible :

  • l’intégration de données (ETL)
  • la qualité de données (DQ)
  • les architectures orientées services (ESB)
  • la gestion de référentiels de données (MDM)
  • la gestion de processus d’information (BPM).

Talend obtient une reconnaissance forte de la part des observateurs tel le Gartner (magic quadrants).
Les solutions sont disponibles en version communautaire (Talend Open Studio for Data Integration / Big Data) et en version commerciale avec des fonctionnalités supplémentaires et un support éditeur.
Les fonctionnalités ETL classiques de Talend sont présentées plus en détail dans le livre blanc BI (http://www.smile.fr/Livres-blancs/Erp-et-decisionnel/Le-decisionnel-open-source).

Talend et le Big Data

Talend propose depuis début 2012 une gamme de solutions Big Data, allant de la version Open Studio à la plateforme d’intégration massive de données (Talend Platform for Big Data).
Talend a établi des partenariats avec des acteurs majeurs du Big Data, notamment : Cloudera, EMC Greenplum, Google, HortonWorks, MapR.
Plus d’informations :

  • http://fr.talend.com/solutions/etl-analytics
  • http://www.talend.com/solutions/big-data
  • http://fr.talend.com/products/platform-for-big-data

Fonctionnalités

ETL Talend Open Studio for Big Data

Talend est un ETL de type « générateur de code », c’est-à-dire qu’il offre la capacité de créer graphiquement des processus (répartis) de manipulation et de transformation de données puis de générer l’exécutable correspondant sous forme de programme Java (et scripts Pig).

Ce programme peut ensuite être déployé sur un ou plusieurs serveur(s) d’exécution.

La modélisation des traitements se fait dans le Studio Talend, qui permet d'utiliser des connexions prédéfinies et les tâches de transformations pour collecter, transformer et charger les données par simple glisser-déposer dans l'espace de modélisation.

Screenshot from 2015-04-08 11:28:35
Palette de connecteurs Big Data

L'ETL Talend fournit nativement une large palette de connecteurs permettant de s’interfacer à la plupart des systèmes existants (bases de
données, fichiers locaux ou distants, web services, annuaires,...).

Si l’ETL classique Talend peut se connecter aux principales bases NoSQL via des connecteurs communautaires ou APIs, la version Talend Open
Studio for Big Data fournit nativement toute la flexibilité et les connecteurs d’intégration de masses de données, dont :

  •  les bases NoSQL : MongoDB, Apache Hadoop/Hive, Cassandra, Google BigQuery, Neo4j
  •  HDFS, HCatalog
  •  le chargement massif de bases NoSQL MongoDB et Cassandra ainsi qu’Apache Sqoop
Composants de transformation

Les composants de transformation permettent entre autres :

  •  les multiplexages et jointures
  •  les filtrages (lignes, colonnes), le dédoublonage
  •  l’exécution d’opérations sur des évènements en base ou sur des fichiers
  •  les manipulations de fichiers locaux ou distants...

La liste des composants Talend est disponible à l'adresse suivante :
http://www.talendforge.org/components/index.php
La palette peut même être étendue grâce aux composants disponibles sur Talend Exchange ou du code Java spécifique.

Gestion des différents environnements d’exécution des traitements

L’ETL Talend gère des contextes d’exécution permettant d’externaliser l’ensemble des paramètres d'accès et variables d’exécution utilisés dans les composants / jobs.
Les utilisateurs peuvent ainsi configurer les paramètres à la volée lors de l’exécution ou utiliser des paramètres différents pour chaque contexte d’exécution : le développement, la recette et la production.

Intégration Hadoop

Génération de traitements répartis Pig :
Talend for BigData propose de générer des traitements (répartis) Hadoop Pig avec des composants graphiques prédéfinis.
Il est également possible d’utiliser le mode ELT (Extract, Load and Transform) avec Hive pour répartir des traitements sur un cluster Hadoop.
De plus, le framework de traitement Hadoop YARN est intégré.

Coordination et intégration aux plateformes Hadoop :Talend utilise Oozie pour la coordination des jobs sur un cluster Hadoop.L’intégration est facilitée avec les outils des distributions HortonWorks, Cloudera et MapR :
Screenshot from 2015-04-08 11:36:00
Talend Enterprise for Big Data

De manière analogue à Talend Enterprise for Data Integration pour l’ETL, cette version commerciale apporte notamment :

La gestion et le partage de métadonnées
  •  connexion aux bases des données (relationnelles ou NoSQL)
  •  connexion aux clusters Hadoop
  •  métadonnées de tables, fichiers,....
  •  analyse d’impacts.
La console Talend Administration Center
  •  gestion des référentiels des projets d’intégration, utilisateurs et droits associés
  •  ordonnancement des traitements (Job Conductor)
  •  console de monitoring AMC (Activity Monitoring Console) web
  •  gestion des reprises de traitements sur erreur d’exécution
  •  gestion des environnements d’exécution des traitements.
Screenshot from 2015-04-08 11:38:53
Autres fonctionnalités de productivités et d’exploitabilité

Cette version apporte également :

  •  le versionning des traitements
  •  la capacité de définir des points de reprise des traitements en cas d’erreur d’exécution
  •  un moteur de règles (Drools)
  •  joblets : morceaux de jobs réutilisables pour la factorisation des développements
  •  design de jobs à partir de templates
  •  visualisateur de données en sortie des composants
  •  change data capture
Jobs MapReduce

Cette version offre la possibilité de développer visuellement des traitements MapReduce, dont l’exécution peut se faire sur un cluster Hadoop.
L’exécution de jobs MapReduce depuis le studio offre un suivi d’avancement visuel de chaque étape map et reduce.

Talend Platform for Big Data

Cette version apporte notamment des fonctionnalités complémentaires et intégrées de qualité de données et de gestion de mapping complexes (XML, EDI) :

Profilage des données

Les analyses modélisées depuis le studio unifié, se font sur des sources, dont la définition peut être partagée avec les métadonnées définies au niveau de l’intégration.
L’outil produit des métriques sur le taux d’unicité, de remplissage, la conformité à un format, la diversité des formats ...

Des rapports, tableaux de bords et données requêtables peuvent être produits et publiés sur un portail décisionnel intégré (basé sur SpagoBI, présenté plus loin dans le document) à partir des analyses de données afin de piloter le processus d’amélioration de la qualité des données :

Screenshot from 2015-04-08 11:43:21

Composants de correction et enrichissement des données

Le studio de modélisation est enrichi de composants de traitement et correction supplémentaires de qualité des données :

  •  correction/enrichissement d'adresses postales via des services tiers QAS, Google
  •  rapprochements complexes en utilisant des technologies de logique floue
  •  création de tâches de correction manuelle des données.
Workflow web de correction des données

La solution intègre la console web Data Stewardship avec la définition de workflows de correction et validation de données :
Screenshot from 2015-04-08 11:45:34
ETL Pentaho Data Integration

Screenshot from 2015-04-08 11:47:15

Présentation

Editeur et solutions

Pentaho est un éditeur basé en Floride et en Californie, avec des bureaux en France.
L’éditeur est un acteur impliqué de l’Open Source, qui a rallié dès le début des produits Open Source comme Kettle ou Mondrian et qui anime sa communauté.
Au delà de la solution d’intégration de données, Pentaho fournit aussi une solution complète d’analyse et d’exploitation décisionnelle des données : Pentaho Business Analytics, présentés plus loin dans le document.

Pentaho et le Big Data

Pentaho a établi des partenariats avec des acteurs majeurs du Big Data, notamment :
MongoDB, HortonWorks, Cloudera, MapR et DataStax.
L’éditeur publie également un portail web dédié aux problématiques Big Data :
http://www.pentahobigdata.com
Fonctionnalités

Pentaho Data Integration (PDI) est un ETL qui permet de concevoir et exécuter des opérations de manipulation et de transformation de données.
Grâce à un modèle graphique à base d’étapes, il est possible de créer dans le studio de modélisation (Spoon), sans programmation, des processus composés d’imports et d’exports de données, et de différentes opérations de transformation (conversions, jointures, application de filtres, ou même exécution de fonctions Javascript si besoin).

Les fonctionnalités ETL classiques de Pentaho Data Integration sont présentées plus en détail dans le livre blanc BI.

PDI Community Edition

L’ETL Pentaho Data Integration propose des connecteurs aux principales Bases NoSQL/Big Data telles Hadoop (HDFS, HBase, Hive et MapReduce), Cassandra, CouchDb, MongoDB,

ElasticSearch ainsi qu’aux bases de données Amazon S3 et aux réseaux sociaux Twitter et Facebook.

Pour les traitements en masse, la connectivité avec Hadoop Map-Reduce et le moteur MongoDB Map-reduce sont intéressants, tout comme les capacités de répartition de charge des traitements ETL dans une configuration cluster de PDI.

En sus des composants et techniques dédiées aux technologies Big Data, il y a d'autres options de PDI qui permettent une meilleure gestion de grosses volumétries de données :

  •  lecture en parallèle de fichiers plats de grande taille tels que des fichiers de logs
  •  exécution concurrente de plusieurs copies d'une même étape d'une transformation avec distribution aléatoire en entrée des données en conséquence
  •  partitionnement, même option que la précédente avec une distribution plus intelligente des données à l'aide d'algorithmes proposés ou possibilité de développer des algorithmes de répartition spécifiques
  •  pour un environnement distribué, possibilité depuis la version 5.0 de faire du load balancing pour la distribution des données entre deux étapes d'une transformation.
PDI Enterprise Edition

La version Enterprise apporte plusieurs outils pour plus de productivité dans la manipulation de données massives.
Les possibilités de visualisation et d’analyse intégrées Instaview sont utiles aux Data Scientists 1 pour développer rapidement des applications analytiques Big Data, en limitant les allers-retours entre outils :

Screenshot from 2015-04-08 11:53:11

En effet, dans le cadre de la méthodologie AgileBI, cette perspective intégrée au studio de modélisation des traitements ETL permet d’analyser avec l’outil Analyzer Pentaho des données, Big Data ou non, issues des transformations et mises en cache dans une base MongoDB.

Fédération de données

La version Enterprise propose également des possibilités de fédération de données au travers d’un connecteur JDBC. Ce dernier permet de projeter une transformation PDI comme source de données JDBC : cela ouvre des perspectives intéressantes de connectivité et de restitutions en quasi temps réel sur des processus métiers distribués au niveau applicatif.
Cela permet également de faire une interface entre des technologies Big Data, NoSQL et certains outils de restitutions plutôt orientés SQL (workbench/Mondrian). Et ainsi, permet d'éviter dans certains cas une structure de stockage hybride (NoSQL / SQL).

Pentaho MapReduce

Pentaho MapReduce permet le développement de traitements MapReduce (mettant en oeuvre 1 transformation pour l’étape map et 1 transformation pour l’étape reduce) depuis le studio de modélisation des traitements ETL.
Ils sont ensuite exécutables sur un cluster Hadoop.

Pentaho Predictive Analytics

En plus des méthodes d'analyse classiques (analyse d'événements passés et/ou présents), un des enjeux du Big Data notamment dans le domaine scientifique est de faire parler ces gros volumes de données pour de la prévision.
Weka est un projet data mining open source dont Pentaho est un acteur majeur, dans ce contexte de nombreux plugins sont disponibles par défaut ou non pour l'utilisation de certaines briques de Weka (Scoring, Knowledge Flow, ...) via Pentaho Data Integration.
Pour plus de précision sur les possibilités en termes de Data Mining via Pentaho, rendez-vous sur :
http://wiki.pentaho.com/display/DATAMINING/Pentaho+Data+Mining+Community+Documentation .