Kosmische Hive-Integration Reise

HadoopHadoopBeginner
Jetzt üben

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

Einführung

In einer fernen Galaxie befindet sich eine fremdartige Forschungsbasis, die sich der Untersuchung der Geheimnisse des Universums widmet. Eine der leitenden Forscherinnen, die Xenobiologin Zara, hat die Aufgabe, riesige Mengen an Daten zu analysieren, die von verschiedenen Himmelskörpern gesammelt wurden. Die enorme Menge und Komplexität der Daten haben es jedoch schwierig gemacht, sie mit traditionellen Methoden zu verarbeiten und wertvolle Erkenntnisse zu extrahieren.

Zaras Ziel ist es, die Macht von Hadoop Hive, einem leistungsstarken Datenlagerungstool, zu nutzen, um die astronomischen Daten effizient zu speichern, zu verarbeiten und zu analysieren. Indem sie Hive auf dem Hadoop-Cluster der Basis einrichtet, hofft sie, verborgene Muster und Beziehungen aufzudecken, die Aufschluss über die Entstehung und Evolution von Himmelskörpern geben könnten und so letztendlich unser Verständnis des Kosmos vorantreiben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop/HadoopHDFSGroup -.-> hadoop/hdfs_setup("HDFS Setup") hadoop/HadoopHiveGroup -.-> hadoop/hive_setup("Hive Setup") hadoop/HadoopHiveGroup -.-> hadoop/hive_shell("Hive Shell") hadoop/HadoopHiveGroup -.-> hadoop/manage_db("Managing Database") hadoop/HadoopHiveGroup -.-> hadoop/create_tables("Creating Tables") hadoop/HadoopHiveGroup -.-> hadoop/load_insert_data("Loading and Inserting Data") hadoop/HadoopHiveGroup -.-> hadoop/basic_hiveql("Basic HiveQL Queries") hadoop/HadoopHiveGroup -.-> hadoop/where("where Usage") subgraph Lab Skills hadoop/hdfs_setup -.-> lab-288977{{"Kosmische Hive-Integration Reise"}} hadoop/hive_setup -.-> lab-288977{{"Kosmische Hive-Integration Reise"}} hadoop/hive_shell -.-> lab-288977{{"Kosmische Hive-Integration Reise"}} hadoop/manage_db -.-> lab-288977{{"Kosmische Hive-Integration Reise"}} hadoop/create_tables -.-> lab-288977{{"Kosmische Hive-Integration Reise"}} hadoop/load_insert_data -.-> lab-288977{{"Kosmische Hive-Integration Reise"}} hadoop/basic_hiveql -.-> lab-288977{{"Kosmische Hive-Integration Reise"}} hadoop/where -.-> lab-288977{{"Kosmische Hive-Integration Reise"}} end

Installation von Hive

In diesem Schritt installieren wir Apache Hive auf unserem Hadoop-Cluster, was uns ermöglichen wird, die astronomischen Daten mit SQL-ähnlichen Abfragen zu verarbeiten und zu analysieren.

Stellen Sie zunächst die hadoop-Benutzerumgebung her, indem Sie folgenden Befehl in der Konsole ausführen:

su - hadoop

Laden Sie dann die neueste stabile Version von Apache Hive von der offiziellen Website herunter:

wget https://downloads.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz

Entpacken Sie das heruntergeladene Archiv:

tar -xzf apache-hive-3.1.3-bin.tar.gz

Leiten Sie anschließend die HIVE_HOME-Umgebungsvariable ein, indem Sie die folgende Zeile zur ~/.bashrc-Datei hinzufügen:

echo 'export HIVE_HOME=/home/hadoop/apache-hive-3.1.3-bin' >> ~/.bashrc
export HIVE_HOME=/home/hadoop/apache-hive-3.1.3-bin

Konfigurieren Sie Hive, um mit dem Hadoop-Cluster zu arbeiten, indem Sie eine hive-site.xml-Datei im $HIVE_HOME/conf-Verzeichnis mit dem folgenden Inhalt erstellen:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:derby:;databaseName=/home/hadoop/metastore_db;create=true</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>org.apache.derby.jdbc.EmbeddedDriver</value>
  </property>
  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
  </property>
</configuration>

Diese Konfigurationsdatei konfiguriert den Hive-Metastore, der die Metadaten für die Hive-Tabellen und -Partitionen speichert.

Initialisieren Sie abschließend die Metabase mit dem folgenden Befehl:

$HIVE_HOME/bin/schematool -dbType derby -initSchema

Erstellen einer Hive-Tabelle

In diesem Schritt erstellen wir eine Hive-Tabelle, um die astronomischen Daten zu speichern, die von verschiedenen Himmelskörpern gesammelt wurden.

  1. Starten Sie die Hive-Shell, indem Sie folgenden Befehl ausführen:
$HIVE_HOME/bin/hive
  1. Erstellen Sie eine neue Datenbank namens astronomy:
CREATE DATABASE astronomy;
  1. Verwenden Sie die Datenbank astronomy:
USE astronomy;
  1. Erstellen Sie eine neue Tabelle namens celestial_bodies mit dem folgenden Schema:
CREATE TABLE celestial_bodies (
  id INT,
  name STRING,
  type STRING,
  distance DOUBLE,
  mass DOUBLE,
  radius DOUBLE
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;

Diese Tabelle wird Informationen zu verschiedenen Himmelskörpern speichern, einschließlich ihrer ID, ihres Namens, ihres Typs (z.B. Stern, Planet, Asteroid), der Entfernung zur Erde, ihrer Masse und ihres Radius.

  1. Laden Sie einige Beispiel-Daten in die Tabelle celestial_bodies aus einer lokalen Datei:
LOAD DATA LOCAL INPATH '/home/hadoop/celestial_data.csv' OVERWRITE INTO TABLE celestial_bodies;

Tipps: Ein Simulationsfile namens celestial_data.csv existiert bereits auf dem Pfad /home/hadoop/

  1. Beenden Sie die Hive-Shell:
EXIT;

Abfragen der Hive-Tabelle

In diesem Schritt führen wir einige SQL-ähnliche Abfragen auf der Tabelle celestial_bodies aus, um die astronomischen Daten zu analysieren.

  1. Starten Sie die Hive-Shell, wenn sie nicht bereits läuft:
$HIVE_HOME/bin/hive
  1. Verwenden Sie die Datenbank astronomy:
USE astronomy;
  1. Ermitteln Sie die Anzahl der Himmelskörper in der Tabelle:
SELECT COUNT(*) FROM celestial_bodies;
  1. Finden Sie die Himmelskörper mit einer Masse größer als 1,0:
SELECT name, type, mass FROM celestial_bodies WHERE mass > 1.0;
  1. Ermitteln Sie die durchschnittliche Entfernung der Planeten zur Erde:
SELECT AVG(distance) FROM celestial_bodies WHERE type = 'Planet';
  1. Beenden Sie die Hive-Shell:
EXIT;

Experimentieren Sie gerne mit weiteren Abfragen, basierend auf Ihren Analyseanforderungen.

Zusammenfassung

In diesem Lab haben wir den Prozess der Einrichtung von Apache Hive auf einem Hadoop-Cluster und dessen Verwendung zur Speicherung und Analyse von astronomischen Daten untersucht. Wir haben gelernt, wie man Hive installiert, eine Hive-Datenbank und -Tabelle erstellt, Daten in die Tabelle lädt und SQL-ähnliche Abfragen ausführt, um wertvolle Erkenntnisse aus den Daten zu extrahieren.

Durch die Nutzung der Macht von Hive kann die Xenobiologin Zara jetzt die riesigen Mengen an Himmelskörperdaten effizient verarbeiten und analysieren, die von der fremdartigen Forschungsbasis gesammelt wurden. Die Fähigkeit, komplexe Abfragen und Aggregationen auf diesen Daten durchzuführen, wird es ihr ermöglichen, verborgene Muster und Beziehungen aufzudecken, was möglicherweise zu bahnbrechenden Entdeckungen über die Entstehung und Evolution von Himmelskörpern führt.

Dieses Lab hat nicht nur praktische Erfahrungen mit der Hive-Einrichtung und -Datenanalyse vermittelt, sondern auch die Vielseitigkeit und Skalierbarkeit der Hadoop-Ekosysteme bei der Bearbeitung von großen Datenverarbeitungsaufgaben hervorgehoben. Wenn wir weiterhin die Geheimnisse des Universums erkunden, werden Tools wie Hive eine entscheidende Rolle bei der Entdeckung der Geheimnisse spielen, die in der riesigen Menge an Himmelsdaten verborgen sind.