SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Mme Ines Slimene
Ines_slimene@yahoo.fr
https://inesslimene.wixsite.com/moncours Hive 2
 Introduction
 Pig, Hive –Similarités
 Pig, Hive –Différences
 Hive
 Cas d’utilisation
 Concepts
 Metastore
 Commandes
Plan
https://inesslimene.wixsite.com/moncours Hive 3
 Pour éviter les complexités du modèle de programmation
Hadoop, quelques langages de développent d’application
ont été intégrés a Hadoop.
 Pig
 Hive
Introduction
https://inesslimene.wixsite.com/moncours Hive 4
 Réduire la taille des programmes java
 Les applications sont traduites en programmes MapReduce en arrière
plan.
 Fonctionnalité extensible
 Interopérabilité avec les autres langages
 Non conçu pour les lecture/ écriture aléatoire ou les requêtes de faible
latence.
Pig, Hive –Similarités
https://inesslimene.wixsite.com/moncours Hive 5
Caractéristiques Pig Hive
Développé par Yahoo! Facebook
Langage Pig latin HiveQL
Type de langage Data flow SQL
Structure de
données
supportée
Complex Structuré
Schema optionnel Obligatoire
Pig, Hive –Différences
https://inesslimene.wixsite.com/moncours Hive 6
 Solution Data Warehouse intégrée dans Hadoop
 Fournit un langage de requête similaire au SQL nommé HiveQL
 nécessite un apprentissage minimale pour les personnes ayant une
expertise SQL
 public cible : analystes de données
 Les travaux de développement Hive ont commencé sur Facebook en
2007
Hive
https://inesslimene.wixsite.com/moncours Hive 7
 Capacité de structuration des différents formats de données
 Interface simple pour l’analyse et la synthèse de grandes quantités de
données
 L'accès aux fichiers sur les différents supports de stockage de données
tels que HDFS et HBase
Offres de Hive
https://inesslimene.wixsite.com/moncours Hive 8
 Traduit les requêtes HiveQL en un ensemble de jobs MapReduce qui
seront exécutés dans un cluster Hadoop.
Hive
https://inesslimene.wixsite.com/moncours Hive 9
 mysql -u root –p
 mysql> show databases;
 mysql> use metastore;
 mysql> show tables;
 mysql> select TBL_NAME from TBLS;
Hive : Metastore
https://inesslimene.wixsite.com/moncours Hive 10
 Inspiré des bases de données relationnelles
 Base de données: ensemble de table
 Table: ensemble de lignes qui ont le même schéma (même nombre de
colonnes)
 Ligne: un enregistrement, ensemble de colonnes
 Colonne: contient la valeur et le type d’un champs
Hive : Concepts
https://inesslimene.wixsite.com/moncours Hive 11
Les types de données Hive :
 TINYINT, SMALLINT, INT, BIGINT
 BOOLEAN
 FLOAT
 DOUBLE
 STRING
 BINARY
 TIMESTAMP
 DECIMAL
 …
Hive : Concepts
https://inesslimene.wixsite.com/moncours Hive 12
 Démarrage Hive :
 hive
 Création base de données :
hive> create database test;
hive> use test;
Création de base de données
https://inesslimene.wixsite.com/moncours Hive 13
 Création de table pour le stockage des données qui existent dans le
fichier /ch5_data/user-posts.txt
hive> CREATE TABLE posts (user STRING, post STRING, time BIGINT)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
 hive> show tables; (Afficher la liste des tables)
 hive> describe posts; (Description de la table posts)
Création de table
https://inesslimene.wixsite.com/moncours Hive 14
 hive> LOAD DATA LOCAL INPATH
'/home/cloudera/ch5_data/hive/user-posts.txt'
OVERWRITE INTO TABLE posts;
 Hdfs dfs -ls /user/hive/warehouse
Insertion données dans une table
https://inesslimene.wixsite.com/moncours Hive 15
 hive> select count (1) from posts;
 hive> select * from posts where user="user2";
 hive> select * from posts where time<=1343182133839
limit 2;
Affichage des données
https://inesslimene.wixsite.com/moncours Hive 16
 hive> DROP TABLE posts;
 hive> exit;
 hdfs dfs -ls /user/hive/warehouse
Suppression d’une table
https://inesslimene.wixsite.com/moncours Hive 17
hive> CREATE EXTERNAL TABLE posts
(user STRING, post STRING, time BIGINT)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION '/user/cloudera/test/';
 Hive charge les fichiers dans le répertoire /user/cloudera/test/ et non
pas dans le datawarhouse hive.
External table
https://inesslimene.wixsite.com/moncours Hive 18
 Pour augmenter sa performance, Hive a la possibilité de diviser les
données (en partition).
 Les valeurs de la colonne partitionnée divisent une table en segments
 Semblable à des index de bases de données relationnelles
 Les partitions doivent être correctement emballées par les utilisateurs
 Lors de l'insertion de données on doit spécifier une partition
 Au moment de la requête, Hive filtrera automatiquement les partitions.
Partitions
https://inesslimene.wixsite.com/moncours Hive 19
hive> CREATE TABLE posts (user STRING, post STRING, time BIGINT)
PARTITIONED BY(country STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',‘
STORED AS TEXTFILE;
hive> describe posts;
Création de table partitionnée
https://inesslimene.wixsite.com/moncours Hive 20
 hive> LOAD DATA LOCAL INPATH
'/home/cloudera/ch5_data/hive/user-posts-US.txt'
OVERWRITE INTO TABLE posts
PARTITION(country='US');
 hive> LOAD DATA LOCAL INPATH
'/home/cloudera/ch5_data/hive/user-posts-
AUSTRALIA.txt'
OVERWRITE INTO TABLE posts
PARTITION(country='AUSTRALIA');
Chargement de données dans des
tables partitionnées
https://inesslimene.wixsite.com/moncours Hive 21
 Les partitions sont physiquement stockés dans des répertoires distincts
 hive> show partitions posts;
 $ hdfs dfs –ls -R /user/hive/warehouse/posts
/user/hive/warehouse/posts/country=AUSTRALIA
/user/hive/warehouse/posts/country=AUSTRALIA/user-posts-
AUSTRALIA.txt
/user/hive/warehouse/posts/country=US
/user/hive/warehouse/posts/country=US/user-posts-US.txt
Table partitionnée
https://inesslimene.wixsite.com/moncours Hive 22
 Soit les 2 tables suivantes : posts et likes
 hive> select * from posts limit 10;
 hive> select * from likes limit 10;
 hive> CREATE TABLE posts_likes (user STRING, post STRING,
likes_count INT);
Jointure
https://inesslimene.wixsite.com/moncours Hive 23
 hive> INSERT OVERWRITE TABLE posts_likes
SELECT p.user, p.post, l.nblike
FROM posts p JOIN likes l ON (p.user = l.user);
 hive> select * from posts_likes limit 10;
Jointure

Contenu connexe

Similaire à Hive

Mini projet individuel php
Mini projet individuel phpMini projet individuel php
Mini projet individuel php
Khadim Mbacké
 
Cours access
Cours accessCours access
Cours access
kourbali
 
Ugif 04 2011 consulti x mediawiki - ugif
Ugif 04 2011   consulti x mediawiki - ugifUgif 04 2011   consulti x mediawiki - ugif
Ugif 04 2011 consulti x mediawiki - ugif
UGIF
 
La caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informationsLa caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informations
ChristopheTricot
 
INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3
PGambette
 
Systèmes de Gestion de Contenu (SGC)
Systèmes de Gestion de Contenu (SGC)Systèmes de Gestion de Contenu (SGC)
Systèmes de Gestion de Contenu (SGC)
Laurent Moccozet
 

Similaire à Hive (20)

Hadoop
HadoopHadoop
Hadoop
 
Serveur Web (2)
Serveur Web (2)Serveur Web (2)
Serveur Web (2)
 
Mini projet individuel php
Mini projet individuel phpMini projet individuel php
Mini projet individuel php
 
Une introduction à Hive
Une introduction à HiveUne introduction à Hive
Une introduction à Hive
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystème
 
Hive ppt (1)
Hive ppt (1)Hive ppt (1)
Hive ppt (1)
 
Cours access
Cours accessCours access
Cours access
 
Hadoop MapReduce.docx
Hadoop  MapReduce.docxHadoop  MapReduce.docx
Hadoop MapReduce.docx
 
Ugif 04 2011 consulti x mediawiki - ugif
Ugif 04 2011   consulti x mediawiki - ugifUgif 04 2011   consulti x mediawiki - ugif
Ugif 04 2011 consulti x mediawiki - ugif
 
Dev Symfony2 rapide avec un framework de contenu
Dev Symfony2 rapide avec un framework de contenuDev Symfony2 rapide avec un framework de contenu
Dev Symfony2 rapide avec un framework de contenu
 
MUG Nantes - MongoDB et son connecteur pour hadoop
MUG Nantes - MongoDB et son connecteur pour hadoopMUG Nantes - MongoDB et son connecteur pour hadoop
MUG Nantes - MongoDB et son connecteur pour hadoop
 
Hadoop
HadoopHadoop
Hadoop
 
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataJSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
 
La caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informationsLa caisse à outils de la visualisation d'informations
La caisse à outils de la visualisation d'informations
 
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big DataJournées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
 
INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3
 
Voyage au pays des mashups
Voyage au pays des mashupsVoyage au pays des mashups
Voyage au pays des mashups
 
Systèmes de Gestion de Contenu (SGC)
Systèmes de Gestion de Contenu (SGC)Systèmes de Gestion de Contenu (SGC)
Systèmes de Gestion de Contenu (SGC)
 
Paris RailsCamp 2009
Paris RailsCamp 2009Paris RailsCamp 2009
Paris RailsCamp 2009
 
05 - creation-playbook-ansible-stack-lamp.pdf
05 - creation-playbook-ansible-stack-lamp.pdf05 - creation-playbook-ansible-stack-lamp.pdf
05 - creation-playbook-ansible-stack-lamp.pdf
 

Plus de Ines Slimene (13)

Spark
SparkSpark
Spark
 
Redis
RedisRedis
Redis
 
Crud
CrudCrud
Crud
 
Cassandra
CassandraCassandra
Cassandra
 
Agregation
AgregationAgregation
Agregation
 
Pig
PigPig
Pig
 
Neo4j
Neo4jNeo4j
Neo4j
 
Mapreduce
MapreduceMapreduce
Mapreduce
 
Introduction nosql
Introduction nosqlIntroduction nosql
Introduction nosql
 
Introduction
IntroductionIntroduction
Introduction
 
Intro mongodb
Intro mongodbIntro mongodb
Intro mongodb
 
Hdfs
HdfsHdfs
Hdfs
 
Indexation
IndexationIndexation
Indexation
 

Dernier

Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 

Dernier (16)

Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
 
python-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdfpython-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdf
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcours
 

Hive

  • 2. https://inesslimene.wixsite.com/moncours Hive 2  Introduction  Pig, Hive –Similarités  Pig, Hive –Différences  Hive  Cas d’utilisation  Concepts  Metastore  Commandes Plan
  • 3. https://inesslimene.wixsite.com/moncours Hive 3  Pour éviter les complexités du modèle de programmation Hadoop, quelques langages de développent d’application ont été intégrés a Hadoop.  Pig  Hive Introduction
  • 4. https://inesslimene.wixsite.com/moncours Hive 4  Réduire la taille des programmes java  Les applications sont traduites en programmes MapReduce en arrière plan.  Fonctionnalité extensible  Interopérabilité avec les autres langages  Non conçu pour les lecture/ écriture aléatoire ou les requêtes de faible latence. Pig, Hive –Similarités
  • 5. https://inesslimene.wixsite.com/moncours Hive 5 Caractéristiques Pig Hive Développé par Yahoo! Facebook Langage Pig latin HiveQL Type de langage Data flow SQL Structure de données supportée Complex Structuré Schema optionnel Obligatoire Pig, Hive –Différences
  • 6. https://inesslimene.wixsite.com/moncours Hive 6  Solution Data Warehouse intégrée dans Hadoop  Fournit un langage de requête similaire au SQL nommé HiveQL  nécessite un apprentissage minimale pour les personnes ayant une expertise SQL  public cible : analystes de données  Les travaux de développement Hive ont commencé sur Facebook en 2007 Hive
  • 7. https://inesslimene.wixsite.com/moncours Hive 7  Capacité de structuration des différents formats de données  Interface simple pour l’analyse et la synthèse de grandes quantités de données  L'accès aux fichiers sur les différents supports de stockage de données tels que HDFS et HBase Offres de Hive
  • 8. https://inesslimene.wixsite.com/moncours Hive 8  Traduit les requêtes HiveQL en un ensemble de jobs MapReduce qui seront exécutés dans un cluster Hadoop. Hive
  • 9. https://inesslimene.wixsite.com/moncours Hive 9  mysql -u root –p  mysql> show databases;  mysql> use metastore;  mysql> show tables;  mysql> select TBL_NAME from TBLS; Hive : Metastore
  • 10. https://inesslimene.wixsite.com/moncours Hive 10  Inspiré des bases de données relationnelles  Base de données: ensemble de table  Table: ensemble de lignes qui ont le même schéma (même nombre de colonnes)  Ligne: un enregistrement, ensemble de colonnes  Colonne: contient la valeur et le type d’un champs Hive : Concepts
  • 11. https://inesslimene.wixsite.com/moncours Hive 11 Les types de données Hive :  TINYINT, SMALLINT, INT, BIGINT  BOOLEAN  FLOAT  DOUBLE  STRING  BINARY  TIMESTAMP  DECIMAL  … Hive : Concepts
  • 12. https://inesslimene.wixsite.com/moncours Hive 12  Démarrage Hive :  hive  Création base de données : hive> create database test; hive> use test; Création de base de données
  • 13. https://inesslimene.wixsite.com/moncours Hive 13  Création de table pour le stockage des données qui existent dans le fichier /ch5_data/user-posts.txt hive> CREATE TABLE posts (user STRING, post STRING, time BIGINT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE;  hive> show tables; (Afficher la liste des tables)  hive> describe posts; (Description de la table posts) Création de table
  • 14. https://inesslimene.wixsite.com/moncours Hive 14  hive> LOAD DATA LOCAL INPATH '/home/cloudera/ch5_data/hive/user-posts.txt' OVERWRITE INTO TABLE posts;  Hdfs dfs -ls /user/hive/warehouse Insertion données dans une table
  • 15. https://inesslimene.wixsite.com/moncours Hive 15  hive> select count (1) from posts;  hive> select * from posts where user="user2";  hive> select * from posts where time<=1343182133839 limit 2; Affichage des données
  • 16. https://inesslimene.wixsite.com/moncours Hive 16  hive> DROP TABLE posts;  hive> exit;  hdfs dfs -ls /user/hive/warehouse Suppression d’une table
  • 17. https://inesslimene.wixsite.com/moncours Hive 17 hive> CREATE EXTERNAL TABLE posts (user STRING, post STRING, time BIGINT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE LOCATION '/user/cloudera/test/';  Hive charge les fichiers dans le répertoire /user/cloudera/test/ et non pas dans le datawarhouse hive. External table
  • 18. https://inesslimene.wixsite.com/moncours Hive 18  Pour augmenter sa performance, Hive a la possibilité de diviser les données (en partition).  Les valeurs de la colonne partitionnée divisent une table en segments  Semblable à des index de bases de données relationnelles  Les partitions doivent être correctement emballées par les utilisateurs  Lors de l'insertion de données on doit spécifier une partition  Au moment de la requête, Hive filtrera automatiquement les partitions. Partitions
  • 19. https://inesslimene.wixsite.com/moncours Hive 19 hive> CREATE TABLE posts (user STRING, post STRING, time BIGINT) PARTITIONED BY(country STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',‘ STORED AS TEXTFILE; hive> describe posts; Création de table partitionnée
  • 20. https://inesslimene.wixsite.com/moncours Hive 20  hive> LOAD DATA LOCAL INPATH '/home/cloudera/ch5_data/hive/user-posts-US.txt' OVERWRITE INTO TABLE posts PARTITION(country='US');  hive> LOAD DATA LOCAL INPATH '/home/cloudera/ch5_data/hive/user-posts- AUSTRALIA.txt' OVERWRITE INTO TABLE posts PARTITION(country='AUSTRALIA'); Chargement de données dans des tables partitionnées
  • 21. https://inesslimene.wixsite.com/moncours Hive 21  Les partitions sont physiquement stockés dans des répertoires distincts  hive> show partitions posts;  $ hdfs dfs –ls -R /user/hive/warehouse/posts /user/hive/warehouse/posts/country=AUSTRALIA /user/hive/warehouse/posts/country=AUSTRALIA/user-posts- AUSTRALIA.txt /user/hive/warehouse/posts/country=US /user/hive/warehouse/posts/country=US/user-posts-US.txt Table partitionnée
  • 22. https://inesslimene.wixsite.com/moncours Hive 22  Soit les 2 tables suivantes : posts et likes  hive> select * from posts limit 10;  hive> select * from likes limit 10;  hive> CREATE TABLE posts_likes (user STRING, post STRING, likes_count INT); Jointure
  • 23. https://inesslimene.wixsite.com/moncours Hive 23  hive> INSERT OVERWRITE TABLE posts_likes SELECT p.user, p.post, l.nblike FROM posts p JOIN likes l ON (p.user = l.user);  hive> select * from posts_likes limit 10; Jointure