Родитель
0480c863f7
Сommit
c312b71dc6
@ -1,85 +1,85 @@
|
|||||||
# Лабораторная работа №3. Знакомство с инструментами Pig и Hive
|
# Лабораторная работа №3. Знакомство с инструментами Pig и Hive
|
||||||
|
|
||||||
|
|
||||||
## Цель
|
## Цель
|
||||||
|
|
||||||
* Научиться обрабатывать и проводить анализ данных с помощью инструметов Pig и Hive.
|
* Научиться обрабатывать и проводить анализ данных с помощью инструметов Pig и Hive.
|
||||||
|
|
||||||
## Выполнение
|
## Выполнение
|
||||||
|
|
||||||
Защита лабораторной работы подразумевает наличие отчета, который должен содержать пункты задания, команды, которые вы вводите и ответы системы на них.
|
Защита лабораторной работы подразумевает наличие отчета, который должен содержать пункты задания, команды, которые вы вводите и ответы системы на них.
|
||||||
При необходимости - комментарии по полученным результатам.
|
При необходимости - комментарии по полученным результатам.
|
||||||
|
|
||||||
|
|
||||||
## Задание
|
## Задание
|
||||||
|
|
||||||
**Внимание**: В локальной папке `stud` создать папку `lab03`. Далее работы проводить в этой папке
|
**Внимание**: В локальной папке `stud` создать папку `lab03`. Далее работы проводить в этой папке
|
||||||
|
|
||||||
|
|
||||||
### Знакомство с Pig
|
### Знакомство с Pig
|
||||||
|
|
||||||
1.1 Загрузить текстовый файл в соответствии с вариантом.
|
1.1 Загрузить текстовый файл в соответствии с вариантом.
|
||||||
|
|
||||||
1.2 В среде `grunt`, запущенной __локально__ реализовать алгоритм подсчета слов (word count). Результат должен быть уполрядочен по алфавиту
|
1.2 В среде `grunt`, запущенной __локально__ реализовать алгоритм подсчета слов (word count). Результат должен быть уполрядочен по алфавиту
|
||||||
|
|
||||||
1.3 Выполнить подсчет слов в текстовом файле, результат сохранить в файл.
|
1.3 Выполнить подсчет слов в текстовом файле, результат сохранить в файл.
|
||||||
|
|
||||||
1.4 Модифицировать алгоритм, выводя только слова на первую букву вашей фамилии.
|
1.4 Модифицировать алгоритм, выводя только слова на первую букву вашей фамилии.
|
||||||
|
|
||||||
1.5 Модифицировать алгоритм таким образом, чтобы после подсчета word_count и фильтрации по первой букве,
|
1.5 Модифицировать алгоритм таким образом, чтобы после подсчета word_count и фильтрации по первой букве,
|
||||||
в качестве результата выдавалась сумма всех значений столбца `count' (сумма слов).
|
в качестве результата выдавалась сумма всех значений столбца `count' (сумма слов).
|
||||||
|
|
||||||
1.6 Загрузить данные из текстового файла `user_visits.txt` о посещении пользователями сайтов в локальную папку. Познакомиться с данными.
|
1.6 Загрузить данные из текстового файла [`user_visits.txt`](assets/user_visits.txt) о посещении пользователями сайтов в локальную папку. Познакомиться с данными.
|
||||||
|
|
||||||
1.7 Загрузить данные из текстового файла `user_info.txt` с информацией о пользователях в локальную папку. Познакомиться с данными.
|
1.7 Загрузить данные из текстового файла [`user_info.txt`](assets/user_info.txt) с информацией о пользователях в локальную папку. Познакомиться с данными.
|
||||||
|
|
||||||
1.8 Создать запрос, который выводит среднее время посещения всех сайтов пользователем с номером, совпададающим с вашим номером по журналу. Пояснить результат.
|
1.8 Создать запрос, который выводит среднее время посещения всех сайтов пользователем с номером, совпададающим с вашим номером по журналу. Пояснить результат.
|
||||||
### Знакомство с Hive
|
### Знакомство с Hive
|
||||||
|
|
||||||
|
|
||||||
2.1 В среде `Hive` создать таблицы `visits` и `info`, позволяющие хранить данные из файлов п.п.1.6 и 1.7.
|
2.1 В среде `Hive` создать таблицы `visits` и `info`, позволяющие хранить данные из файлов п.п.1.6 и 1.7.
|
||||||
|
|
||||||
2.2 Загрузить данные в таблицы.
|
2.2 Загрузить данные в таблицы.
|
||||||
|
|
||||||
2.3 Найти в HDFS место хранения таблиц, в отчете указать их размер и уровень репликации.
|
2.3 Найти в HDFS место хранения таблиц, в отчете указать их размер и уровень репликации.
|
||||||
|
|
||||||
2.4 Сформировать запросы, которые выводят первые 10 строк каждой таблицы.
|
2.4 Сформировать запросы, которые выводят первые 10 строк каждой таблицы.
|
||||||
|
|
||||||
2.5 Создать запрос, который выводит среднее время посещения всех сайтов пользователем с номером, совпададающим с вашим номером по журналу. Сравнить результат с п.1.8
|
2.5 Создать запрос, который выводит среднее время посещения всех сайтов пользователем с номером, совпададающим с вашим номером по журналу. Сравнить результат с п.1.8
|
||||||
|
|
||||||
2.6 Создать запрос, который выведет электронный адрес, идентификатор пользователя, название посещенного сайта и время посещения этого сайта.
|
2.6 Создать запрос, который выведет электронный адрес, идентификатор пользователя, название посещенного сайта и время посещения этого сайта.
|
||||||
|
|
||||||
2.7 Создать запрос, реализующий полное внешнее соединение таблиц `visits` и `info`. Пояснить, какие строки каждой из таблиц попали или не попали в результирующее множество.
|
2.7 Создать запрос, реализующий полное внешнее соединение таблиц `visits` и `info`. Пояснить, какие строки каждой из таблиц попали или не попали в результирующее множество.
|
||||||
|
|
||||||
|
|
||||||
### Варианты заданий
|
### Варианты заданий
|
||||||
|
|
||||||
1. http://lib.ru/SHAKESPEARE/ENGL/dream_en.txt
|
1. http://lib.ru/SHAKESPEARE/ENGL/dream_en.txt
|
||||||
2. http://lib.ru/SHAKESPEARE/ENGL/much_en.txt
|
2. http://lib.ru/SHAKESPEARE/ENGL/much_en.txt
|
||||||
3. http://lib.ru/SHAKESPEARE/ENGL/pericles_en.txt
|
3. http://lib.ru/SHAKESPEARE/ENGL/pericles_en.txt
|
||||||
4. http://lib.ru/SHAKESPEARE/ENGL/errors_en.txt
|
4. http://lib.ru/SHAKESPEARE/ENGL/errors_en.txt
|
||||||
5. http://lib.ru/SHAKESPEARE/ENGL/mercant_en.txt
|
5. http://lib.ru/SHAKESPEARE/ENGL/mercant_en.txt
|
||||||
6. http://lib.ru/SHAKESPEARE/ENGL/winters_en.txt
|
6. http://lib.ru/SHAKESPEARE/ENGL/winters_en.txt
|
||||||
7. http://lib.ru/SHAKESPEARE/ENGL/measure_en.txt
|
7. http://lib.ru/SHAKESPEARE/ENGL/measure_en.txt
|
||||||
8. http://lib.ru/SHAKESPEARE/ENGL/allend_en.txt
|
8. http://lib.ru/SHAKESPEARE/ENGL/allend_en.txt
|
||||||
9. http://lib.ru/SHAKESPEARE/ENGL/pilgrim_en.txt
|
9. http://lib.ru/SHAKESPEARE/ENGL/pilgrim_en.txt
|
||||||
10. http://lib.ru/SHAKESPEARE/ENGL/macbeth_en.txt
|
10. http://lib.ru/SHAKESPEARE/ENGL/macbeth_en.txt
|
||||||
11. http://lib.ru/SHAKESPEARE/ENGL/lear_en.txt
|
11. http://lib.ru/SHAKESPEARE/ENGL/lear_en.txt
|
||||||
12. http://lib.ru/SHAKESPEARE/ENGL/othel_en.txt
|
12. http://lib.ru/SHAKESPEARE/ENGL/othel_en.txt
|
||||||
|
|
||||||
|
|
||||||
### Вопросы
|
### Вопросы
|
||||||
|
|
||||||
1. Что такое и для чего нужен инструмент Pig?
|
1. Что такое и для чего нужен инструмент Pig?
|
||||||
1. Как запустить код, написанный на языке Pig Latin?
|
1. Как запустить код, написанный на языке Pig Latin?
|
||||||
2. Что такое "мешок", "кортеж" и "поле" в Pig?
|
2. Что такое "мешок", "кортеж" и "поле" в Pig?
|
||||||
1. Что такое и для чего нужен инструмент Hive?
|
1. Что такое и для чего нужен инструмент Hive?
|
||||||
2. Чем отличается Hive от Pig?
|
2. Чем отличается Hive от Pig?
|
||||||
3. Какие шаги (какие команды) нужно выполнить, чтобы создать таблицу на основе данных из файла?
|
3. Какие шаги (какие команды) нужно выполнить, чтобы создать таблицу на основе данных из файла?
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Загрузка…
Ссылка в новой задаче