From e0232db9ebc3b27ce2cc00ee78ca7de99552c123 Mon Sep 17 00:00:00 2001 From: MokhovAS Date: Tue, 14 Nov 2023 15:33:08 +0000 Subject: [PATCH] lab03 --- labs/lab03.md | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 labs/lab03.md diff --git a/labs/lab03.md b/labs/lab03.md new file mode 100644 index 0000000..40486c1 --- /dev/null +++ b/labs/lab03.md @@ -0,0 +1,85 @@ + # Лабораторная работа №3. Знакомство с инструментами Pig и Hive + + + ## Цель + + * Научиться обрабатывать и проводить анализ данных с помощью инструметов Pig и Hive. + +## Выполнение + +Защита лабораторной работы подразумевает наличие отчета, который должен содержать пункты задания, команды, которые вы вводите и ответы системы на них. +При необходимости - комментарии по полученным результатам. + + +## Задание + +**Внимание**: В локальной папке `stud` создать папку `lab03`. Далее работы проводить в этой папке + + +### Знакомство с Pig + +1.1 Загрузить текстовый файл в соответствии с вариантом. + +1.2 В среде `grunt`, запущенной __локально__ реализовать алгоритм подсчета слов (word count). Результат должен быть уполрядочен по алфавиту + +1.3 Выполнить подсчет слов в текстовом файле, результат сохранить в файл. + +1.4 Модифицировать алгоритм, выводя только слова на первую букву вашей фамилии. + +1.5 Модифицировать алгоритм таким образом, чтобы после подсчета word_count и фильтрации по первой букве, + в качестве результата выдавалась сумма всех значений столбца `count' (сумма слов). + +1.6 Загрузить данные из текстового файла `user_visits.txt` о посещении пользователями сайтов в локальную папку. Познакомиться с данными. + +1.7 Загрузить данные из текстового файла `user_info.txt` с информацией о пользователях в локальную папку. Познакомиться с данными. + +1.8 Создать запрос, который выводит среднее время посещения всех сайтов пользователем с номером, совпададающим с вашим номером по журналу. Пояснить результат. +### Знакомство с Hive + + +2.1 В среде `Hive` создать таблицы `visits` и `info`, позволяющие хранить данные из файлов п.п.1.6 и 1.7. + +2.2 Загрузить данные в таблицы. + +2.3 Найти в HDFS место хранения таблиц, в отчете указать их размер и уровень репликации. + +2.4 Сформировать запросы, которые выводят первые 10 строк каждой таблицы. + +2.5 Создать запрос, который выводит среднее время посещения всех сайтов пользователем с номером, совпададающим с вашим номером по журналу. Сравнить результат с п.1.8 + +2.6 Создать запрос, который выведет электронный адрес, идентификатор пользователя, название посещенного сайта и время посещения этого сайта. + +2.7 Создать запрос, реализующий полное внешнее соединение таблиц `visits` и `info`. Пояснить, какие строки каждой из таблиц попали или не попали в результирующее множество. + + +### Варианты заданий + +1. http://lib.ru/SHAKESPEARE/ENGL/dream_en.txt +2. http://lib.ru/SHAKESPEARE/ENGL/much_en.txt +3. http://lib.ru/SHAKESPEARE/ENGL/pericles_en.txt +4. http://lib.ru/SHAKESPEARE/ENGL/errors_en.txt +5. http://lib.ru/SHAKESPEARE/ENGL/mercant_en.txt +6. http://lib.ru/SHAKESPEARE/ENGL/winters_en.txt +7. http://lib.ru/SHAKESPEARE/ENGL/measure_en.txt +8. http://lib.ru/SHAKESPEARE/ENGL/allend_en.txt +9. http://lib.ru/SHAKESPEARE/ENGL/pilgrim_en.txt +10. http://lib.ru/SHAKESPEARE/ENGL/macbeth_en.txt +11. http://lib.ru/SHAKESPEARE/ENGL/lear_en.txt +12. http://lib.ru/SHAKESPEARE/ENGL/othel_en.txt + + +### Вопросы + +1. Что такое и для чего нужен инструмент Pig? +1. Как запустить код, написанный на языке Pig Latin? +2. Что такое "мешок", "кортеж" и "поле" в Pig? +1. Что такое и для чего нужен инструмент Hive? +2. Чем отличается Hive от Pig? +3. Какие шаги (какие команды) нужно выполнить, чтобы создать таблицу на основе данных из файла? + + + + + + +