Введение
В сердце пустынного засуха впустынной пустыни одинокий образ движется среди остатков давнего заброшенного города. Это царство художника разруин, видениящего, кто видит красоту в разложении и потенциал в забытом. Их цель — раскрыть скрытые истории в разруинах, вдохновив на жизньcrumbling структуры через их искусство.
Художник разруин наткнулся на сокровище древних данных, рассеянных по различным фрагментам бывшего величественного библиотеки. Чтобы понять этот богатый запас информации и привести порядок в хаос, они должны использовать силу Hadoop и его мощные возможности обработки данных, в частности, функциональность группировки в Hive.
Настройка среды
На этом этапе мы настроим среду и подготовим данные для анализа.
- Откройте терминал и переключитесь на пользователя
hadoop, выполнив следующую команду:
su - hadoop
- Перейдите в каталог
/home/hadoop:
cd /home/hadoop
- Создайте новый каталог с именем
ruin-data, чтобы хранить нашу выборку данных:
mkdir ruin-data
- Переместите пример выборки данных в каталог
ruin-data:
cp /tmp/ruin-dataset.txt ruin-data/
Эта выборка данных содержит информацию о различных артефактах, найденных в разруинах, включая их тип, расположение и состояние.
Изучение набора данных
На этом этапе мы загрузим набор данных в Hive и исследуем его структуру.
- Запустите Hive shell, выполнив следующую команду:
hive
- Создайте новую базу данных с именем
ruin_analysis:
CREATE DATABASE ruin_analysis;
- Используйте базу данных
ruin_analysis:
USE ruin_analysis;
- Создайте новую внешнюю таблицу с именем
artifacts, чтобы хранить данные из файлаruin-dataset.txt:
CREATE EXTERNAL TABLE artifacts (
artifact_id INT,
artifact_type STRING,
location STRING,
condition STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';
Эта команда создает новую таблицу с четырьмя столбцами: artifact_id, artifact_type, location и condition. Таблица настроена на чтение данных из файла ruin-dataset.txt, который представляет собой текстовый файл, разделенный запятыми, хранящийся в каталоге /home/hadoop/ruin-data. 5. Загрузите данные в таблицу artifacts:
LOAD DATA LOCAL INPATH '/home/hadoop/ruin-data/ruin-dataset.txt' INTO TABLE artifacts;
- Проверьте структуру таблицы, выполнив следующую команду:
DESCRIBE artifacts;
Это должно отобразить имена столбцов и их типы данных.
Группировка и агрегирование данных
На этом этапе мы будем использовать предложение GROUP BY для анализа данных об артефактах и выявления скрытых паттернов.
- В Hive shell выполните следующий запрос, чтобы подсчитать количество артефактов для каждого типа артефакта:
SELECT artifact_type, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type;
Этот запрос группирует данные по artifact_type и вычисляет количество артефактов для каждого типа с использованием функции COUNT(*).
- Чтобы найти наиболее распространенный тип артефакта, модифицируйте предыдущий запрос, добавив предложение
ORDER BY:
SELECT artifact_type, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type
ORDER BY artifact_count DESC
LIMIT 1;
Этот запрос сортирует результаты по artifact_count в порядке убывания и ограничивает вывод до первой строки, предоставляя нам тип артефакта с наибольшим количеством.
- Давайте проанализируем состояние артефактов в зависимости от их типа. Запустите следующий запрос:
SELECT artifact_type, condition, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type, condition
ORDER BY artifact_type, condition;
Этот запрос группирует данные по artifact_type и condition, подсчитывает количество артефактов для каждой комбинации и сортирует результаты по artifact_type и condition.
- Наконец, мы можем изучить распределение артефактов по разным местам, выполнив следующий запрос:
SELECT location, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY location
ORDER BY artifact_count DESC;
Этот запрос группирует данные по location и подсчитывает количество артефактов, найденных в каждом месте, отсортированных по убыванию artifact_count.
Резюме
В этом практическом занятии мы исследовали силу Hadoop и его функциональности GROUP BY в Hive для анализа набора данных об артефактах, найденных в древней разруине. Создав среду, загрузив данные в Hive и выполнив различные запросы с использованием GROUP BY, мы выявили ценные выводы, такие как наиболее распространенный тип артефакта, состояние артефактов в зависимости от их типа и распределение артефактов по разным местам.
Благодаря этому практическому опыту мы приобрели более глубокое понимание того, как можно использовать Hadoop и Hive для анализа данных и обнаружения паттернов, особенно при работе с большими и сложными наборами данных. Способность группировать и агрегировать данные является фундаментальным навыком в области больших данных, и это практическое занятие предоставило практическое введение в этот важный концепт.



