Vous êtes sur la page 1sur 30

Faculté des sciences et technique de Tanger

département Génie Informatique

Présenté par : BENALI MOUNIR Encadré par : Pr . BOUDHIR


ANOUAR
MBD 2019/2020
Plan:
Partie 1 :

- C’est quoi apache Pig ?


- Architecture de Pig .
- Caractéristiques de Apache Pig.
- Apache Pig vs Mapreduce.
- Les applications de Apache Pig
FR
C ’est Quoi Apache Pig ?

• Apache Pig3est un plateforme haut niveau pour la création de


programme MapReduc utilisé dans Hadoop.
• MapReduc permet de manipuler de grandes quantités de données en
les distribuant dans un cluster de machines pour être traitées .
• Pig permet d’écrire des traitement utiles sur des données, sans subir la
complexité de java. Le but est de rendre Hadoop accessible à des non-
informaticiens scientifiques : physiciens, statisticiens, mathématiciens. . .

3
Architecture de Apache Pig FR

4
FR
Caractéristiques de Apache Pig :
Ensemble riche d'opérateurs - Il fournit de Extensibilité - En utilisant les opérateurs
nombreux opérateurs pour effectuer des existants, les utilisateurs peuvent développer
opérations telles que la jointure, le tri,, etc. leurs propres fonctions pour lire, traiter et écrire
Facilité de programmation - Pig Latin est des données.
similaire à SQL et il est facile d'écrire un script UDF - Pig offre la possibilité d’utiliser des
Pig si vous êtes bon en SQL. fonctions définies par l'utilisateur dans d'autres
Opportunités d'optimisation - Les tâches langages de programmation tels que Java et de
d'Apache Pig optimisent automatiquement leur les invoquer ou de les intégrer dans des scripts
exécution, les programmeurs doivent donc se Pig.
concentrer uniquement sur la sémantique du Gère toutes sortes de données - Apache Pig
langage. analyse toutes sortes de données, à la fois
structurées et non structurées. Il stocke les
résultats dans HDFS.

5
FR
Apache Pig VS MapReduce

Apache Pig MapReduce

Apache Pig est un langage de flux de données. MapReduce est un paradigme de traitement des
données.

C'est une langue de haut niveau. MapReduce est de bas niveau et rigide.

Effectuer une opération de jointure dans Apache Pig est Il est assez difficile dans MapReduce d'effectuer une
assez simple. opération de jointure entre des ensembles de données.
Tout programmeur débutant ayant une connaissance de L'exposition à Java est indispensable pour travailler avec
base de SQL peut travailler facilement avec Apache Pig. MapReduce.

6
FR
Les applications de Apache Pig .

->Pour traiter d'énormes sources de données telles que les journaux Web.

->Pour effectuer le traitement des données dans les plateformes de recherche.

->Pour traiter les chargements de données sensibles au facteur temps.

7
Plan:
Partie 2:

- C’est quoi apache Hive ?


- Caractéristiques de Apache Hive.
- Architecture de Hive.
- Fonctionnement de Hive.
- Type de donnée Hive.
FR
C’est quoi apache hive :

Hive est un outil d'infrastructure d'entrepôt de données


pour traiter les données de structure dans Hadoop. Il
réside au-dessus de Hadoop pour résumer le Big Data
et facilite les requêtes et l'analyse. Initialement, Hive a
été développé par Facebook, puis Apache Software
Foundation l'a repris et développé en tant qu'open
source sous le nom d'Apache Hive.

9
FR
Caractéristiques de Hive

-Il stocke le schéma dans une base de données


et traite les données dans HDFS (Hadoop
Distributed File System).
-Il est conçu pour OLAP. Il fournit un langage de
type SQL pour les requêtes appelé HiveQL ou
HQL.
-Il est familier, rapide, évolutif et extensible.

10
FR
Architecteur Hive :

Ajouter un pied de page 11


FR
Architecteur Hive :

-Interface utilisateur - Hive est un logiciel d'infrastructure d'entrepôt de données qui peut créer une
interaction entre l'utilisateur et HDFS. Les interfaces utilisateur prises en charge par Hive sont
l'interface utilisateur Web Hive, la ligne de commande Hive et Hive HD.

-Meta Store -Hive choisit les serveurs de base de données respectifs pour stocker le schéma ou les
métadonnées des tables, des bases de données, des colonnes dans une table, leurs types de
données et le mappage HDFS.

-HiveQL Process Engine - HiveQL est similaire à SQL pour les requêtes sur
informations de schéma sur le Megastore. C'est l'un des remplacements des traditionnels
approche pour le programme MapReduce. Au lieu d'écrire le programme MapReduce dans
Java, nous pouvons écrire une requête pour le travail MapReduce et la traiter

Ajouter un pied de page 12


FR
Architecteur Hive :
Moteur d'exécution - La partie conjonction de Le moteur de
processus HiveQL et MapReduce sont Moteur d'exécution de ruche.
Moteur d'exécution traite la requête et génère des résultats mêmes
que les résultats MapReduce. Il utilise la saveur de MapReduce.

HDFS ou HBASE - Hadoop distribué


système de fichiers ou HBASE sont le stockage de données
techniques pour stocker des données dans le système de fichiers.

Ajouter un pied de page 13


FR
Fonctionnement de Hive.

Ajouter un pied de page 14


FR
Fonctionnement de Hive.

-Exécuter la requête :L'interface Hive telle que la ligne de commande ou L'interface


utilisateur Web envoie le pilote de requête à exécuter.
-Get Plan :Le pilote prend l'aide du complément de requête qui analyse la requête pour
vérifier la syntaxe et le plan de requête ou l'exigence de requete.
-Obtenir les métadonnées : Le compilateur envoie une demande de métadonnées à
Megastore
-Envoyer des métadonnées : Metastore envoie des métadonnées en réponse à la
compilateur

Ajouter un pied de page 15


FR
Fonctionnement de Hive.

-Envoyer le plan :Le compilateur vérifie l'exigence et renvoie le plan au


conducteur. Jusqu'ici, l'analyse et la compilation d'une requête est terminée.

-Exécuter le plan : le pilote envoie le plan d'exécution au moteur d'exécution.

-Exécuter le travail : En interne, le processus de travail d'exécution est un travail


MapReduce. Le moteur d'exécution envoie le travail à JobTracker, qui est dans
le noeud Nom et il attribue ce travail à TaskTracker, qui est dans le nœud de
données. Ici,
la requête exécute le travail MapReduce.
Ajouter un pied de page 16
FR
Fonctionnement de Hive.

-Opérations sur les métadonnées : Pendant l'exécution, le moteur


d'exécution peut exécuter des opérations de métadonnées avec
Metastore.
-Fetch Result : Le moteur d'exécution reçoit le résultats des nœuds de
données.
-Envoyer les résultats : Le moteur d'exécution envoie ces
valeurs résultantes pour le conducteur.
-Envoyer les résultats : Le pilote envoie les résultats à Hive
Interfaces.
Ajouter un pied de page 17
FR
Types de données:

Tous les types de données de la ruche sont classés en


quatre types:

-Column Types
-Literals
-Null Values
-Complex Types

Ajouter un pied de page 18


FR
Types de données:
Column Types:

- Integral Types: Les données de type entier peuvent être spécifiées à l'aide
de types Integral Types, INT. Lorsque la plage de données dépasse la
gamme de INT, vous devez utiliser BIGINT et si les données est plus petit que
l'INT, vous utilisez SMALLINT. TINYINT est plus petit que SMALLINT.

-Types de chaîne :Les types de données de type chaîne peuvent être spécifiés
à l'aide de guillemets simples ('') ou de guillemets doubles (""). Il contient
deux types de données: VARCHAR et CHAR. Hive suit les caractères
d'échappement de type C.
Ajouter un pied de page 19
FR
Types de données:
-Timestamp : Il prend en charge l'horodatage UNIX traditionnel avec une précision en
nanosecondes en option. Il prend en charge le format java.sql.Timestamp "YYYY-MM-DD
HH: MM: SS.fffffffff" et le format "yyyy-mmdd hh: mm: ss.ffffffffff".

-Dates : Les valeurs DATE sont décrites au format année / mois / jour sous la forme {{AAAA-
MM-JJ}}.

-Décimales : Le type DECIMAL dans Hive est identique au format Big Decimal de Java. Il est
utilisé pour représenter une précision arbitraire immuable.

-Types d'union : L'union est une collection de types de données hétérogènes.


Vous pouvez créer une instance en utilisant create union ..

Ajouter un pied de page 20


FR
Types de données:
Literals:
-Floating Point Types : sont rien que des nombres avec des décimales. Généralement, ce
type de données est composé de données DOUBLE type
-Decimal Type : ne sont rien d'autre valeur en virgule flottante avec une plage supérieure à
Type de données DOUBLE. La plage de type décimal est environ -10 ^-308 à 10 ^308
Complex Types:
Tableaux - Les tableaux dans Hive sont utilisés de la même manière qu'ils sont utilisés en
Java. Syntaxe: ARRAY <data_type>
Cartes - Les cartes dans Hive sont similaires aux cartes Java. Syntaxe: MAP <type_ primitif,
type_données>
Structs - Structs dans Hive est similaire à l'utilisation de données complexes avec
commentaire. Syntaxe: STRUCT <nom_colonne: type_données [COMMENTAIRE
col_comment,…]>
Ajouter un pied de page 21
FR
Types de données:
Create Database
hive> CREATE DATABASE [IF
NOT EXISTS] userdb;
hive> CREATE SCHEMA userdb;
hive> SHOW DATABASES;
Drop Database
hive>DROP DATABASE [IF EXISTS] userdb; hive> DROP
DATABASE [IF EXISTS] userdb CASCADE; hive> DROP SCHEMA
userdb;
Ajouter un pied de page 22
FR
Types de données:

Create Table
hive> CREATE TABLE IF NOT EXISTS
employee(eid int, name String, salary String, destination
String)
>COMMENT ‘Employee details’
>ROW FORMAT DELIMITED
>FIELDS TERMINATED BY ‘\t’
>LINES TERMINATED BY ‘\n’
>STORED AS TEXTFILE;
Ajouter un pied de page 23
FR
Types de données:
Partition :
Hive organise les tables en partitions. C'est une façon de diviser un
table en parties liées en fonction des valeurs de partitionné
des colonnes telles que la date, la ville et le département. À l'aide de la partition, il
est facile d'interroger une partie des données.
-Ajouter partition- Syntax - hive> ALTER TABLE employee ADD PARTITION(year
=‘2013’) location ‘/2012/part2012’;
-Supprimer partition - Syntax - hive>ALTER TABLE employee DROP [IF EXISTS]
PARTITION (year=‘2013’);

Ajouter un pied de page 24


Plan:
Partie 3:

- Qu'est-ce que Apache Mahout?


- Apache Mahout vs autres?
- Applications.
- Algorithmes supportés.
FR
Qu'est-ce que Apache Mahout?

● Cadre d'apprentissage automatique et d'exploration de données


pour classification, regroupement et recommandation

● L'objectif de la bibliothèque d'apprentissage automatique Apache


Mahout est de construire des outils d'apprentissage automatique
évolutifs pour une utilisation sur analyser les mégadonnées de
manière répartie

26
FR
Apache Mahout vs autres?

Nombreux bibliothèques apprentissage automatique open


source ont :
● Absence de communauté
● Manque de documentation et d'exemples
● Manque la licence Apache
(opportunité commerciale)
● Sont orientés vers la recherche
(pas encore adapté à la production)
● Manque d'évolutivité
Ajouter un pied de page 27
FR
Applications
● Fonctions de recommandation
● Regroupement d'informations
● Classification
Exemples: recommandations de films, stock
analyse, détection de fraude, ad-sense
recommandation, etc ...
Comment faisons-nous cela?

Ajouter un pied de page 28


FR
Algorithmes Supportés
● Classification
● Clustering
● Recommender / Collaborative Filtering
● Evolutionary Algorithms
● Pattern Mining
● Regression
● Dimension reduction
● Similarity Vectors

Ajouter un pied de page 29


FR

Merci Pour
Votre Attention
30

Vous aimerez peut-être aussi