Використання Hadoop для розробки розподілених програм та обробки даних

Elective discipline
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 4.5.
Кількість аудиторних занять: 
Лекційних занять - 15, практичних занять 7.
Самостійна робота: 
91 годин.
Семестровий контроль: 
Test.
Освітню компоненту забезпечує: 
Анотація: 

Анотація навчальної дисципліни
Мета вивчення дисципліни: формування у майбутніх фахівців сучасного рівня інформаційної та цифрової культури, оволодіння основними принципами розробки розподілених програм та обробки великих даних з використанням Apache Hadoop; набуття практичних навичок самостійного створення та використання Hadoop-кластерів для розв’язання різноманітних задач обробки та аналізу великих обсягів даних. Забезпечити глибоке розуміння принципів роботи операційних систем, включаючи управління процесами, пам’яттю, файловими системами та накопичувачами, що є критичним для ефективної розробки та оптимізації розподілених систем. Оволодіння базовими принципами роботи з Hadoop екосистемою; формування умінь створення MapReduce програм, планування та виконання робіт на Hadoop-кластері, набуття навичок використання інструментів екосистеми Hadoop (як-от Hive, Pig, HBase) для ефективної обробки та аналізу великих даних. Розвиток здатності інтегрувати знання з операційних систем та розподілених обчислень для створення високопродуктивних та надійних систем обробки великих даних.
Практичне значення та використання отриманих знань забезпечити засвоєння студентами основних понять і методів системного керування процесом розроблення програмного забезпечення, оволодіння базовими принципами програмної інженерії; формування умінь створення технічного завдання, планування виконання робіт по проекту, набуття навичок прийняття рішень та розподілу обов'язків у команді і використання сучасних інформаційних технологій при створенні професійного програмного забезпечення.

Тематика та види навчальних занять
Для денної форми здобуття освіти
Лекційні заняття
Лекція 1. Вступ до розподілених обчислень та великих даних. Основи Apache Hadoop.
Лекція 2. Архітектура Hadoop: HDFS та YARN.
Лекція 3. Управління процесами в операційних системах.
Лекція 4. Планування процесів та багатозадачність.
Лекція 5. Управління пам'яттю: віртуальна пам’ять та алгоритми заміщення сторінок.
Лекція 6. Файлові системи: структура та операції.
Лекція 7. Управління накопичувачами та RAID-системи.
Лекція 8. Вступ до паралельних обчислювальних систем.
Лекція 9. Архітектура паралельних обчислювальних систем.
Лекція 10. Програмування паралельних алгоритмів.
Лекція 11. Оцінка продуктивності паралельних систем.
Лекція 12. Програмування з використанням MapReduce.
Лекція 13. Робота з Apache Hive для аналізу даних.
Лекція 14. Використання Apache Pig для обробки даних.
Лекція 15. Оптимізація продуктивності Hadoop з урахуванням особливостей ОС та паралельних систем.
Практичні заняття
Практичне заняття №1. Дослідження управління процесами та задачами в операційних системах.
Мета заняття: ознайомитися з механізмами створення, планування та взаємодії процесів та задач в сучасних операційних системах.
Практичне заняття №2. Робота з файловими системами та накопичувачами.
Мета заняття: дослідити структуру файлових систем, реалізувати базові операції з файлами та ознайомитися з принципами роботи RAID-систем.
Практичне заняття №3. Робота з засобами забезпечення безпеки файлових систем.
Мета заняття: вивчити та реалізувати основні атрибути управління безпекою файлових систем з використанням засобів автоматизації.
Практичне заняття №4. Налаштування Hadoop-кластеру.
Мета заняття: навчитися встановлювати та конфігурувати Hadoop-кластер, розуміти основні компоненти та їх взаємодію.
Практичне заняття №5. Робота з HDFS: основні операції.
Мета заняття: освоїти базові операції з розподіленою файловою системою Hadoop (HDFS), включаючи завантаження, вивантаження та управління даними.
Практичне заняття №6. Розробка та запуск MapReduce програм.
Мета заняття: навчитися створювати, тестувати та запускати MapReduce програми для обробки великих обсягів даних на Hadoop-кластері.
Практичне заняття №7. Оптимізація продуктивності Hadoop-кластеру.
Мета заняття: вивчити методи оптимізації роботи Hadoop-кластеру, включаючи налаштування параметрів JVM, YARN та MapReduce для підвищення ефективності обробки даних.

Для заочної форми здобуття освіти
Лекційні заняття
Лекція 1. Вступ до розподілених обчислень та великих даних. Основи Apache Hadoop. Архітектура Hadoop: HDFS та YARN.
Лекція 2. Управління процесами, пам’яттю, файловими системами та накопичувачами в операційних системах.
Практичні заняття
Практичне заняття №1. Дослідження управління процесами та пам’яттю в операційних системах.
Мета заняття: ознайомитися з механізмами створення, планування та взаємодії процесів, а також вивчити алгоритми управління віртуальною пам’яттю в сучасних операційних системах.
Практичне заняття №2. Налаштування Hadoop-кластеру та робота з HDFS. Розробка та запуск MapReduce програм.
Мета заняття: навчитися встановлювати та конфігурувати Hadoop-кластер, освоїти базові операції з розподіленою файловою системою Hadoop (HDFS), навчитися створювати, тестувати та запускати MapReduce програми для обробки великих обсягів даних на Hadoop-кластері, а також вивчити методи оптимізації роботи Hadoop-кластеру.
Консультації здійснюються впродовж семестру згідно встановленого розкладу.
 Індивідуальна робота
Для денної форми здобуття освіти
не передбачено
Для заочної форми здобуття освіти
не передбачено
 Форми контрольних заходів та оцінювання результатів навчання
Для денної та заочної форми здобуття освіти
Для денної та заочної форми здобуття освіти
Кожний навчальний семестр містить два модульних контролі. Кожна з двох Модульних контрольних робіт складається з теоретичних та практичних частин. Теоретична частина оцінюється в 20 балів, по 5 балів кожне питання рівної складності, та практична частина, яка оцінюється в 10 балів. Кожний модульний контроль оцінюється у максимально можливі 50 балів.
Якщо підсумковою формою контролю є залік, то підсумкова оцінка формується як накопичувальна за результатами оцінювання всіх навчальних елементів, які заплановані на семестр для виконання здобувачами вищої освіти. Оцінку «зараховано» отримують здобувачі вищої освіти, які виконали всі навчальні елементи не менш, ніж на 60 %.
Критерії оцінювання кожного навчального елемента визначені в робочій програмі навчальної дисципліни і доводяться до відома здобувачів на першому в семестрі занятті відповідно до положення про робочу програму навчальної дисципліни.
Оприлюднення змісту навчальної дисципліни та критеріїв оцінювання здійснюється через силабуси дисциплін, які розміщені на офіційному веб-сайті університету.
Здобувачі зобов’язані дотримуватись принципів академічної доброчесності при виконанні модульних контрольних робіт, поточних контрольних завдань, індивідуальних завдань з дисципліни.
 Політика освітнього процесу та умови допуску до підсумкового контролю
Здійснюється відповідно до «Положення про організацію освітнього процесу», затвердженого Вченою радою (протокол від 31 серпня 2021 р. № 1) та введеного наказом ректора від 01 вересня 2021 року № 82/1.
Здобувач зобов’язаний своєчасно та якісно виконувати всі отримані завдання; за необхідністю, з метою з’ясування всіх не зрозумілих під час самостійної роботи питань, відвідувати консультації викладача. Дотримуватись принципів академічної доброчесності.
Викладач на першому аудиторному занятті надає повну інформацію щодо усіх складових дисципліни, роз’яснює кількісне та якісне наповнення змістовних модулів, рекомендує відповідну фахову літературу, інформує щодо критеріїв оцінювання рівня навчальних досягнень здобувача з усіх видів та форм навчання та термінів контрольних заходів. 
Викладач здійснює консультації відповідно до затвердженого завідувачем кафедри графіка консультацій.
Виконаний не свій варіант завдання здобувачем не оцінюється.
Роботи, які було виконано після встановлених викладачем термінів, не приймаються.
Відсутність здобувача на контрольному заході відповідає оцінці «0».
Складання/перескладання контрольного заходу відбувається за розкладом, встановленим деканатом.
 

Компетентності: 

К1. Здатність застосовувати спеціалізоване програмне забезпечення та цифрові технології для розв’язання складних задач і проблем автоматизації та комп’ютерно-інтегрованих технологій

Передумови вивчення дисципліни: 

Знати сучасні математичні методи, методи теорії автоматичного керування, теорії надійності та системного аналізу. Вміти застосовувати спеціалізоване програмне забезпечення та цифрові технології для розв’язання складних задач і проблем автоматизації

Результати навчання: 

РН1(У/Н). Застосовувати сучасні математичні методи, методи теорії автоматичного керування, теорії надійності та системного аналізу для дослідження та створення систем автоматизації складними технологічними та організаційно-технічними об’єктами, кіберфізичних виробництв
РН2(З,У/Н). Розробляти і використовувати спеціалізоване програмне забезпечення та цифрові технології для створення систем автоматизації складними організаційно-технічними об’єктами, професійно володіти спеціальними програмними засобами

2024