Einführung
In der Mitte einer verwüsteten Wüstenlandschaft bewegt sich eine einsame Gestalt unter den Überresten einer lang verlassenen Stadt. Dies ist das Reich des Ruin Artists, einer Visionärin, die Schönheit in der Verwahrlosung und Potential in den Vergessenen sieht. Ihr Ziel ist es, die verborgenen Geschichten in den Ruinen zu entdecken und durch ihre Kunst neues Leben in die zerfallenden Gebäude zu blasen.
Der Ruin Artist hat eine Schatzkiste mit alten Daten gefunden, die über verschiedene Fragmente einer einst großartigen Bibliothek verteilt sind. Um diesen Reichtum an Informationen zu verstehen und Ordnung in die Chaos zu bringen, muss sie die Macht von Hadoop und seine leistungsfähigen Datenverarbeitungskapazitäten nutzen, insbesondere die Gruppierung in Hive.
Einrichten der Umgebung
In diesem Schritt werden wir die Umgebung einrichten und die Daten für unsere Analyse vorbereiten.
- Öffnen Sie ein Terminal und wechseln Sie zum Benutzer
hadoop, indem Sie den folgenden Befehl ausführen:
su - hadoop
- Navigieren Sie zum Verzeichnis
/home/hadoop:
cd /home/hadoop
- Erstellen Sie ein neues Verzeichnis namens
ruin-data, um unseren Datensatz zu speichern:
mkdir ruin-data
- Verschieben Sie den Beispiel-Datensatz in das Verzeichnis
ruin-data:
cp /tmp/ruin-dataset.txt ruin-data/
Dieser Datensatz enthält Informationen über verschiedene Artefakte, die in den Ruinen gefunden wurden, einschließlich ihres Typs, der Lage und des Zustands.
Das Datenset erkunden
In diesem Schritt laden wir den Datensatz in Hive und untersuchen seine Struktur.
- Starten Sie die Hive-Shell, indem Sie den folgenden Befehl ausführen:
hive
- Erstellen Sie eine neue Datenbank namens
ruin_analysis:
CREATE DATABASE ruin_analysis;
- Verwenden Sie die Datenbank
ruin_analysis:
USE ruin_analysis;
- Erstellen Sie eine neue externe Tabelle namens
artifacts, um die Daten aus der Dateiruin-dataset.txtzu speichern:
CREATE EXTERNAL TABLE artifacts (
artifact_id INT,
artifact_type STRING,
location STRING,
condition STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';
Dieser Befehl erstellt eine neue Tabelle mit vier Spalten: artifact_id, artifact_type, location und condition. Die Tabelle ist so konfiguriert, dass sie Daten aus der Datei ruin-dataset.txt liest, die eine durch Kommas getrennte Textdatei im Verzeichnis /home/hadoop/ruin-data ist. 5. Laden Sie die Daten in die Tabelle artifacts:
LOAD DATA LOCAL INPATH '/home/hadoop/ruin-data/ruin-dataset.txt' INTO TABLE artifacts;
- Überprüfen Sie die Tabellenstruktur, indem Sie den folgenden Befehl ausführen:
DESCRIBE artifacts;
Dies sollte die Spaltennamen und ihre Datentypen anzeigen.
Gruppieren und Aggregieren von Daten
In diesem Schritt werden wir die GROUP BY-Klausel verwenden, um die Artefakt-Daten zu analysieren und verborgene Muster zu entdecken.
- In der Hive-Shell führen Sie die folgende Abfrage aus, um die Anzahl der Artefakte für jede Artefaktart zu zählen:
SELECT artifact_type, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type;
Diese Abfrage gruppiert die Daten nach artifact_type und berechnet die Anzahl der Artefakte für jede Art mit der COUNT(*)-Funktion.
- Um die häufigste Artefaktart zu finden, modifizieren Sie die vorherige Abfrage, indem Sie eine
ORDER BY-Klausel hinzufügen:
SELECT artifact_type, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type
ORDER BY artifact_count DESC
LIMIT 1;
Diese Abfrage sortiert die Ergebnisse nach artifact_count in absteigender Reihenfolge und begrenzt die Ausgabe auf die erste Zeile, was uns die Artefaktart mit der höchsten Anzahl gibt.
- Analysieren wir den Zustand der Artefakte basierend auf ihrer Art. Führen Sie die folgende Abfrage aus:
SELECT artifact_type, condition, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type, condition
ORDER BY artifact_type, condition;
Diese Abfrage gruppiert die Daten nach artifact_type und condition, zählt die Anzahl der Artefakte für jede Kombination und sortiert die Ergebnisse nach artifact_type und condition.
- Schließlich können wir die Verteilung der Artefakte über verschiedene Orte erkunden, indem wir die folgende Abfrage ausführen:
SELECT location, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY location
ORDER BY artifact_count DESC;
Diese Abfrage gruppiert die Daten nach location und zählt die Anzahl der Artefakte, die an jedem Ort gefunden wurden, sortiert in absteigender Reihenfolge nach artifact_count.
Zusammenfassung
In diesem Lab haben wir die Macht von Hadoops Hive und seiner GROUP BY-Funktionalität genutzt, um einen Datensatz von Artefakten zu analysieren, die in einer alten Ruine gefunden wurden. Indem wir die Umgebung einrichteten, die Daten in Hive ladeten und verschiedene GROUP BY-Abfragen ausführten, haben wir wertvolle Erkenntnisse gewonnen, wie die häufigste Artefaktart, der Zustand der Artefakte basierend auf ihrer Art und die Verteilung der Artefakte über verschiedene Orte.
Durch diese praktische Erfahrung haben wir ein tieferes Verständnis dafür gewonnen, wie Hadoop und Hive für die Datenanalyse und das Musterentdecken genutzt werden können, insbesondere wenn es um große und komplexe Datensätze geht. Die Fähigkeit, Daten zu gruppieren und zu aggregieren, ist eine grundlegende Fähigkeit in der Welt des Big Data, und dieses Lab gab eine praktische Einführung in dieses essentielle Konzept.



