Экспедиция по данным в Hadoop Hive

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

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

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

Создание базы данных

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

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

su - hadoop

После входа в среду пользователя hadoop перейдите в директорию /home/hadoop:

cd /home/hadoop

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

hive

Внутри Hive - shell создайте новую базу данных с именем xylonia_colony с использованием следующего SQL - выражения:

CREATE DATABASE xylonia_colony;

Для проверки успешного создания базы данных вы можете перечислить все доступные базы данных с использованием следующей команды:

SHOW DATABASES;

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

Создание таблицы

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

Во - первых, убедитесь, что вы находитесь в Hive - shell. Если нет, запустите его, выполнив следующую команду:

hive

Переключитесь на базу данных xylonia_colony с использованием следующей команды:

USE xylonia_colony;

Создайте новую таблицу с именем resources с такими столбцами: resource_id (INT), resource_name (STRING), quantity (DOUBLE) и unit (STRING). Используйте следующее SQL - выражение:

CREATE TABLE resources (
    resource_id INT,
    resource_name STRING,
    quantity DOUBLE,
    unit STRING
);

Для проверки успешного создания таблицы перечислите все таблицы в базе данных xylonia_colony с использованием следующей команды:

SHOW TABLES;

В этом списке должна быть отображена таблица resources.

Вставка данных

В этом шаге вы узнаете, как вставить данные в таблицу resources, которую вы создали на предыдущем шаге.

Во - первых, убедитесь, что вы находитесь в Hive - shell. Если нет, запустите его, выполнив следующую команду:

hive

Переключитесь на базу данных xylonia_colony с использованием следующей команды:

USE xylonia_colony;

Вставьте несколько примеров данных в таблицу resources с использованием следующих SQL - выражений:

INSERT INTO resources VALUES (1, 'Oxygen', 500.0, 'Tons');
INSERT INTO resources VALUES (2, 'Water', 1000.0, 'Gallons');
INSERT INTO resources VALUES (3, 'Food', 200.0, 'Tons');

Для проверки успешной вставки данных запросите таблицу resources с использованием следующей команды:

SELECT * FROM resources;

В этом запросе должны быть отображены три строки данных, которые вы вставили.

Запросы к данным

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

Во - первых, убедитесь, что вы находитесь в Hive - shell. Если нет, запустите его, выполнив следующую команду:

hive

Переключитесь на базу данных xylonia_colony с использованием следующей команды:

USE xylonia_colony;

Выполните запрос к таблице resources, чтобы получить все ресурсы, у которых количество больше 500:

SELECT * FROM resources WHERE quantity > 500;

В этом запросе должны быть отображены строки, в которых значение столбца quantity больше 500.

Вы также можете выполнять агрегатные функции, такие как SUM или AVG, над данными. Например, вычислите общую сумму количества всех ресурсов:

SELECT SUM(quantity) AS total_quantity FROM resources;

В этом запросе будет отображена сумма всех значений столбца quantity в таблице resources.

Создание партиционированной таблицы

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

Во - первых, убедитесь, что вы находитесь в Hive - shell. Если нет, запустите его, выполнив следующую команду:

hive

Переключитесь на базу данных xylonia_colony с использованием следующей команды:

USE xylonia_colony;

Создайте новую партиционированную таблицу с именем sensor_data с столбцами sensor_id (INT), sensor_name (STRING), reading (DOUBLE) и партиционированную по dt (STRING):

CREATE TABLE sensor_data (
    sensor_id INT,
    sensor_name STRING,
    reading DOUBLE
)
PARTITIONED BY (dt STRING);

Для вставки данных в партиционированную таблицу вам необходимо указать значение ключа партиции вместе с значениями столбцов. Например:

INSERT INTO sensor_data PARTITION (dt='2023-05-01')
VALUES (1, 'Temperature Sensor', 25.5), (2, 'Humidity Sensor', 60.0);

В этом запросе в таблицу sensor_data вставляются две строки данных, партиционированные по dt равному 2023-05-01.

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

SELECT * FROM sensor_data WHERE dt='2023-05-01';

В этом запросе будет сканироваться только партиция, соответствующая 2023-05-01, что потенциально повышает производительность запросов.

Резюме

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

Благодаря этому практическому опыту вы приобрели навыки в управлении репозиториями данных с использованием Hadoop Hive, важного компонента в передовых системах управления данными Blaxters. Освоив эти техники, вы сделали важный шаг в поддержке научных исследований, управления ресурсами и стратегического планирования колонии Xylonian.