Einführung
Willkommen an der Royale Akademie der Magischen Künste, eine renomierte Institution, die sich der Erforschung und Beherrschung des magischen Wissens widmet. In dieser Welt hat ein Team von geschätzten Edelstein-Forschern die Aufgabe, die Geheimnisse von zauberischen Edelsteinen zu entlocken, deren mystische Eigenschaften der Schlüssel zum Verständnis der Wirklichkeit sind.
Ihre Rolle als geschickter Edelstein-Forscher besteht darin, die Macht des Hadoop-Ekosystems, insbesondere von Hive, zu nutzen, um riesige Mengen an Edelstein-Daten zu analysieren und zu komprimieren. Ziel ist es, die Speicher- und Verarbeitungsleistung zu optimieren, um Ihnen die Möglichkeit zu geben, die komplexen Muster und verborgenen Geheimnisse in diesen zauberischen Artefakten zu entwirren.
Einrichten des Edelstein-Datenarchivs
In diesem Schritt erstellen Sie eine Hive-Tabelle, um die Edelstein-Daten zu speichern und sie mit Beispielaufzeichnungen zu füllen.
Stellen Sie zunächst sicher, dass Sie als Benutzer hadoop angemeldet sind, indem Sie den folgenden Befehl in der Konsole ausführen:
su - hadoop
Starten Sie dann die Hive-Shell, indem Sie den folgenden Befehl ausführen:
hive
Erstellen Sie nun eine neue Hive-Datenbank namens gemstone_db:
CREATE DATABASE gemstone_db;
Verwenden Sie die neue Datenbank:
USE gemstone_db;
Als Nächstes erstellen Sie eine Tabelle namens gemstones mit Spalten für id, name, color, origin und enchantment:
CREATE TABLE gemstones (
id INT,
name STRING,
color STRING,
origin STRING,
enchantment STRING
) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
Schließlich laden Sie Beispiel-Daten aus der Datei /home/hadoop/gemstone_data.csv in die Tabelle gemstones:
LOAD DATA LOCAL INPATH '/home/hadoop/gemstone_data.csv' OVERWRITE INTO TABLE gemstones;
Kompprimieren der Edelstein-Daten
Um die Speicher- und Verarbeitungsleistung zu optimieren, werden wir die Edelstein-Daten mit den eingebauten Kompressionsfunktionen von Hive komprimieren.
Erstellen Sie zunächst eine neue Tabelle gemstones_compressed mit dem gleichen Schema wie die ursprüngliche Tabelle gemstones:
CREATE TABLE gemstones_compressed (
id INT,
name STRING,
color STRING,
origin STRING,
enchantment STRING
) STORED AS ORC
TBLPROPERTIES ('orc.compress'='SNAPPY');
- Geben Sie die Klausel
STORED AS ORCan, um das Optimized Row Columnar (ORC)-Dateiformat zu verwenden, das effiziente Kompression und Speicherung bietet. - Legen Sie die Tabelleigenschaft
orc.compressaufSNAPPYfest, um die Snappy-Kompression für die ORC-Dateien zu aktivieren.
Fügen Sie dann die Daten aus der ursprünglichen Tabelle gemstones in die Tabelle gemstones_compressed ein:
INSERT INTO TABLE gemstones_compressed SELECT * FROM gemstones;
Abfragen der komprimierten Daten
Jetzt, da die Edelstein-Daten komprimiert sind, können Sie sie mit Hive effizient abfragen.
Führen Sie zunächst eine einfache COUNT(*)-Abfrage auf der Tabelle gemstones_compressed aus, um die Datenintegrität zu überprüfen:
SELECT COUNT(*) FROM gemstones_compressed;
Führen Sie dann eine GROUP BY-Abfrage aus, um die Anzahl der Edelsteine für jede Farbe zu zählen:
SELECT color, COUNT(*) AS count FROM gemstones_compressed GROUP BY color;
Zusammenfassung
In diesem Lab haben Sie gelernt, wie Sie die Kompressionsfähigkeiten von Hive nutzen, um die Speicher- und Verarbeitungsleistung für große Datensätze zu optimieren. Indem Sie eine komprimierte ORC-Tabelle erstellen und Daten in sie laden, konnten Sie die Speicherplatzbeanspruchung erheblich reduzieren, während die Abfrageleistung erhalten blieb.
Während des gesamten Prozesses haben Sie praktische Erfahrungen bei der Erstellung von Hive-Datenbanken und -Tabellen, beim Laden von Daten und beim Abfragen von komprimierten Daten gewonnen. Dieses praktische Wissen wird unschätzbare Hilfe sein, wenn Sie Ihre Forschung zu den mystischen Eigenschaften von zauberischen Edelsteinen fortsetzen und so effizientere Erkenntnisse zu versteckten Mustern gewinnen können.



