Edelstein-Datenkompression mit Hadoop

HadoopHadoopBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.


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{{"Edelstein-Datenkompression mit Hadoop"}} hadoop/create_tables -.-> lab-288961{{"Edelstein-Datenkompression mit Hadoop"}} hadoop/load_insert_data -.-> lab-288961{{"Edelstein-Datenkompression mit Hadoop"}} hadoop/basic_hiveql -.-> lab-288961{{"Edelstein-Datenkompression mit Hadoop"}} hadoop/group_by -.-> lab-288961{{"Edelstein-Datenkompression mit Hadoop"}} hadoop/storage_formats -.-> lab-288961{{"Edelstein-Datenkompression mit Hadoop"}} hadoop/compress_data_query -.-> lab-288961{{"Edelstein-Datenkompression mit Hadoop"}} end

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;

Komprimieren 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 ORC an, um das Optimized Row Columnar (ORC)-Dateiformat zu verwenden, das effiziente Kompression und Speicherung bietet.
  • Legen Sie die Tabelleigenschaft orc.compress auf SNAPPY fest, 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.