diff --git a/labs/lab03.md b/labs/lab03.md index 40486c1..f87be75 100644 --- a/labs/lab03.md +++ b/labs/lab03.md @@ -1,85 +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. Какие шаги (какие команды) нужно выполнить, чтобы создать таблицу на основе данных из файла? - - - - - - - + # Лабораторная работа №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`](assets/user_visits.txt) о посещении пользователями сайтов в локальную папку. Познакомиться с данными. + +1.7 Загрузить данные из текстового файла [`user_info.txt`](assets/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. Какие шаги (какие команды) нужно выполнить, чтобы создать таблицу на основе данных из файла? + + + + + + +