Académique Documents
Professionnel Documents
Culture Documents
Objectifs
L'objectif de ce TP est d'apprendre à utiliser SQOOP Apache pour importer des données
d'une base de données MySQL vers une base de données Hadoop Hive.
Dans cette étape, nous allons créer une base de données MySQL appelée tp_sqoop.
mysql -u root -p
CREATE DATABASE tp_sqoop;
Dans cette étape, nous allons créer deux tables dans la base de données tp_sqoop :
Dans cette étape, nous allons charger des données dans les tables MySQL que nous avons
créées.
Dans cette étape, nous allons importer les données des tables MySQL dans Hive.
sqoop import \
--connect jdbc:mysql://localhost:3306/tp_sqoop \
--username root \
--password password \
--table users \
--target-dir /user/hive/warehouse/tp_sqoop.db/users
Nous pouvons répéter cette commande pour importer les données de la table products.
Pour vérifier les données que nous avons importées dans Hive, nous pouvons utiliser la
commande hive.
hive
Une fois que nous sommes dans la console Hive, nous pouvons exécuter la requête
suivante pour afficher les données de la table users :
+----+---------------+-------------------+
| id | name | email |
+----+---------------+-------------------+
| 1 | Darif Anas | d.anas@gmail.com |
| 2 | Allaoui Amine | a.amine@gmail.com |
+----+---------------+-------------------+
Nous pouvons également exécuter la requête suivante pour afficher les données de la
table products :
+----+--------------------+--------+
| id | name | price |
+----+--------------------+--------+
| 1 | iPhone 15 | 999.99 |
| 2 | Samsung Galaxy S23 | 899.99 |
+----+--------------------+--------+
Lorsque nous importons des données de manière incrémentielle, nous ne importons que
les données qui ont été modifiées ou ajoutées depuis la dernière fois que nous avons
effectué l'importation.
Pour importer des données de manière incrémentielle, nous devons utiliser la commande
sqoop import --incremental.
Cette commande prend en compte plusieurs paramètres pour déterminer les données à
importer :
Par exemple, pour importer les données de la table users de manière incrémentielle,
nous pouvons utiliser la commande suivante :
Cette commande va importer les données de la table users qui ont été modifiées ou
ajoutées depuis le 17 janvier 2024.
Étape 7 : Créer un job SQOOP
Pour créer un job SQOOP, nous pouvons utiliser la commande sqoop job --create.
Par exemple, pour créer un job SQOOP pour importer les données de la table users de
manière incrémentielle, nous pouvons utiliser la commande suivante :
Cette commande va créer un job SQOOP nommé users_import qui va importer les
données de la table users de manière incrémentielle.
Pour exécuter un job SQOOP, nous pouvons utiliser la commande sqoop job --exec.
Cette commande prend en compte un paramètre pour indiquer le nom du job à exécuter :
Par exemple, pour exécuter le job SQOOP que nous avons créé à l'étape précédente, nous
pouvons utiliser la commande suivante :