 # Лабораторная работа №3. Знакомство с инструментами Pig и Hive
 
 
 ## Цель
 
 * Научиться обрабатывать и проводить анализ данных с помощью инструметов Pig и Hive.
 
## Выполнение

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


## Задание

**Внимание**: В локальной папке `stud` создать папку `lab03`. Далее работы проводить в этой папке


### Знакомство с Pig

1.1 Загрузить текстовый файл в соответствии с вариантом.

1.2 В среде `grunt`, запущенной __локально__ реализовать алгоритм подсчета слов (word count). Результат должен быть уполрядочен по алфавиту


1.3 Модифицировать алгоритм, выводя только слова на первую букву вашей фамилии.

1.4 Модифицировать алгоритм таким образом, чтобы после подсчета word_count и фильтрации по первой букве,
 в качестве результата выдавалась сумма всех значений столбца `count' (сумма слов).


### Знакомство с Hive


2.1 В среде `Hive` создать таблицы `visits` и `info`, позволяющие хранить данные из файлов  [user_visits.txt](assets/user_visits.txt) и [user_info.txt](assets/user_info.txt)

2.2 Загрузить данные в таблицы.

2.3  Найти в HDFS место хранения таблиц, в отчете указать их размер и уровень репликации.

2.4  Сформировать запросы, которые выводят первые 10 строк каждой таблицы.

2.5  Создать запрос, который выводит среднее время посещения всех сайтов пользователем с номером, совпададающим с вашим номером по журналу. 

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. Какие шаги (какие команды) нужно выполнить, чтобы создать таблицу на основе данных из файла?







