Exportieren von Daten an das Galaktische Handelsnetzwerk
In diesem Schritt lernen Sie, wie Sie verarbeitete Daten aus Hadoop an das Galaktische Handelsnetzwerk exportieren, um sicherzustellen, dass die Frachtinformationen für alle Mitgliedsysteme zugänglich sind.
Erstellen Sie zunächst ein neues Verzeichnis in HDFS namens /home/hadoop/exports
:
hdfs dfs -mkdir /home/hadoop/exports
Starten Sie jetzt die Hive-Shell, indem Sie folgenden Befehl ausführen:
hive
Führen Sie eine Hive-Abfrage aus, um die Datei orion_manifest.csv
zu verarbeiten und einen Zusammenfassungsbericht zu generieren:
CREATE TABLE orion_manifest(
item STRING,
quantity INT,
origin STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
LOAD DATA INPATH '/home/hadoop/imports/orion_manifest.csv' INTO TABLE orion_manifest;
INSERT OVERWRITE DIRECTORY '/home/hadoop/exports/orion_summary'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
SELECT origin, SUM(quantity) AS total_quantity
FROM orion_manifest
GROUP BY origin;
EXIT;
Diese Hive-Abfrage wird eine Tabelle aus der Datei orion_manifest.csv
erstellen, die Daten verarbeiten und den Zusammenfassungsbericht im Verzeichnis /home/hadoop/exports/orion_summary
in HDFS speichern.
Exportieren Sie den Zusammenfassungsbericht aus HDFS in das lokale Dateisystem:
mkdir /home/hadoop/galactic_exports
hadoop fs -get /home/hadoop/exports/orion_summary/* /home/hadoop/galactic_exports/
Dieser Befehl wird ein Verzeichnis galactic_exports
im Verzeichnis /home/hadoop
erstellen und die Dateien aus dem Verzeichnis /home/hadoop/exports/orion_summary
in HDFS in das Verzeichnis galactic_exports
kopieren.
Als letztes laden Sie den Zusammenfassungsbericht an das Galaktische Handelsnetzwerk hoch, indem Sie den Befehl scp
verwenden:
scp /home/hadoop/galactic_exports/* localhost:/home/hadoop/incoming/reports/
Dieser Befehl kopiert die Dateien sicher aus dem Verzeichnis galactic_exports
in das Verzeichnis /incoming/reports/
auf dem localhost
-Server, wodurch der Zusammenfassungsbericht für alle Mitgliedsysteme des Galaktischen Handelsnetzwerks verfügbar ist. In der Praxis können Sie localhost
durch einen realen Server ersetzen, z.B. trade.network.com
.