Оптимизация ресурсов космоса с использованием Hadoop

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

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

Введение

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop/HadoopHDFSGroup -.-> hadoop/fs_mkdir("FS Shell mkdir") hadoop/HadoopHiveGroup -.-> hadoop/manage_db("Managing Database") hadoop/HadoopHiveGroup -.-> hadoop/create_tables("Creating Tables") hadoop/HadoopHiveGroup -.-> hadoop/load_insert_data("Loading and Inserting Data") hadoop/HadoopHiveGroup -.-> hadoop/basic_hiveql("Basic HiveQL Queries") hadoop/HadoopHiveGroup -.-> hadoop/sort_by("sort by Usage") hadoop/HadoopHiveGroup -.-> hadoop/storage_formats("Choosing Storage Formats") subgraph Lab Skills hadoop/fs_mkdir -.-> lab-288998{{"Оптимизация ресурсов космоса с использованием Hadoop"}} hadoop/manage_db -.-> lab-288998{{"Оптимизация ресурсов космоса с использованием Hadoop"}} hadoop/create_tables -.-> lab-288998{{"Оптимизация ресурсов космоса с использованием Hadoop"}} hadoop/load_insert_data -.-> lab-288998{{"Оптимизация ресурсов космоса с использованием Hadoop"}} hadoop/basic_hiveql -.-> lab-288998{{"Оптимизация ресурсов космоса с использованием Hadoop"}} hadoop/sort_by -.-> lab-288998{{"Оптимизация ресурсов космоса с использованием Hadoop"}} hadoop/storage_formats -.-> lab-288998{{"Оптимизация ресурсов космоса с использованием Hadoop"}} end

Настройка среды

В этом шаге мы настроим среду для нашего проекта Hadoop и создадим примерный набор данных.

  1. Откройте терминал и переключитесь на пользователя hadoop, выполнив следующую команду:
su - hadoop
  1. Создайте новую директорию с именем sorting_lab в директории /home/hadoop:
mkdir /home/hadoop/sorting_lab
  1. Перейдите в директорию sorting_lab:
cd /home/hadoop/sorting_lab
  1. Создайте примерный набор данных, выполнив следующую команду:
echo -e "apple\t5\nbanana\t3\norange\t7\ngrape\t2\nstrawberry\t6" > fruit_sales.txt

Эта команда создает файл с именем fruit_sales.txt со следующим содержанием:

apple   5
banana  3
orange  7
grape   2
strawberry  6

Каждая строка в файле представляет фрукт и количество его продаж, разделенных табуляцией.

Загрузка данных в Hive

В этом шаге мы создадим таблицу в Hive и загрузим в нее примерный набор данных.

  1. Запустите Hive shell, выполнив следующую команду:
hive
  1. Создайте новую базу данных с именем sorting_db:
CREATE DATABASE sorting_db;
  1. Используйте базу данных sorting_db:
USE sorting_db;
  1. Создайте новую таблицу с именем fruit_sales с двумя столбцами: fruit (строка) и count (целое число):
CREATE TABLE fruit_sales (fruit STRING, count INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
  1. Загрузите файл fruit_sales.txt в таблицу fruit_sales:
LOAD DATA LOCAL INPATH '/home/hadoop/sorting_lab/fruit_sales.txt' OVERWRITE INTO TABLE fruit_sales;
  1. Проверьте, были ли данные загружены правильно, выполнив запрос SELECT:
SELECT * FROM fruit_sales;

В результате должны быть выведены следующие данные:

apple   5
banana  3
orange  7
grape   2
strawberry  6
  1. Выйдите из Hive shell, выполнив следующую команду:
quit;

Сортировка данных по использованию

В этом шаге мы отсортируем таблицу fruit_sales по столбцу count в порядке убывания с использованием предложения ORDER BY в Hive.

  1. Запустите Hive shell, выполнив следующую команду:
hive
  1. Используйте базу данных sorting_db:
USE sorting_db;
  1. Выполните следующий запрос, чтобы отсортировать таблицу fruit_sales по столбцу count в порядке убывания:
CREATE TABLE result AS
SELECT * FROM fruit_sales ORDER BY count DESC;
SELECT * FROM result;

В результате должны быть выведены следующие данные:

orange  7
strawberry  6
apple   5
banana  3
grape   2
  1. Выйдите из Hive shell, выполнив следующую команду:
quit;

Резюме

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

Практическое занятие дало возможность получить hands-on опыт работы с Hive и показало, как сортировать данные по паттернам использования. Освоив этот навык, вы сможете эффективно анализировать и оптимизировать распределение ресурсов в различных сценариях, таких как Международная Торговая Станция.

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