Compression des données sur les pierres précieuses avec Hadoop

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

Bienvenue à l'Académie Royale des Arts Magiques, une institution prestigieuse dédiée à l'étude et à la maîtrise des connaissances arcaniques. Dans ce royaume, une équipe de prestigieux chercheurs de pierres précieuses est chargée de déverrouiller les secrets des pierres enchantées, dont les propriétés mystiques sont la clé pour comprendre la trame même de la réalité.

Votre rôle de chercheur de pierres précieuses expérimenté est de maîtriser le pouvoir de l'écosystème Hadoop, en particulier Hive, pour analyser et compresser de vastes quantités de données sur les pierres précieuses. L'objectif est d'optimiser l'efficacité de stockage et de traitement, vous permettant de démêler les motifs complexes et les mystères cachés dans ces objets enchantés.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) 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/group_by("group by Usage") hadoop/HadoopHiveGroup -.-> hadoop/storage_formats("Choosing Storage Formats") hadoop/HadoopHiveGroup -.-> hadoop/compress_data_query("Compress Data in Query") subgraph Lab Skills hadoop/manage_db -.-> lab-288961{{"Compression des données sur les pierres précieuses avec Hadoop"}} hadoop/create_tables -.-> lab-288961{{"Compression des données sur les pierres précieuses avec Hadoop"}} hadoop/load_insert_data -.-> lab-288961{{"Compression des données sur les pierres précieuses avec Hadoop"}} hadoop/basic_hiveql -.-> lab-288961{{"Compression des données sur les pierres précieuses avec Hadoop"}} hadoop/group_by -.-> lab-288961{{"Compression des données sur les pierres précieuses avec Hadoop"}} hadoop/storage_formats -.-> lab-288961{{"Compression des données sur les pierres précieuses avec Hadoop"}} hadoop/compress_data_query -.-> lab-288961{{"Compression des données sur les pierres précieuses avec Hadoop"}} end

Configurez le référentiel de données sur les pierres précieuses

Dans cette étape, vous allez créer une table Hive pour stocker les données sur les pierres précieuses et les peupler avec des enregistrements d'échantillonnage.

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, lancez le shell Hive en exécutant la commande suivante :

hive

Maintenant, créez une nouvelle base de données Hive appelée gemstone_db :

CREATE DATABASE gemstone_db;

Utilisez la nouvelle base de données :

USE gemstone_db;

Ensuite, créez une table nommée gemstones avec des colonnes pour id, name, color, origin et enchantment :

CREATE TABLE gemstones (
  id INT,
  name STRING,
  color STRING,
  origin STRING,
  enchantment STRING
) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

Enfin, chargez les données d'échantillonnage à partir du fichier /home/hadoop/gemstone_data.csv dans la table gemstones :

LOAD DATA LOCAL INPATH '/home/hadoop/gemstone_data.csv' OVERWRITE INTO TABLE gemstones;

Compressez les données sur les pierres précieuses

Pour optimiser l'efficacité de stockage et de traitement, nous allons compresser les données sur les pierres précieuses à l'aide des capacités de compression intégrées d'Hive.

Tout d'abord, créez une nouvelle table gemstones_compressed avec le même schéma que la table d'origine gemstones :

CREATE TABLE gemstones_compressed (
  id INT,
  name STRING,
  color STRING,
  origin STRING,
  enchantment STRING
) STORED AS ORC
TBLPROPERTIES ('orc.compress'='SNAPPY');
  • Spécifiez la clause STORED AS ORC pour utiliser le format de fichier Optimized Row Columnar (ORC), qui offre une compression et un stockage efficaces.
  • Définissez la propriété de table orc.compress sur SNAPPY, qui active la compression Snappy pour les fichiers ORC.

Ensuite, insérez les données de la table d'origine gemstones dans la table gemstones_compressed :

INSERT INTO TABLE gemstones_compressed SELECT * FROM gemstones;

Interrogez les données compressées

Maintenant que les données sur les pierres précieuses sont compressées, vous pouvez les interroger efficacement à l'aide d'Hive.

Tout d'abord, exécutez une requête COUNT(*) simple sur la table gemstones_compressed pour vérifier l'intégrité des données :

SELECT COUNT(*) FROM gemstones_compressed;

Ensuite, effectuez une requête GROUP BY pour compter le nombre de pierres précieuses pour chaque couleur :

SELECT color, COUNT(*) AS count FROM gemstones_compressed GROUP BY color;

Sommaire

Dans ce laboratoire, vous avez appris à exploiter les capacités de compression d'Hive pour optimiser l'efficacité de stockage et de traitement pour de grands ensembles de données. En créant une table ORC compressée et en chargeant des données dans celle-ci, vous avez pu réduire considérablement l'occupation mémoire tout en maintenant les performances de requête.

Au cours de tout le processus, vous avez acquis une expérience pratique dans la création de bases de données et de tables Hive, le chargement de données et l'interrogation de données compressées. Cette connaissance pratique sera précieuse lorsque vous poursuivrez vos recherches sur les propriétés mystiques des pierres enchantées, vous permettant de découvrir plus efficacement des motifs et des informations cachées.