Hadoop Hive - Datenexpedition

HadoopHadoopBeginner
Jetzt üben

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

Einführung

Im Jahr 2165 wurde die Erde von einem katastrophalen Krieg heimgesucht, der über Jahrzehnte dauerte. Die überlebenden Menschen suchten Zuflucht auf entfernten Planeten und gründeten neue Kolonien, um ihre Zivilisation wieder aufzubauen. Eine solche Kolonie, die auf dem Planeten Xylonia lag, wurde von einer technologisch fortgeschrittenen Spezies bewohnt, den Blaxters.

Die Blaxters hatten die Kunst der Datenverwaltung beherrscht und nutzten fortgeschrittene Systeme wie Hadoop, um enorme Mengen an Informationen zu speichern und zu verarbeiten. Als neu ernannt Data Engineer für die Xylonische Kolonie ist deine Aufgabe, die Feinheiten des Hadoop Hive Datenbankmanagementsystems zu lernen, um die effiziente Speicherung und Abrufung von kritischen Daten sicherzustellen, die für das Überleben und Wachstum der Kolonie erforderlich sind.

Dein Ziel ist es, den Blaxters bei der Verwaltung ihrer riesigen Datenrepositories zu helfen, indem du die Macht von Hadoop Hive nutzt, um die Informationen, die für ihre wissenschaftlichen Forschung, Ressourcenverwaltung und strategische Planung von entscheidender Bedeutung sind, zu organisieren, abzufragen und zu analysieren.

Ein Datenbank erstellen

In diesem Schritt lernst du, wie du eine neue Datenbank in Hadoop Hive erstellst. Diese Datenbank wird als zentrales Repository dienen, um die Daten der Kolonie zu speichern und zu organisieren.

Starte zunächst, indem du sicherstellst, dass du als Benutzer hadoop angemeldet bist, indem du den folgenden Befehl in der Konsole ausführst:

su - hadoop

Sobald du in der Benutzerumgebung von hadoop bist, navigiere zum Verzeichnis /home/hadoop:

cd /home/hadoop

Starte nun die Hive-Shell, indem du den folgenden Befehl ausführst:

hive

Innerhalb der Hive-Shell erstelle eine neue Datenbank mit dem Namen xylonia_colony mithilfe des folgenden SQL-Befehls:

CREATE DATABASE xylonia_colony;

Um die erfolgreiche Erstellung der Datenbank zu überprüfen, kannst du alle verfügbaren Datenbanken auflisten, indem du den folgenden Befehl verwendest:

SHOW DATABASES;

Dies sollte die neu erstellte Datenbank xylonia_colony zusammen mit allen anderen vorhandenen Datenbanken anzeigen.

Ein Tabelle erstellen

In diesem Schritt lernst du, wie du eine Tabelle innerhalb der Datenbank xylonia_colony erstellst, um Daten zu den Ressourcen der Kolonie zu speichern.

Starte zunächst, indem du sicherstellst, dass du in der Hive-Shell bist. Wenn nicht, starte sie, indem du den folgenden Befehl ausführst:

hive

Wechsle zur Datenbank xylonia_colony mithilfe des folgenden Befehls:

USE xylonia_colony;

Erstelle eine neue Tabelle mit dem Namen resources mit den folgenden Spalten: resource_id (INT), resource_name (STRING), quantity (DOUBLE) und unit (STRING). Verwende den folgenden SQL-Befehl:

CREATE TABLE resources (
    resource_id INT,
    resource_name STRING,
    quantity DOUBLE,
    unit STRING
);

Um die erfolgreiche Erstellung der Tabelle zu überprüfen, liste alle Tabellen in der Datenbank xylonia_colony auf, indem du den folgenden Befehl verwendest:

SHOW TABLES;

Dies sollte die Tabelle resources anzeigen.

Daten einfügen

In diesem Schritt lernst du, wie du Daten in die Tabelle resources einfügst, die du im vorherigen Schritt erstellt hast.

Starte zunächst, indem du sicherstellst, dass du in der Hive-Shell bist. Wenn nicht, starte sie, indem du den folgenden Befehl ausführst:

hive

Wechsle zur Datenbank xylonia_colony mithilfe des folgenden Befehls:

USE xylonia_colony;

Füge einige Beispiel-Daten in die Tabelle resources ein, indem du die folgenden SQL-Befehle verwendest:

INSERT INTO resources VALUES (1, 'Oxygen', 500.0, 'Tons');
INSERT INTO resources VALUES (2, 'Water', 1000.0, 'Gallons');
INSERT INTO resources VALUES (3, 'Food', 200.0, 'Tons');

Um die erfolgreiche Einfügung von Daten zu überprüfen, frage die Tabelle resources mithilfe des folgenden Befehls ab:

SELECT * FROM resources;

Dies sollte die drei Zeilen mit Daten anzeigen, die du eingefügt hast.

Daten abfragen

In diesem Schritt lernst du, wie du Daten aus der Tabelle resources mit verschiedenen SQL-Befehlen abfragst.

Starte zunächst, indem du sicherstellst, dass du in der Hive-Shell bist. Wenn nicht, starte sie, indem du den folgenden Befehl ausführst:

hive

Wechsle zur Datenbank xylonia_colony mithilfe des folgenden Befehls:

USE xylonia_colony;

Frage die Tabelle resources ab, um alle Ressourcen abzurufen, bei denen die Menge größer als 500 ist:

SELECT * FROM resources WHERE quantity > 500;

Dies sollte die Zeilen anzeigen, in denen der Wert der Spalte quantity größer als 500 ist.

Du kannst auch Aggregatfunktionen wie SUM oder AVG auf die Daten anwenden. Beispielsweise berechne die Gesamtmenge aller Ressourcen:

SELECT SUM(quantity) AS total_quantity FROM resources;

Dies wird die Summe aller quantity-Werte in der Tabelle resources anzeigen.

Ein partitionierte Tabelle erstellen

In diesem Schritt lernst du, wie du eine partitionierte Tabelle in Hive erstellst, was die Abfrageleistung verbessern kann, indem die Menge an zu durchsuchenden Daten reduziert wird.

Starte zunächst, indem du sicherstellst, dass du in der Hive-Shell bist. Wenn nicht, starte sie, indem du den folgenden Befehl ausführst:

hive

Wechsle zur Datenbank xylonia_colony mithilfe des folgenden Befehls:

USE xylonia_colony;

Erstelle eine neue partitionierte Tabelle mit dem Namen sensor_data mit den Spalten sensor_id (INT), sensor_name (STRING), reading (DOUBLE) und partitioniert nach dt (STRING):

CREATE TABLE sensor_data (
    sensor_id INT,
    sensor_name STRING,
    reading DOUBLE
)
PARTITIONED BY (dt STRING);

Um Daten in die partitionierte Tabelle einzufügen, musst du den Partitionierungsschlüsselwert zusammen mit den Spaltenwerten angeben. Beispielsweise:

INSERT INTO sensor_data PARTITION (dt='2023-05-01')
VALUES (1, 'Temperature Sensor', 25.5), (2, 'Humidity Sensor', 60.0);

Dies fügt zwei Zeilen Daten in die Tabelle sensor_data ein, partitioniert nach dem dt 2023-05-01.

Du kannst die partitionierte Tabelle genauso wie jede andere Tabelle abfragen, aber du kannst auch die Daten basierend auf dem Partitionierungsschlüssel filtern:

SELECT * FROM sensor_data WHERE dt='2023-05-01';

Dies wird nur die Partition entsprechen 2023-05-01 durchsuchen, was die Abfrageleistung möglicherweise verbessert.

Zusammenfassung

In diesem Lab hast du gelernt, wie du Datenbanken und Tabellen in Hadoop Hive, einem leistungsstarken Datenlagerwerkzeug innerhalb der Hadoop-Ekosystem, verwalten kannst. Du hast eine neue Datenbank und Tabelle erstellt, Daten eingefügt und die Daten mithilfe von SQL-Befehlen abgefragt. Darüber hinaus hast du partitionierte Tabellen untersucht, die die Abfrageleistung verbessern können, indem die Menge an zu durchsuchenden Daten reduziert wird.

Durch diese praktische Erfahrung hast du praktische Fähigkeiten im Umgang mit Datenrepositorys mit Hadoop Hive gewonnen, einem wichtigen Bestandteil der fortgeschrittenen Datenmanagementsysteme der Blaxters. Indem du diese Techniken beherrschst, hast du einen wichtigen Schritt in Richtung der Unterstützung der Bemühungen der Xylonischen Kolonie bei der wissenschaftlichen Forschung, der Ressourcenverwaltung und der strategischen Planung gemacht.