Intégration de Hadoop pour la Quête de Données Unifiées

HadoopHadoopBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans le royaume mythique de Datagonia, un chevalier des données intrépide nommé Lionheart a entrepris une quête extraordinaire. La prospérité du royaume dépendait de la maîtrise de la puissance des données, et la mission de Lionheart était d'unifier les divers jeux de données répandus sur le territoire. Avec ses outils Hadoop fidèles à ses côtés, il est parti à la conquête des défis qui l'attendaient.

Les vastes champs du royaume contenaient des informations précieuses sur les rendements agricoles, les conditions du sol et les modèles météorologiques. Dans les mines, des données sur les gisements minéraux et les taux d'extraction attendaient d'être intégrées. Les villes animées grouillaient de registres de commerce, de population et de dynamique économique. L'objectif de Lionheart était de combiner ces sources de données disparates en un ensemble de données cohérent et complet qui permettrait aux décideurs du royaume de prendre des décisions éclairées et de propulser le progrès.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) hadoop/HadoopHDFSGroup -.-> hadoop/fs_mkdir("FS Shell mkdir") hadoop/HadoopHiveGroup -.-> hadoop/manage_db("Managing Database") hadoop/HadoopHiveGroup -.-> hadoop/create_tables("Creating Tables") hadoop/HadoopHiveGroup -.-> hadoop/load_insert_data("Loading and Inserting Data") hadoop/HadoopHiveGroup -.-> hadoop/import_export_data("Importing and Exporting Data") hadoop/HadoopHiveGroup -.-> hadoop/basic_hiveql("Basic HiveQL Queries") hadoop/HadoopHiveGroup -.-> hadoop/where("where Usage") hadoop/HadoopHiveGroup -.-> hadoop/group_by("group by Usage") hadoop/HadoopHiveGroup -.-> hadoop/union("union Usage") subgraph Lab Skills hadoop/fs_mkdir -.-> lab-289004{{"Intégration de Hadoop pour la Quête de Données Unifiées"}} hadoop/manage_db -.-> lab-289004{{"Intégration de Hadoop pour la Quête de Données Unifiées"}} hadoop/create_tables -.-> lab-289004{{"Intégration de Hadoop pour la Quête de Données Unifiées"}} hadoop/load_insert_data -.-> lab-289004{{"Intégration de Hadoop pour la Quête de Données Unifiées"}} hadoop/import_export_data -.-> lab-289004{{"Intégration de Hadoop pour la Quête de Données Unifiées"}} hadoop/basic_hiveql -.-> lab-289004{{"Intégration de Hadoop pour la Quête de Données Unifiées"}} hadoop/where -.-> lab-289004{{"Intégration de Hadoop pour la Quête de Données Unifiées"}} hadoop/group_by -.-> lab-289004{{"Intégration de Hadoop pour la Quête de Données Unifiées"}} hadoop/union -.-> lab-289004{{"Intégration de Hadoop pour la Quête de Données Unifiées"}} end

Créer des données d'échantillonnage

Dans cette étape, nous allons créer quelques fichiers de données d'échantillonnage pour explorer le pouvoir de l'opérateur UNION dans Hive.

Tout d'abord, assurez-vous d'être connecté en tant qu'utilisateur hadoop en exécutant la commande suivante dans le terminal :

su - hadoop

Ensuite, accédez au répertoire /home/hadoop/data et créez un nouveau répertoire appelé crops :

mkdir -p /home/hadoop/data/crops

Ensuite, créez deux fichiers nommés wheat.csv et corn.csv dans le répertoire crops avec le contenu suivant :

wheat.csv :

North,2020,50
South,2020,45
East,2020,48
West,2020,42

corn.csv :

North,2020,50
South,2020,58
East,2020,62
West,2020,55

Vous pouvez utiliser n'importe quel éditeur de texte pour créer ces fichiers.

Charger des données dans des tables Hive

Dans cette étape, nous allons créer des tables Hive et charger les données d'échantillonnage dans celles-ci.

Tout d'abord, lancez l'interface de ligne de commande (CLI) Hive en exécutant la commande suivante dans le terminal :

hive

Une fois dans l'interface CLI Hive, créez une base de données appelée agriculture :

CREATE DATABASE agriculture;

Ensuite, basculez sur la base de données agriculture :

USE agriculture;

Créez une table appelée wheat avec le schéma approprié :

CREATE TABLE wheat (
  region STRING,
  year INT,
  yield INT
) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

Chargez les données de wheat.csv dans la table wheat :

LOAD DATA LOCAL INPATH '/home/hadoop/data/crops/wheat.csv' OVERWRITE INTO TABLE wheat;

Répétez le processus pour la table corn :

CREATE TABLE corn (
  region STRING,
  year INT,
  yield INT
) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

LOAD DATA LOCAL INPATH '/home/hadoop/data/crops/corn.csv' OVERWRITE INTO TABLE corn;

Vous pouvez vérifier les données dans les tables en utilisant l'instruction SELECT :

SELECT * FROM wheat;
SELECT * FROM corn;

Effectuer une opération UNION

Maintenant que nos données sont chargées dans des tables Hive, nous pouvons utiliser l'opérateur UNION pour combiner les résultats de deux requêtes ou plus.

Dans l'interface CLI Hive, exécutez la requête suivante :

CREATE TABLE result_1
AS
SELECT region, year, yield FROM wheat
UNION
SELECT region, year, yield FROM corn;

SELECT * FROM result_1;

Cette requête combinera les résultats des tables wheat et corn, créant ainsi un ensemble de données unifié avec toutes les régions, les années et les rendements.

Vous pouvez également effectuer une opération UNION ALL, qui inclut les lignes dupliquées dans le jeu de résultats :

SELECT region, year, yield FROM wheat
UNION ALL
SELECT region, year, yield FROM corn;

Notez que les noms de colonnes et les types de données doivent correspondre pour toutes les requêtes utilisées dans l'opération UNION ou UNION ALL.

Opérations UNION avancées (facultatif)

Vous pouvez explorer davantage l'opérateur UNION en combinant des requêtes plus complexes ou en l'utilisant avec d'autres constructions Hive telles que le filtrage ou l'agrégation.

Par exemple, vous pouvez combiner les résultats d'une requête GROUP BY avec une autre requête :

CREATE TABLE result_2
AS
SELECT region, SUM(yield) AS total_yield FROM wheat GROUP BY region
UNION
SELECT region, yield FROM corn;

SELECT * FROM result_2;

Ou, vous pouvez filtrer les résultats avant de les combiner :

SELECT region, year, yield FROM wheat WHERE year = 2020
UNION
SELECT region, year, yield FROM corn WHERE year = 2020 AND yield > 60;

N'hésitez pas à experimenter différentes combinaisons et à voir comment l'opérateur UNION peut vous aider à consolider des données provenant de multiples sources.

Sommaire

Dans ce laboratoire, nous avons exploré l'utilisation de l'opérateur UNION dans Apache Hive, un outil puissant pour le stockage de données et l'analyse dans l'écosystème Hadoop. En créant des jeux de données d'échantillonnage et en les chargeant dans des tables Hive, nous avons appris à combiner les résultats de plusieurs requêtes à l'aide de UNION et UNION ALL. Cette fonction puissante nous permet de consolider des données provenant de diverses sources, ce qui permet une analyse approfondie et des décisions éclairées.

Au cours du parcours de Lionheart, le chevalier des données, nous avons été témoins du pouvoir transformateur de l'intégration de données. En unifiant des jeux de données disparates provenant des champs, des mines et des villes du royaume, Lionheart a donné aux décideurs une vision globale, ouvrant la voie au progrès et à la prospérité dans le royaume de Datagonia.

Ce laboratoire a non seulement fourni une expérience pratique avec Hive et l'opérateur UNION, mais a également rappelé l'importance de la consolidation de données pour révéler des insights et stimuler l'innovation. En maîtrisant ces techniques, nous pouvons devenir nous-mêmes des chevaliers des données, armés des outils pour vaincre les défis complexes de données et façonner un avenir plus brillant.