Мастерство в управлении данными в арене Hive

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

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

Введение

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

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

С твёрдым кивком вы готовитесь к испытаниям, которые ждут вас впереди, жаждете показать свои навыки и принести честь своей планете.


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/create_tables("Creating Tables") hadoop/HadoopHiveGroup -.-> hadoop/describe_tables("Describing 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") hadoop/HadoopHiveGroup -.-> hadoop/group_by("group by Usage") subgraph Lab Skills hadoop/hive_setup -.-> lab-288978{{"Мастерство в управлении данными в арене Hive"}} hadoop/hive_shell -.-> lab-288978{{"Мастерство в управлении данными в арене Hive"}} hadoop/manage_db -.-> lab-288978{{"Мастерство в управлении данными в арене Hive"}} hadoop/create_tables -.-> lab-288978{{"Мастерство в управлении данными в арене Hive"}} hadoop/describe_tables -.-> lab-288978{{"Мастерство в управлении данными в арене Hive"}} hadoop/load_insert_data -.-> lab-288978{{"Мастерство в управлении данными в арене Hive"}} hadoop/basic_hiveql -.-> lab-288978{{"Мастерство в управлении данными в арене Hive"}} hadoop/where -.-> lab-288978{{"Мастерство в управлении данными в арене Hive"}} hadoop/group_by -.-> lab-288978{{"Мастерство в управлении данными в арене Hive"}} end

Доступ к Hive Shell

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

Для доступа к Hive Shell выполните следующие шаги:

  1. Откройте окно терминала.
  2. Переключитесь на пользователя hadoop, выполнив следующую команду:
su - hadoop
  1. Когда вы окажетесь в окружении пользователя 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.

  1. Сначала создайте новую базу данных с именем tournament_db, выполнив следующую команду в Hive Shell:
CREATE DATABASE tournament_db;
  1. Затем переключитесь на новосозданную базу данных:
USE tournament_db;
  1. Создайте новую таблицу с именем contestants с следующей схемой:
CREATE TABLE contestants (
  id INT,
  name STRING,
  planet STRING,
  score INT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';

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

  1. Чтобы проверить, была ли таблица создана успешно, вы можете выполнить следующую команду, чтобы описать схему таблицы:
DESCRIBE contestants;

В выводе Hive Shell должно отображаться схема таблицы.

Вот пример того, что вы должны увидеть:

hive> DESCRIBE contestants;
OK
id                   int                 None
name                 string               None
planet               string               None
score                int                  None

Загрузка данных в таблицу

Теперь, когда вы создали таблицу contestants, настало время заполнить ее данными.

  1. Создайте новый файл с именем contestants.csv в директории /home/hadoop/ с следующим содержимым:
1,Zara,Andromeda,85
2,Brock,Celestia,92
3,Kira,Nebula,78
4,Tara,Vega,96
5,Zion,Altair,83
  1. Затем переключитесь на новосозданную базу данных:
USE tournament_db;
  1. Загрузите данные из файла contestants.csv в таблицу contestants с использованием следующей команды в Hive Shell:
LOAD DATA LOCAL INPATH '/home/hadoop/contestants.csv' OVERWRITE INTO TABLE contestants;

Эта команда загрузит данные из локального файла contestants.csv в таблицу contestants, перезаписав любые существующие данные.

  1. Чтобы проверить, были ли данные загружены правильно, вы можете выполнить запрос 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, вы можете выполнять различные запросы для анализа и манипуляции данными.

  1. Чтобы отобразить имена и результаты всех участников из планеты 'Andromeda', выполните следующий запрос:
SELECT name, score FROM contestants WHERE planet = 'Andromeda';

Вам должно показаться следующее значение:

hive> SELECT name, score FROM contestants WHERE planet = 'Andromeda';
OK
Zara 85
  1. Чтобы вычислить средний результат всех участников, выполните следующий запрос:
SELECT AVG(score) AS average_score FROM contestants;

Вам должно показаться следующее значение:

hive> SELECT AVG(score) AS average_score FROM contestants;
OK
86.8
  1. Чтобы найти участника с наивысшим результатом, выполните следующий запрос:
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, но и вдохновило вас на оценку мощности манипуляции данными и анализа в увлекательной и погружательной форме.