Mars-Data-Erforschung mit Hadoop

HadoopHadoopBeginner
Jetzt üben

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

Einführung

Im Jahr 2150 sind die Ressourcen der Erde erschöpft, und die Menschheit hat eine blühende Metropole auf dem Mars errichtet, die als Martropolis bekannt ist. Als Umweltschutzbeamter*in ist deine Aufgabe, die Nachhaltigkeit dieser zukunftsträchtigen Stadt sicherzustellen, indem du die Ressourcennutzung analysierst und optimierst. Eine deiner Hauptverantwortlichkeiten ist es, die Macht von Hadoop und Hive zu nutzen, um riesige Mengen an Umwelt-Daten zu verarbeiten und zu analysieren, was deinen Entscheidungsprozess leiten wird.

Dein Ziel ist es, die Hive-Datenbank zu erkunden, ihre Struktur zu untersuchen und Einblicke in die darin enthaltenen Daten zu gewinnen. Indem du die Kunst des Beschreibens von Tabellen in Hive beherrschst, wirst du die Geheimnisse enthüllen, die in den Daten verborgen sind, was es dir ermöglicht, informierte Entscheidungen zu treffen, die die Zukunft von Martropolis prägen und ihre empfindliche Ökosystem schützen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop/HadoopHiveGroup -.-> hadoop/hive_setup("Hive Setup") hadoop/HadoopHiveGroup -.-> hadoop/hive_shell("Hive Shell") hadoop/HadoopHiveGroup -.-> hadoop/manage_db("Managing Database") hadoop/HadoopHiveGroup -.-> hadoop/describe_tables("Describing Tables") hadoop/HadoopHiveGroup -.-> hadoop/basic_hiveql("Basic HiveQL Queries") hadoop/HadoopHiveGroup -.-> hadoop/storage_formats("Choosing Storage Formats") hadoop/HadoopHiveGroup -.-> hadoop/partitions_buckets("Implementing Partitions and Buckets") hadoop/HadoopHiveGroup -.-> hadoop/schema_design("Schema Design") subgraph Lab Skills hadoop/hive_setup -.-> lab-288966{{"Mars-Data-Erforschung mit Hadoop"}} hadoop/hive_shell -.-> lab-288966{{"Mars-Data-Erforschung mit Hadoop"}} hadoop/manage_db -.-> lab-288966{{"Mars-Data-Erforschung mit Hadoop"}} hadoop/describe_tables -.-> lab-288966{{"Mars-Data-Erforschung mit Hadoop"}} hadoop/basic_hiveql -.-> lab-288966{{"Mars-Data-Erforschung mit Hadoop"}} hadoop/storage_formats -.-> lab-288966{{"Mars-Data-Erforschung mit Hadoop"}} hadoop/partitions_buckets -.-> lab-288966{{"Mars-Data-Erforschung mit Hadoop"}} hadoop/schema_design -.-> lab-288966{{"Mars-Data-Erforschung mit Hadoop"}} end

Verbinde dich mit Hive und liste die verfügbaren Datenbanken auf

In diesem Schritt lernst du, wie du dich mit der Hive-Umgebung verbindest und die verfügbaren Datenbanken aufzählst.

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

su - hadoop

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

hive

Sobald du in der Hive-Shell bist, kannst du den Befehl SHOW DATABASES verwenden, um alle verfügbaren Datenbanken aufzulisten.

SHOW DATABASES;

Dieser Befehl wird eine Liste der Datenbanken anzeigen, einschließlich der Standarddatenbank.
Beispielausgabe:

hive> SHOW DATABASES;
OK
default
martropolis
Time taken: 0.528 seconds, Fetched: 2 row(s)

Wechsel zu der Datenbank'martropolis'

In diesem Schritt wechselst du zur Datenbank martropolis, die die Tabellen enthält, die für deine Mission relevant sind.

USE martropolis;

Nach der Ausführung dieses Befehls arbeitest du innerhalb der Datenbank martropolis.

Tipp: martropolis wurde automatisch vom System als Beispiel-Datenbank für diesen Lab erstellt.

Liste die Tabellen in der Datenbank'martropolis' auf

Jetzt, da du in der Datenbank martropolis bist, kannst du alle darin enthaltenen Tabellen mit dem Befehl SHOW TABLES auflisten.

SHOW TABLES;

Dieser Befehl wird eine Liste der in der Datenbank martropolis verfügbaren Tabellen anzeigen.
Beispielausgabe:

hive> SHOW TABLES;
OK
sensor_data
Time taken: 0.028 seconds, Fetched: 1 row(s)

Beschreibe die Struktur einer Tabelle

Um die Struktur einer Tabelle zu verstehen, kannst du den Befehl DESCRIBE gefolgt vom Tabellennamen verwenden.

DESCRIBE sensor_data;

Dieser Befehl wird detaillierte Informationen über die Spalten der Tabelle liefern, einschließlich Spaltennamen, Datentypen und jeglicher zusätzlichen Metadaten.
Beispielausgabe:

hive> DESCRIBE sensor_data;
OK
sensor_id               int
sensor_name             string
reading                 double
dt                      string

## Partition Information
## col_name              data_type               comment
dt                      string
Time taken: 0.154 seconds, Fetched: 8 row(s)

Erkunde Tabellen-Eigenschaften

Neben der Tabellenstruktur kannst du auch die Eigenschaften einer Tabelle mit dem Befehl DESCRIBE EXTENDED erkunden.

DESCRIBE EXTENDED sensor_data;

Dieser Befehl liefert detailliertere Informationen über die Tabelle, einschließlich ihrer Eigenschaften wie dem Tabellentyp, den Eingabe- und Ausgabeformaten, der Speicherort und jeglicher anderen relevanten Metadaten.
Beispielausgabe:

hive> DESCRIBE EXTENDED sensor_data;
OK
sensor_id               int
sensor_name             string
reading                 double
dt                      string

## Partition Information
## col_name              data_type               comment
dt                      string

Detailed Table Information      Table(tableName:sensor_data, dbName:martropolis, owner:hadoop, createTime:1711106250, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:sensor_id, type:int, comment:null), FieldSchema(name:sensor_name, type:string, comment:null), FieldSchema(name:reading, type:double, comment:null), FieldSchema(name:dt, type:string, comment:null)], location:hdfs://localhost:9000/user/hive/warehouse/martropolis.db/sensor_data, inputFormat:org.apache.hadoop.mapred.TextInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parameters:{serialization.format=1}), bucketCols:[], sortCols:[], parameters:{}, skewedInfo:SkewedInfo(skewedColNames:[], skewedColValues:[], skewedColValueLocationMaps:{}), storedAsSubDirectories:false), partitionKeys:[FieldSchema(name:dt, type:string, comment:null)], parameters:{totalSize=49, numRows=2, rawDataSize=47, COLUMN_STATS_ACCURATE={\"BASIC_STATS\":\"true\"}, numFiles=1, numPartitions=1, transient_lastDdlTime=1711106250, bucketing_version=2}, viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE, rewriteEnabled:false, catName:hive, ownerType:USER)
Time taken: 0.367 seconds, Fetched: 10 row(s)

Analysiere Tabellen-Partitionen (Optional)

Wenn deine Tabellen partitioniert sind, kannst du den Befehl SHOW PARTITIONS verwenden, um die Partitionen einer bestimmten Tabelle anzuzeigen.

SHOW PARTITIONS sensor_data;

Dieser Befehl wird eine Liste der Partitionen für die angegebene Tabelle zusammen mit ihren entsprechenden Partitionswerten anzeigen.
Beispielausgabe:

hive> SHOW PARTITIONS sensor_data;
OK
dt=2023-05-01
Time taken: 0.099 seconds, Fetched: 1 row(s)

Zusammenfassung

In diesem Lab hast du gelernt, wie du die Hive-Umgebung navigierst, zwischen Datenbanken umschaltest, Tabellen auflistest und die Struktur und Eigenschaften von Tabellen beschreibst. Indem du diese grundlegenden Fähigkeiten beherrschst, hast du den ersten Schritt unternommen, um die wertvollen Erkenntnisse zu entlocken, die in den Umwelt-Daten von Martropolis verborgen sind.

Durch praktische Erfahrungen hast du ein tieferes Verständnis der Befehle SHOW DATABASES, USE, SHOW TABLES, DESCRIBE, DESCRIBE EXTENDED und SHOW PARTITIONS gewonnen. Diese Befehle sind essentielle Werkzeuge für die Exploration und das Verständnis der Datenorganisation in Hive und ermöglichen es dir, informierte Entscheidungen zu treffen, die die Zukunft von Martropolis gestalten und seine empfindliche Ökosystem schützen werden.