Wüsten-Drache Datenintegration

HadoopHadoopBeginner
Jetzt üben

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

Einführung

In der weiten Fläche einer kargen Wüste tobte ein heftiger Sandsturm los, der Wolken aus Sand aufwirbelte, die den Horizont verdeckten. In der Wirbelwelt des Chaos schwebte ein majestätischer Wüstenadler durch den Himmel, seine Schuppen glänzten in einem leuchtenden Goldton. Dieses mächtige Wesen hat eine entscheidende Aufgabe: Aus verstreuten Datenquellen wichtige Informationen zu sammeln und verborgene Erkenntnisse zu entdecken, die helfen könnten, den unerbittlichen Sandsturm zu bezwingen.

Ziel dieses Labs ist es, Ihnen die Fähigkeiten zu vermitteln, um die Macht von Hadoop und Hive zu nutzen, sodass Sie Daten aus mehreren Quellen verbinden und kombinieren können. Indem Sie die Kunst des Datenverbunds meistern, werden Sie in der Lage sein, komplexe Zusammenhänge aufzulösen und wertvolle Muster zu entdecken, genauso wie der Wüstenadler versucht, die Geheimnisse des tobenden Sandsturms zu entwirren.

Einrichten der Umgebung

In diesem Schritt bereiten Sie die erforderliche Umgebung für die Arbeit mit Hadoop und Hive vor.

  1. Öffnen Sie ein Terminalfenster und wechseln Sie zum Benutzer hadoop, indem Sie den folgenden Befehl ausführen:
su - hadoop
  1. Navigieren Sie zum Verzeichnis /home/hadoop, indem Sie den folgenden Befehl ausführen:
cd /home/hadoop
  1. Erstellen Sie ein neues Verzeichnis namens join_lab, um Ihre Dateien zu speichern:
mkdir join_lab
  1. Wechseln Sie in das Verzeichnis join_lab:
cd join_lab

Jetzt haben Sie einen speziellen Arbeitsbereich für dieses Lab.

Erstellen von Beispiel-Datensätzen

In diesem Schritt erstellen Sie zwei Beispiel-Datensätze, um die Verknüpfungsoperationen in Hive zu üben.

  1. Erstellen Sie eine neue Datei namens employees.txt mit dem folgenden Inhalt:
101,John Doe,Sales
102,Jane Smith,Marketing
103,Michael Johnson,IT
104,Emily Davis,HR
105,Adam Wilson,Finance
106,Lisa Brown,Operations
  1. Erstellen Sie eine weitere Datei namens departments.txt mit dem folgenden Inhalt:
1,Sales,New York
2,Marketing,Los Angeles
3,IT,Chicago
4,HR,San Francisco
  1. Starten Sie die Hive-Shell, indem Sie den folgenden Befehl ausführen:
hive
  1. Laden Sie die Datensätze in Hive, indem Sie die folgenden Befehle ausführen:
CREATE TABLE employees (emp_id INT, name STRING, dept STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

LOAD DATA LOCAL INPATH '/home/hadoop/join_lab/employees.txt' OVERWRITE INTO TABLE employees;

CREATE TABLE departments (dept_id INT, dept_name STRING, location STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

LOAD DATA LOCAL INPATH '/home/hadoop/join_lab/departments.txt' OVERWRITE INTO TABLE departments;

Diese Befehle werden zwei Hive-Tabellen, employees und departments, erstellen und die Daten aus den entsprechenden Textdateien laden.

Inner Join durchführen

In diesem Schritt lernen Sie, wie Sie eine Inner-Join-Operation in Hive durchführen, um Daten aus den Tabellen employees und departments zu kombinieren.

Führen Sie die folgende Hive-Abfrage aus, um einen Inner Join durchzuführen:

CREATE TABLE result_1
AS
SELECT e.emp_id, e.name, d.dept_name, d.location
FROM employees e
JOIN departments d
ON e.dept = d.dept_name;

SELECT * FROM result_1;

Diese Abfrage verknüpft die Tabellen employees und departments basierend auf den Spalten dept und dept_name respective. Sie extrahiert die Spalten emp_id, name, dept_name und location aus dem verknüpften Ergebnis.

Die Ausgabe sollte wie folgt aussehen:

101     John Doe        Sales   New York
102     Jane Smith      Marketing       Los Angeles
103     Michael Johnson IT      Chicago
104     Emily Davis     HR      San Francisco

Ein Inner Join kombiniert Zeilen aus zwei Tabellen basierend auf einer angegebenen Bedingung. In diesem Fall werden die dept-Werte aus der Tabelle employees mit den dept_name-Werten aus der Tabelle departments übereinstimmen. Das Ergebnis enthält nur die Zeilen, für die die Verknüpfungsbedingung erfüllt ist, was bedeutet, dass die dept- und dept_name-Werte übereinstimmen.

Linker Außenverknüpfung durchführen

In diesem Schritt lernen Sie, wie Sie eine linke Außenverknüpfung in Hive durchführen.

Führen Sie die folgende Hive-Abfrage aus, um eine linke Außenverknüpfung durchzuführen:

CREATE TABLE result_2
AS
SELECT e.emp_id, e.name, d.dept_name, d.location
FROM employees e
LEFT OUTER JOIN departments d
ON e.dept = d.dept_name;

SELECT * FROM result_2;

Diese Abfrage führt eine linke Außenverknüpfung zwischen den Tabellen employees und departments durch. Sie enthält alle Zeilen aus der linken Tabelle (employees) und die übereinstimmenden Zeilen aus der rechten Tabelle (departments). Wenn es keine Übereinstimmung in der rechten Tabelle gibt, enthält das Ergebnis NULL-Werte für die Spalten aus der rechten Tabelle.

Die Ausgabe sollte wie folgt aussehen:

101     John Doe        Sales   New York
102     Jane Smith      Marketing       Los Angeles
103     Michael Johnson IT      Chicago
104     Emily Davis     HR      San Francisco
105     Adam Wilson     NULL    NULL
106     Lisa Brown      NULL    NULL

Eine linke Außenverknüpfung gibt alle Zeilen aus der linken Tabelle (employees) und die übereinstimmenden Zeilen aus der rechten Tabelle (departments) zurück. Wenn eine Zeile in der linken Tabelle keine übereinstimmende Zeile in der rechten Tabelle hat, enthält das Ergebnis NULL-Werte für die Spalten aus der rechten Tabelle.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie mit Hadoop und Hive arbeiten, um Verknüpfungsoperationen auf Datensätzen durchzuführen. Sie haben Beispiel-Datensätze erstellt und in Hive-Tabellen geladen, was Ihnen ermöglicht, Innere und Linke Außenverknüpfungen zu üben. Indem Sie diese Verknüpfungsoperationen beherrschen, haben Sie die Fähigkeit gewonnen, Daten aus mehreren Quellen zu kombinieren und zu analysieren, genauso wie der Wüsten-Drache Informationen aus verstreuten Quellen kombiniert, um die Geheimnisse des tobenden Sandsturms zu entwirren.

Während des gesamten Labs habe ich angestrebt, eine strukturierte und immersive Lernumgebung bereitzustellen, indem ich Sie Schritt für Schritt mit klaren Anweisungen, Codebeispielen und Erklärungen begleitet habe. Die Verwendung von Prüfungen hat sichergestellt, dass Sie Ihren Fortschritt validieren und Verbesserungsbedarf identifizieren konnten. Indem ich ein Szenario entwerfen, das mit den Herausforderungen im Bereich der Datenanalyse übereinstimmt, hoffe ich, dass der Lernprozess interessanter und relevanter geworden ist.

Insgesamt hat dieses Lab Ihnen nicht nur technische Fähigkeiten in Hadoop und Hive vermittelt, sondern hat auch ein tieferes Verständnis für die Wichtigkeit der Datenintegration und -analyse bei der Lösung komplexer Probleme geschaffen. Genauso wie der Wüsten-Drache in seiner Mission beharrt, wird Ihr neues Wissen Sie befähigen, reale Datenherausforderungen mit Zuversicht und Kreativität anzugehen.