Введение
В футуристическом мире, где данные царят над всем, проводится грандиозный турнир, чтобы определить абсолютного мастера манипуляции данными. Участники из всех уголков галактики собираются, чтобы показать свои навыки в искусстве обработки данных, при этом самая сложная задача — это область Hadoop Hive Shell.
Вы, перспективный инженер данных, были выбраны, чтобы представить свою родную планету на этом престижном мероприятии. Когда вы входите в арену, вас приветствует решающий вид главного судьи турнира: «Добро пожаловать, Challenger! В этой решающей битве вы должны завоевать глубины Hive Shell, мощный инструмент, который позволяет взаимодействовать с системой данных Hadoop. Докажите свою стойкость, выполнив серию задач, которые будут проверять вашу компетентность в запросах, манипуляциях и анализе данных».
С твёрдым кивком вы готовитесь к испытаниям, которые ждут вас впереди, жаждете показать свои навыки и принести честь своей планете.
Доступ к Hive Shell
В этом разделе вы узнаете, как получить доступ к Hive Shell, командной строке, которая позволяет взаимодействовать с системой данных Hive.
Для доступа к Hive Shell выполните следующие шаги:
- Откройте окно терминала.
- Переключитесь на пользователя
hadoop, выполнив следующую команду:
su - hadoop
- Когда вы окажетесь в окружении пользователя
hadoop, запустите Hive Shell, выполнив следующую команду:
hive
Вы должны увидеть приглашение Hive Shell (hive>), что означает, что вы успешно вошли в Hive Shell.
Вот пример того, что вы должны увидеть в терминале:
[hadoop@localhost ~]$ hive
Hive Session ID = 2bd4d0ce-9a9a-4c4e-a8f4-c5a6c7b9a8b9
Logging initialized using configuration in file:/etc/hive/conf.dist/hive-log4j2.properties Async: true
Hive Session Value Manager Service
hive>
Теперь вы готовы начать выполнять запросы и команды Hive в Hive Shell.
Создание базы данных и таблицы
В этом разделе вы узнаете, как создать новую базу данных и таблицу в Hive Shell.
- Сначала создайте новую базу данных с именем
tournament_db, выполнив следующую команду в Hive Shell:
CREATE DATABASE tournament_db;
- Затем переключитесь на новосозданную базу данных:
USE tournament_db;
- Создайте новую таблицу с именем
contestantsс следующей схемой:
CREATE TABLE contestants (
id INT,
name STRING,
planet STRING,
score INT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';
В этой таблице будут храниться сведения о участниках турнира, включая их идентификатор, имя, родную планету и результат.
- Чтобы проверить, была ли таблица создана успешно, вы можете выполнить следующую команду, чтобы описать схему таблицы:
DESCRIBE contestants;
В выводе Hive Shell должно отображаться схема таблицы.
Вот пример того, что вы должны увидеть:
hive> DESCRIBE contestants;
OK
id int None
name string None
planet string None
score int None
Загрузка данных в таблицу
Теперь, когда вы создали таблицу contestants, настало время заполнить ее данными.
- Создайте новый файл с именем
contestants.csvв директории/home/hadoop/с следующим содержимым:
1,Zara,Andromeda,85
2,Brock,Celestia,92
3,Kira,Nebula,78
4,Tara,Vega,96
5,Zion,Altair,83
- Затем переключитесь на новосозданную базу данных:
USE tournament_db;
- Загрузите данные из файла
contestants.csvв таблицуcontestantsс использованием следующей команды в Hive Shell:
LOAD DATA LOCAL INPATH '/home/hadoop/contestants.csv' OVERWRITE INTO TABLE contestants;
Эта команда загрузит данные из локального файла contestants.csv в таблицу contestants, перезаписав любые существующие данные.
- Чтобы проверить, были ли данные загружены правильно, вы можете выполнить запрос
SELECT:
SELECT * FROM contestants;
Вам должно показаться следующий вывод:
hive> SELECT * FROM contestants;
OK
1 Zara Andromeda 85
2 Brock Celestia 92
3 Kira Nebula 78
4 Tara Vega 96
5 Zion Altair 83
Запросы к данным
Теперь, когда данные загружены в таблицу contestants, вы можете выполнять различные запросы для анализа и манипуляции данными.
- Чтобы отобразить имена и результаты всех участников из планеты 'Andromeda', выполните следующий запрос:
SELECT name, score FROM contestants WHERE planet = 'Andromeda';
Вам должно показаться следующее значение:
hive> SELECT name, score FROM contestants WHERE planet = 'Andromeda';
OK
Zara 85
- Чтобы вычислить средний результат всех участников, выполните следующий запрос:
SELECT AVG(score) AS average_score FROM contestants;
Вам должно показаться следующее значение:
hive> SELECT AVG(score) AS average_score FROM contestants;
OK
86.8
- Чтобы найти участника с наивысшим результатом, выполните следующий запрос:
SELECT name, MAX(score) AS highest_score FROM contestants GROUP BY name;
Вам должно показаться следующее значение:
hive> SELECT name, MAX(score) AS highest_score FROM contestants GROUP BY name;
OK
Brock 92
Kira 78
Tara 96
Zara 85
Zion 83
Не стесняйтесь экспериментировать с более сложными запросами и изучать данные в таблице contestants с использованием различных предложений и функций, предоставляемых Hive.
Резюме
В этом практическом занятии вы познакомились с Hadoop Hive Shell, мощным инструментом для манипуляции данными и их анализа. С помощью серии увлекательных задач вы овладели навыками доступа к Hive Shell, создания баз данных и таблиц, загрузки данных и выполнения запросов к ним с использованием различных предложений и функций.
Концепция практического занятия, вдохновлённая футуристическим турниром, была направлена на создание увлекательного и мотивирующего опыта обучения. Представляя собой участника турнира от своей планеты, вы стремились к успеху в каждой задаче, закрепляя свои навыки и демонстрируя мастерство в управлении данными.
Во время практического занятия вы выполняли ручные задачи, которые требовали выполнения команд, написания запросов и анализа результатов. Пошаговые инструкции, сопровождаемые примерами кода и детальными объяснениями, обеспечили гладкую кривую обучения, позволяя постепенно наращивать свои знания и уверенность.
Включение проверочных скриптов в конце каждого шага предоставило возможность自我评价,позволяя проверить свое понимание и убедиться, что задачи были успешно выполнены. Эти проверки сыграли важную роль в закреплении вашего обучения и обеспечении правильности ваших действий.
В целом, это практическое занятие не только предоставило вам необходимые базовые навыки работы с Hadoop Hive Shell, но и вдохновило вас на оценку мощности манипуляции данными и анализа в увлекательной и погружательной форме.



