Обнаружение данных Марса с использованием Hadoop

HadoopBeginner
Практиковаться сейчас

Введение

В 2150 году ресурсы Земли были истощены, и человечество основало процветающий мегаполис на Марсе, называемый Мартрополисом. В качестве сотрудника по охране окружающей среды ваша миссия - обеспечить устойчивость этого футуристического города, анализируя и оптимизируя использование ресурсов. Одной из ваших основных обязанностей является использование мощности Hadoop и Hive для обработки и анализа огромных объемов экологических данных, которые будут guida вашим процессом принятия решений.

Ваша цель - исследовать базу данных Hive, изучить ее структуру и получить представление о данных, которые она содержит. Освоив искусство описания таблиц в Hive, вы раскроете секреты, скрытые в данных, что позволит вам принимать обоснованные решения, которые будут определять будущее Мартрополиса и защищать его нежный экосистему.

Подключитесь к Hive и выведите список доступных баз данных

В этом шаге вы узнаете, как подключиться к среде Hive и вывести список доступных баз данных.

Во - первых, убедитесь, что вы вошли под пользователем hadoop, выполнив следующую команду в терминале:

su - hadoop

Теперь запустите Hive - shell, выполнив следующую команду:

hive

После того, как вы в Hive - shell, вы можете использовать команду SHOW DATABASES, чтобы вывести список всех доступных баз данных.

SHOW DATABASES;

Эта команда выведет список баз данных, включая базу данных по умолчанию. Пример вывода:

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

Переключитесь на базу данных'martropolis'

В этом шаге вы переключитесь на базу данных martropolis, которая содержит таблицы, связанные с вашей миссией.

USE martropolis;

После выполнения этой команды вы будете работать внутри базы данных martropolis.

Совет: martropolis автоматически создана системой в качестве образцовой базы данных для этой лабораторной работы.

Выведите список таблиц в базе данных'martropolis'

Теперь, когда вы в базе данных martropolis, вы можете вывести список всех таблиц, которые она содержит, с помощью команды SHOW TABLES.

SHOW TABLES;

Эта команда выведет список таблиц, доступных в базе данных martropolis. Пример вывода:

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

Опишите структуру таблицы

Для понимания структуры таблицы вы можете использовать команду DESCRIBE, за которой следует имя таблицы.

DESCRIBE sensor_data;

Эта команда предоставит подробную информацию о столбцах таблицы, включая имена столбцов, типы данных и любые дополнительные метаданные. Пример вывода:

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)

Изучите свойства таблицы

Кроме структуры таблицы, вы также можете изучить свойства таблицы с помощью команды DESCRIBE EXTENDED.

DESCRIBE EXTENDED sensor_data;

Эта команда предоставит более подробную информацию о таблице, включая ее свойства, такие как тип таблицы, форматы ввода и вывода, расположение и любые другие соответствующие метаданные. Пример вывода:

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)

Анализируйте разделы таблицы (необязательно)

Если ваши таблицы разделены, вы можете использовать команду SHOW PARTITIONS, чтобы просмотреть разделы определенной таблицы.

SHOW PARTITIONS sensor_data;

Эта команда выведет список разделов для указанной таблицы, а также соответствующие значения разделов. Пример вывода:

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

Резюме

В этом практическом занятии вы узнали, как перемещаться по среде Hive, переключаться между базами данных, выводить список таблиц и описывать структуру и свойства таблиц. Освоив эти фундаментальные навыки, вы сделали первый шаг к раскрытию ценных инсайтов, скрытых в окружающей среде данных Martropolis.

С помощью практического опыта вы приобрели более глубокое понимание команд SHOW DATABASES, USE, SHOW TABLES, DESCRIBE, DESCRIBE EXTENDED и SHOW PARTITIONS. Эти команды являются важными инструментами для исследования и понимания организации данных в Hive, позволяя вам принимать обоснованные решения, которые будут определять будущее Martropolis и защищать его восприимчивый экосистему.