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.
Erstelle eine Beispiel-Tabelle
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üge Daten zur Tabelle hinzu
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.
Ändere die 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.
Aktualisiere die 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.



