Le parcours d'intégration de Cosmic Hive

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 une galaxie lointaine, il existe une base de recherche d'extraterrestres dédiée à l'étude des mystères de l'univers. L'une des principales chercheuses, la xénobiologiste Zara, a été chargée d'analyser d'énormes quantités de données recueillies auprès de divers corps célestes. Cependant, l'ampleur et la complexité des données ont rendu difficile le traitement et l'extraction d'insights précieux au moyen de méthodes traditionnelles.

L'objectif de Zara est de mettre à profit la puissance d'Hadoop Hive, un puissant outil de stockage de données, pour stocker, traiter et analyser efficacement les données astronomiques. En configurant Hive sur le cluster Hadoop de la base, elle espère découvrir des modèles et des relations cachés qui pourraient éclairer les origines et l'évolution des corps célestes, avançant finalement notre compréhension de l'univers.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop/HadoopHDFSGroup -.-> hadoop/hdfs_setup("HDFS Setup") hadoop/HadoopHiveGroup -.-> hadoop/hive_setup("Hive Setup") hadoop/HadoopHiveGroup -.-> hadoop/hive_shell("Hive Shell") 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/basic_hiveql("Basic HiveQL Queries") hadoop/HadoopHiveGroup -.-> hadoop/where("where Usage") subgraph Lab Skills hadoop/hdfs_setup -.-> lab-288977{{"Le parcours d'intégration de Cosmic Hive"}} hadoop/hive_setup -.-> lab-288977{{"Le parcours d'intégration de Cosmic Hive"}} hadoop/hive_shell -.-> lab-288977{{"Le parcours d'intégration de Cosmic Hive"}} hadoop/manage_db -.-> lab-288977{{"Le parcours d'intégration de Cosmic Hive"}} hadoop/create_tables -.-> lab-288977{{"Le parcours d'intégration de Cosmic Hive"}} hadoop/load_insert_data -.-> lab-288977{{"Le parcours d'intégration de Cosmic Hive"}} hadoop/basic_hiveql -.-> lab-288977{{"Le parcours d'intégration de Cosmic Hive"}} hadoop/where -.-> lab-288977{{"Le parcours d'intégration de Cosmic Hive"}} end

Installation d'Hive

Dans cette étape, nous allons installer Apache Hive sur notre cluster Hadoop, ce qui nous permettra de traiter et d'analyser les données astronomiques à l'aide de requêtes ressemblant à SQL.

Tout d'abord, basculez sur l'utilisateur hadoop en exécutant la commande suivante dans le terminal :

su - hadoop

Ensuite, téléchargez la dernière version stable d'Apache Hive sur le site web officiel :

wget https://downloads.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz

Extrait l'archive téléchargée :

tar -xzf apache-hive-3.1.3-bin.tar.gz

Ensuite, définissez la variable d'environnement HIVE_HOME en ajoutant la ligne suivante au fichier ~/.bashrc :

echo 'export HIVE_HOME=/home/hadoop/apache-hive-3.1.3-bin' >> ~/.bashrc
export HIVE_HOME=/home/hadoop/apache-hive-3.1.3-bin

Configurez Hive pour qu'il fonctionne avec le cluster Hadoop en créant un fichier hive-site.xml dans le répertoire $HIVE_HOME/conf avec le contenu suivant :

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:derby:;databaseName=/home/hadoop/metastore_db;create=true</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>org.apache.derby.jdbc.EmbeddedDriver</value>
  </property>
  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
  </property>
</configuration>

Ce fichier de configuration configure le magasin de métadonnées Hive, qui stocke les métadonnées des tables et partitions Hive.

Enfin, initialisez la métabase avec la commande suivante :

$HIVE_HOME/bin/schematool -dbType derby -initSchema

Création d'une table Hive

Dans cette étape, nous allons créer une table Hive pour stocker les données astronomiques recueillies auprès de divers corps célestes.

  1. Démarrez le shell Hive en exécutant la commande suivante :
$HIVE_HOME/bin/hive
  1. Créez une nouvelle base de données appelée astronomy :
CREATE DATABASE astronomy;
  1. Utilisez la base de données astronomy :
USE astronomy;
  1. Créez une nouvelle table appelée celestial_bodies avec le schéma suivant :
CREATE TABLE celestial_bodies (
  id INT,
  name STRING,
  type STRING,
  distance DOUBLE,
  mass DOUBLE,
  radius DOUBLE
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;

Cette table stockera des informations sur divers corps célestes, y compris leur identifiant, leur nom, leur type (par exemple, étoile, planète, astéroïde), leur distance de la Terre, leur masse et leur rayon.

  1. Chargez quelques données d'échantillonnage dans la table celestial_bodies à partir d'un fichier local :
LOAD DATA LOCAL INPATH '/home/hadoop/celestial_data.csv' OVERWRITE INTO TABLE celestial_bodies;

Astuce : Une simulation nommée celestial_data.csv existe déjà sur le chemin /home/hadoop/

  1. Sortez du shell Hive :
EXIT;

Interrogation de la table Hive

Dans cette étape, nous allons exécuter quelques requêtes ressemblant à SQL sur la table celestial_bodies pour analyser les données astronomiques.

  1. Démarrez le shell Hive s'il n'est pas déjà en cours d'exécution :
$HIVE_HOME/bin/hive
  1. Utilisez la base de données astronomy :
USE astronomy;
  1. Obtenez le nombre de corps célestes dans la table :
SELECT COUNT(*) FROM celestial_bodies;
  1. Trouvez les corps célestes dont la masse est supérieure à 1,0 :
SELECT name, type, mass FROM celestial_bodies WHERE mass > 1.0;
  1. Obtenez la distance moyenne des planètes de la Terre :
SELECT AVG(distance) FROM celestial_bodies WHERE type = 'Planet';
  1. Sortez du shell Hive :
EXIT;

N'hésitez pas à experimenter avec plus de requêtes selon vos besoins d'analyse.

Sommaire

Dans ce laboratoire, nous avons exploré le processus de configuration d'Apache Hive sur un cluster Hadoop et de l'utilisation de celui-ci pour stocker et analyser des données astronomiques. Nous avons appris à installer Hive, à créer une base de données et une table Hive, à charger des données dans la table et à exécuter des requêtes ressemblant à SQL pour extraire des insights précieux des données.

En exploitant la puissance d'Hive, la xénobiologiste Zara peut désormais traiter et analyser efficacement les vastes quantités de données sur les corps célestes recueillies par la base de recherche d'extraterrestres. La capacité de réaliser des requêtes et des agrégations complexes sur ces données lui permettra de découvrir des modèles et des relations cachés, ce qui pourrait mener à des découvertes révolutionnaires sur les origines et l'évolution des corps célestes.

Ce laboratoire a non seulement fourni une expérience pratique de la configuration d'Hive et de l'analyse de données, mais a également mis en évidence la polyvalence et la capacité de mise à l'échelle de l'écosystème Hadoop dans la gestion de tâches de traitement de données à grande échelle. Alors que nous continuons à explorer les mystères de l'univers, des outils comme Hive joueront un rôle crucial dans la découverte des secrets cachés dans l'immensité des données astronomiques.