Rebellien-Datenumstrukturierung mit Hadoop

HadoopHadoopBeginner
Jetzt üben

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

Einführung

In einer fernen Galaxie hat das tyrannische Galaktische Imperium unzählige Planeten unterworfen, ihre Ressourcen ausgenutzt und ihre Bevölkerung unterdrückt. Die Rebellführerin, Prinzessin Leia, hat eine Rebellion gegen das Imperium koordiniert, aber ihre Kräfte sind weit überzählt und übergewaffnet. Um die Kriegsführung zu wenden, muss Leia riesige Mengen an Intelligenzdateien analysieren, um die Schwächen des Imperiums zu identifizieren und strategische Angriffe zu planen.

Das Ziel dieses Labors ist es, Prinzessin Leia und die Rebellienallianz zu helfen, die Macht von Hadoop Hive zur Verwaltung und Manipulation großer Datensätze zu nutzen, insbesondere indem sie lernen, wie bestehende Hive-Tabellen geändert werden. Indem sie diese Fähigkeit beherrschen, kann Leia ihre Intelligenz-Datenbanken effizient umstrukturieren, um entscheidende Erkenntnisse zu gewinnen und einen strategischen Vorteil gegenüber dem Imperium zu erlangen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop/HadoopHiveGroup -.-> hadoop/hive_shell("Hive Shell") hadoop/HadoopHiveGroup -.-> hadoop/manage_db("Managing Database") hadoop/HadoopHiveGroup -.-> hadoop/create_tables("Creating Tables") hadoop/HadoopHiveGroup -.-> hadoop/describe_tables("Describing Tables") hadoop/HadoopHiveGroup -.-> hadoop/alter_tables("Altering Tables") hadoop/HadoopHiveGroup -.-> hadoop/load_insert_data("Loading and Inserting Data") hadoop/HadoopHiveGroup -.-> hadoop/update_data("Updating Data") hadoop/HadoopHiveGroup -.-> hadoop/storage_formats("Choosing Storage Formats") subgraph Lab Skills hadoop/hive_shell -.-> lab-288956{{"Rebellien-Datenumstrukturierung mit Hadoop"}} hadoop/manage_db -.-> lab-288956{{"Rebellien-Datenumstrukturierung mit Hadoop"}} hadoop/create_tables -.-> lab-288956{{"Rebellien-Datenumstrukturierung mit Hadoop"}} hadoop/describe_tables -.-> lab-288956{{"Rebellien-Datenumstrukturierung mit Hadoop"}} hadoop/alter_tables -.-> lab-288956{{"Rebellien-Datenumstrukturierung mit Hadoop"}} hadoop/load_insert_data -.-> lab-288956{{"Rebellien-Datenumstrukturierung mit Hadoop"}} hadoop/update_data -.-> lab-288956{{"Rebellien-Datenumstrukturierung mit Hadoop"}} hadoop/storage_formats -.-> lab-288956{{"Rebellien-Datenumstrukturierung mit Hadoop"}} end

Erstellen einer Beispieltabelle

In diesem Schritt werden wir eine Beispiel-Hive-Tabelle erstellen, mit der wir arbeiten können. Diese Tabelle wird Informationen über verschiedene Planeten in der Galaxie speichern, einschließlich ihres Namens, ihrer Bevölkerung und ihrer Ressourcen.

Stellen Sie zunächst die hadoop-Benutzerumgebung her, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:

su - hadoop

Starten Sie nun die Hive-Befehlszeilenschnittstelle, indem Sie den folgenden Befehl ausführen:

hive

Innerhalb der Hive-Befehlszeilenschnittstelle erstellen Sie eine neue Datenbank namens rebel_intel:

CREATE DATABASE rebel_intel;

Verwenden Sie die Datenbank rebel_intel:

USE rebel_intel;

Erstellen Sie eine neue Tabelle namens planets mit dem folgenden Schema:

CREATE TABLE planets (
    planet_id INT,
    planet_name STRING,
    population BIGINT,
    resources ARRAY<STRING>
)
CLUSTERED BY (planet_id) INTO 2 BUCKETS
STORED AS ORC
TBLPROPERTIES ('transactional'='true');

Diese Tabelle hat vier Spalten: planet_id (eine Ganzzahl für die Planeten-ID), planet_name (einen String für den Planeten-Namen), population (eine große Ganzzahl für die Planeten-Bevölkerung) und resources (ein Array von Strings, die die Planeten-Ressourcen darstellen).

Beenden Sie die Hive-Befehlszeilenschnittstelle, indem Sie exit; eingeben.

Fügen Sie Daten in die Tabelle ein

In diesem Schritt werden wir die Tabelle planets mit einigen Beispiel-Daten füllen. Diese Daten repräsentieren die Informationen, die die Rebellienallianz über verschiedene Planeten in der Galaxie gesammelt hat.

Starten Sie die Hive-Befehlszeilenschnittstelle erneut:

hive

Verwenden Sie die Datenbank rebel_intel:

USE rebel_intel;

Fügen Sie einige Beispiel-Daten in die Tabelle planets ein:

INSERT INTO planets VALUES
    (1, 'Alderaan', 2000000000, array('Agriculture', 'Energy')),
    (2, 'Tatooine', 200000, array('Mining')),
    (3, 'Hoth', 0, array('None')),
    (4, 'Endor', 30000, array('Forestry', 'Hunting')),
    (5, 'Bespin', 6000000, array('Gas Mining', 'Tourism'));

Dadurch werden fünf Zeilen Daten in die Tabelle planets eingefügt, die verschiedene Planeten mit ihren jeweiligen Planeten-IDs, Namen, Bevölkerungen und Ressourcen repräsentieren.

Beenden Sie die Hive-Befehlszeilenschnittstelle, indem Sie exit; eingeben.

Ändern der Tabellenstruktur

Jetzt, da wir eine Tabelle mit einigen Daten haben, sagen wir, Prinzessin Leia muss eine weitere Spalte hinzufügen, um Informationen über das Klima jedes Planeten zu speichern. In diesem Schritt werden wir lernen, wie die Struktur einer bestehenden Hive-Tabelle geändert wird.

Starten Sie die Hive-Befehlszeilenschnittstelle:

hive

Verwenden Sie die Datenbank rebel_intel:

USE rebel_intel;

Ändern Sie die Tabelle planets, um eine neue Spalte namens climate hinzuzufügen:

ALTER TABLE planets ADD COLUMNS (climate STRING);

Dieser Befehl fügt eine neue Spalte namens climate vom Typ STRING zur Tabelle planets hinzu.

Überprüfen Sie die aktualisierte Tabellenstruktur:

DESCRIBE planets;

Sie sollten die neue Spalte climate im Tabellenschema sehen.

Beenden Sie die Hive-Befehlszeilenschnittstelle, indem Sie exit; eingeben.

Aktualisieren von Tabellendaten

Mit der neuen Spalte climate in der Tabelle planets können wir jetzt die vorhandenen Daten aktualisieren, um die Klimainformationen für jeden Planeten hinzuzufügen.

Starten Sie die Hive-Befehlszeilenschnittstelle:

hive

Verwenden Sie die Datenbank rebel_intel:

USE rebel_intel;

Aktualisieren Sie die climate-Spalte für jeden Planeten:

UPDATE planets SET climate = 'Temperate' WHERE planet_name = 'Alderaan';
UPDATE planets SET climate = 'Arid' WHERE planet_name = 'Tatooine';
UPDATE planets SET climate = 'Frozen' WHERE planet_name = 'Hoth';
UPDATE planets SET climate = 'Tropical' WHERE planet_name = 'Endor';
UPDATE planets SET climate = 'Artificial' WHERE planet_name = 'Bespin';

Diese UPDATE-Anweisungen setzen den climate-Wert für jeden Planeten basierend auf ihren jeweiligen Namen.

Überprüfen Sie die aktualisierten Daten:

SELECT * FROM planets;

Sie sollten die aktualisierten climate-Werte für jeden Planeten sehen.

Beenden Sie die Hive-Befehlszeilenschnittstelle, indem Sie exit; eingeben.

Zusammenfassung

In diesem Lab haben wir das Konzept des Änderns von Tabellen in Hadoop Hive untersucht, was eine entscheidende Fähigkeit für das Verwalten und Umstrukturieren großer Datensätze ist. Indem wir eine Beispiel-Tabelle planets erstellt, Daten hinzugefügt und dann die Tabellenstruktur geändert haben, um eine neue Spalte climate hinzuzufügen, haben wir gelernt, wie wir unsere Datenmodelle anpassen, um sich verändernden Anforderungen anzupassen.

Das Design dieses Labs wurde von der ikonischen Star Wars-Welt inspiriert, in der die Rebellienführerin, Prinzessin Leia, die Geheimdienstdaten analysieren muss, um Schwächen in den Verteidigungsanlagen des Galaktischen Reiches zu identifizieren. Indem sie die Fähigkeit von Hive, Tabellen zu ändern, beherrscht, kann Leia ihre Geheimdienst-Datenbanken effizient umgestalten, wertvolle Erkenntnisse aufdecken und einen strategischen Vorteil in der Rebellion gegen das tyrannische Reich erlangen.

Durch diese praktische Erfahrung habe ich ein tieferes Verständnis dafür gewonnen, wie man Hive-Tabellen erstellt, modifiziert und aktualisiert, was essentielle Fähigkeiten für die Arbeit mit großen Datensätzen in Hadoop-Umgebungen ist. Die Verwendung von Prüfungen hat auch sichergestellt, dass ich meinen Fortschritt bei jedem Schritt verifizieren konnte, was mein Lernen verstärkte und sicherstellen musste, dass ich die Lab-Ziele erfolgreich erreicht habe.