МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Новосибирский национальный исследовательский государственный университет» Факультет информационных технологий УТВЕРЖДАЮ _______________________ « ___» _____________ 20___г. РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ Аналитика больших массивов данных (наименование дисциплины) Магистерская программа Технология разработки программных систем (наименование магистерской программы) НАПРАВЛЕНИЕ ПОДГОТОВКИ 090401 «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» Квалификация (степень) выпускника Магистр Форма обучения очная Новосибирск 2014 Программа дисциплины «Аналитика больших массивов данных» составлена в соответствии с требованиями ФГОС ВПО к структуре и результатам освоения основных образовательных программ магистратуры по «профессиональному» циклу (вариативная часть) по направлению подготовки «Информатика и вычислительная техника», а также задачами, стоящими перед Новосибирским государственным университетом по реализации Программы развития НГУ. Автор (авторы) Павловский Евгений Николаевич, к.ф.-м.н. (ФИО, ученая степень, ученое звание) Факультет информационных технологий Кафедра общей информатики 2 1. Цели освоения курса Курс «Аналитика больших массивов данных» имеет своей целью: формирование у студентов профессиональной компетенции в области разработки и использования систем обработки и анализа больших массивов данных. Данная цель соотносится с целью образовательной программы в части изучения технологий разработки специализированных программных систем, отвечающих за обработку больших данных. Изучение данной дисциплины готовит выпускника к выполнению следующих профессиональных задач: • разработка методик автоматизации принятия решений; • концептуальное проектирование сложных изделий, включая программные комплексы, с использованием средств автоматизации проектирования, передового опыта разработки конкурентоспособных изделий. 2. Место дисциплины в структуре образовательной программы Курс входит в вариативную часть профессионального цикла основной образовательной программы «Технология разработки программных систем» по направлению подготовки 090401 «Информатика и вычислительная техника». Требования к «входным» знаниям, умениям и готовностям обучающегося в объёме компетенций бакалавра: 1. Материал курса ««Объектно-ориентированный анализ и дизайн»» необходим в части знания основных принципов объектноориентированного проектирования программных систем; 2. Материал курса «Программирование» необходим в части знания основных алгоритмов обхода дерева, поиска и сортировки; 3. Материал курса «Логические основы программирования» необходим в части знания основ лямбда-исчисления, основ логического программирования; 4. Материал курса «Математическая логика и теория алгоритмов» необходим в части знания принципов вычислимости и разрешимости, понимания признаков алгоритмически неразрешимых проблем, знакомства с нечёткими логиками. 5. Материал курса «Интеллектуальный анализ данных» необходим в части понимания основных задач анализа данных, умения классифицировать практические задачи с их помощью, владения методами интеллектуального анализа данных. Курс «Аналитика больших массивов данных» необходим для тех магистрантов, чья работа по диссертации связана с обработкой и анализом 3 больших массивов данных, а также с созданием инструментов для такой обработки и анализа. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины Курс участвует в формировании следующих компетенций: • способностью понимать роль науки в развитии цивилизации, соотношение науки и техники, иметь представление о связанных с ними современных социальных и этических проблемах, понимать ценность научной рациональности и ее исторических типов (ОК-2); — в части понимания влияния феномена больших данных на развитие общества, а также понимания важности применения научных методов для извлечение общественной пользы и больших массивов данных; • способностью заниматься научными исследованиями (ОК-4); — в части понимания возможностей технологий анализа больших данных при проведении научных исследований; • способностью к профессиональной эксплуатации современного оборудования и приборов (в соответствии с целями магистерской программы) (ОК-8), — в части понимания принципов работы высоконагруженных систем, обеспечивающих процессы хранения и анализа больших массивов данных; • культурой мышления, способностью выстраивать логику рассуждений и высказываний, основанных на интерпретации данных, интегрированных их разных областей науки и техники, выносить суждения на основании неполных данных (ОПК-2); — в части способности интегрировать данные из разных источников и интерпретировать их в контексте поставленной задачи, а также делать выводы, основанные на анализе данных; • владением методами и средствами получения, хранения, переработки и трансляции информации посредством современных компьютерных технологий, в том числе, в глобальных компьютерных сетях (ОПК5);— в части умения использовать технологии хранения больших данных; • способностью анализировать профессиональную информацию, выделять в ней главное, структурировать, оформлять и представлять в виде аналитических обзоров с обоснованными выводами и рекомендациями (ОПК-6), — в части понимания основных законов визуализации информации. • владением существующими методами и алгоритмами решения задач распознавания и обработки данных (ПК-4), — в части знания методов и особенностей алгоритмов обработки больших данных; • применением перспективных методов исследования и решения профессиональных задач на основе знания мировых тенденций развития вычислительной техники и информационных технологий (ПК-7), — в части знания тенденций больших данных; 4 • способностью к созданию программного обеспечения для анализа, распознавания и обработки информации, систем цифровой обработки сигналов (ПК-15), — в части понимания основных элементов процесса анализа больших данных и технологий для его проведения; В результате изучения дисциплины у студента формируются: - представления о феномене больших данных, о научных и технических проблемах и возможностях, связанных с их появлением, о трендах в области технологий хранения и анализа больших данных; - знания причин возникновения тренда больших данных, процессов анализа больших данных, основных подходов к обработке больших массивов данных, основ языка R; - умения формулировать алгоритмы в парадигме MapReduce, выбрать подходящий инструмент анализа больших данных, выбрать подходящую технологию хранения больших данных. 4. Структура и содержание курса Семестр № п/п Раздел дисциплины Неделя семестра Общая трудоемкость курса составляет 3 зачетных единицы, 108 часов. Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Лекции Лаб. Сам.раб. Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) 1 Определение больших данных 1 1-2 1 1 4 Тест 2 Процесс анализа больших данных 1 1-2 1 1 6 Практическое задание 3 Парадигма MapReduce 1 3-4 2 2 4 Практическое задание 4 Технологии хранения больших данных 1 5-8 4 4 10 Практическое задание 5 Технологии 1 9- 4 6 10 Практическое 5 анализа больших данных 12 6 Визуализация 1 7 Научные проблемы области больших данных 1314 1516 1 в задание 2 2 3 2 0 2 Практическое задание Тест 36 Итого за семестр 16 16 39+1(КСР) 36 Экзамен 108 5. Образовательные технологии До начала каждой новой лекции студенты имеют возможность ознакомиться с её заголовками. Это ознакомление служит элементом ориентирования во время изучения нового материала и позволяет студенту внимательно следить за материалом новой лекции. Знание теоретического материала закрепляется тестами, проводимыми с помощью системы опроса всех слушателей. Тесты проводятся за один день до начала следующей лекции и семинара. Тесты проводятся с целью выявления непонимания среди слушателей и служат элементом обратной связи от слушателей к лектору для своевременной корректировки изложения и дополнения пройденного. На практических занятиях студенты выполняют лабораторные задания, в которых закрепляют теоретический материал, имеют возможность наработать умение использовать программные продукты для проведения анализа больших данных. За каждое выполненное задание начисляются баллы, сумма которых определяет возможность допуска к экзамену. 6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебнометодическое обеспечение самостоятельной работы студентов Тесты: 1. О соотношении аналоговой и цифровой информации: 1. Большинство данных в мире в 2011 году содержалось: i. +В цифровом виде ii. В аналоговом виде 2. В каком веке произошёл перевес объёмов накопленных человечеством данных в сторону цифровых? 6 i. 20 (число) 3. Объём накопленных человечеством цифровых данных на 2012 год измеряется: i. Петабайтами ii. +Зеттабайтами iii. Экзабайтами iv. Йоттабайтами 4. Сколько Петабайт в Зеттабайте? i. 1024 (число) 2. История больших данных 1. Укажите фактор, способствовавший появлению тренда больших данных i. +Маркетинговые кампании крупных корпораций ii. +Снижение издержек на хранение данных iii. Появление новых технологий обработки потоковых данных iv. Выпуск баз данных с обработкой данных в памяти 2. Какие вероятные разочарования тренда больших данных? i. Из-за угрозы безопасности личной жизни (privacy) граждан будут усложнены процедуры сбора данных, что приведёт к падению ценности больших данных. 3. Отметьте значимые события, повлиявшие на формирование тренда больших данных: i. + Разработка Hadoop ii. + Изобретение принципа MapReduce iii. Разработка языка Pyhton iv. Победа Deepblue в матче с Г.Каспаровым. 3. Определение больших данных: 1. Выберите верный ответ i. Большие данные – это обработка или хранение более 1 Тб информации. ii. +Проблема больших данных – это такая проблема, когда при существующих технологиях хранения и обработки сущностная обработка данных затруднена или невозможна. iii. Большие данные – это огромная PR-акция крупных вендоров и не более того. iv. Большие данные – это явление, когда цифровые данные наиболее полно представляют изучаемый объект. 2. Выберите неверный ответ: i. +Большие данные – это данные объёма свыше 1 Тб ii. Проблема больших данных – это проблема, когда при существующих технологиях хранения и обработки сущностная обработка данных затруднена или невозможна. iii. Большие данные – это тренд в области ИТ, подогреваемый маркетинговыми кампаниями крупных вендоров. iv. Большие данные как правило не структурированы. 7 3. Отметьте те из вариантов, в которых данные структурированы: i. Данные о продажах компании, представленные в виде помесячных отчётов в формате MS Word. ii. +Таблица с ежедневными показаниями температуры помещения за год в файле формата csv. iii. Текст педагогической поэмы А.С. Макаренко, представленный в формате PDF. iv. Библиотека фильмов, представленных в формате mpeg4 на одном жестком диске. 4. Характеристики Big Data: 1. Перечислите четыре основных характеристики Big Data: i. Virtualization, Volume, Variability, Vehicle ii. +Variety, Velocity, Volume, Value iii. Verification, Volume, Velocity, Visualization iv. Video, Value, Variety, Volume 2. Выберите неверное высказывание: i. +Большие объёмы данных приводят к слабой их структуризации, поэтому появляется такое разнообразие данных. ii. Увеличившаяся производительность телекоммуникационных каналов привела к росту объёмов передаваемой информации. iii. Удешевление систем хранения на единицу информации привело к росту рынка больших данных. iv. Большое разнообразие источников данных 3. Отметьте неверное понимание Variety в контексте характеристик Big Data: i. +Высокая скорость генерирования данных. ii. +Разные типы данных в колонках таблиц реляционных СУБД. iii. +Разнообразие отраслей, являющихся источниками данных. iv. Разнообразие типов данных, включающих в себя структурированные, полуструктурированные и неструктурированные. 5. Принцип MapReduce 1. Принцип MapReduce состоит в том, чтобы i. +Производить вычисления на узлах, где информация изначально была сохранена ii. +Использовать вычислительные мощности систем хранения iii. Использовать функциональное программирование для решения задач массивно-параллельной обработки 2. Выберите одно неверное высказывание про MapReduce: i. +Интерфейс для массово-параллельной обработки данных, где вычисления производятся на узлах, где информация изначально была сохранена ii. MapReduce – это две операции: распределения и сборки данных 8 iii. +MapReduce был придуман разработчиками Hadoop iv. MapReduce был анонсирован разработчиками Google 3. Каков теоретический прирост производительности при подсчёте числа слов в тексте при работе MapReduce при переходе от одного узла к двум: i. 2 6. Технологии хранения 1. Какие из следующих технологий СУБД не используют принцип MapReduce i. Hadoop ii. Cassandra iii. HDInsight iv. +Redis 2. Какие СУБД полностью полагаются на оперативную память при хранении информации: i. +Oracle Exalytics ii. +SAP HANA iii. BigTable iv. HBase 3. В чём преимущество колоночно-ориентированных СУБД? i. Они позволяют выполнять более сложные SQL-запросы по сравнению с реляционными СУБД ii. +Они позволяют динамически дополнять содержание записей новыми полями iii. Они имеют более гибкие возможности аналитики. iv. Они позволяют эффективно делать межколоночные сравнения. 7. «Песочница» в аналитическом процессе 1. Для чего аналитику необходима «песочница»? i. +Для высокопроизводительной аналитики за счёт использования оперативной памяти и inDB операций. ii. Для хранения всех полученных от заказчика данных. iii. Для построения отчётов о результатах анализа iv. +Для снижения затрат, связанных с репликацией данных 2. Какие из следующих средств разумно использовать для анализа данных, представленных единственным csv-файлом размера более 100Гб: i. +Hadoop ii. Data Warehouse iii. +«Песочница» iv. +Python 3. Выберите верное утверждение: i. Data Warehouse создаются для проверки гипотез при анализе больших данных. 9 ii. +«Песочница» используется для снижения нагрузки на основной Data Warehouse. iii. Каждый Data Warehouse должен содержать «песочницу». iv. «Песочница» необходима для любого процесса аналитики. 8. CRISP-DM 1. Расставьте последовательность этапов проекта аналитики в соответствии с CRISP-DM. i. Понимание бизнеса (Business understanding) ii. Понимание данных (Data Understanding) iii. Подготовка данных (Data Preparation) iv. Моделирование (Modeling) v. Оценка (Evaluation) vi. Внедрение (Deployment) 2. На каком из этапов процесса CRISP-DM происходит проверка гипотез? i. Понимание бизнеса (Business understanding) ii. Понимание данных (Data Understanding) iii. +Моделирование (Modeling) iv. Оценка (Evaluation) 3. Вы являетесь владельцем и аналитиком в компании из 10 человек, в которой требуется проанализировать продажи за 1 год (1 млн. продаж). Какие из этапов CRISP-DM можно опустить: i. +Понимание бизнеса (Business understanding) ii. Подготовка данных (Data Preparation) iii. Моделирование (Modeling) iv. Оценка (Evaluation) 9. Hadoop 1. Пример благоразумного использования Hadoop i. Анализ 10 Гб данных. ii. Ежедневное сохранение данных температуры, поступающих со всех городов России (по одному показанию на город, всего городов 1100 шт). iii. +Посекундное сохранение данных температуры, поступающих со всех городов России (по одному показанию на город, всего городов 1100 шт). iv. Построение графика пульса пациента в реальном времени. 2. Начиная с каких размеров данных обоснованно применение кластера Hadoop для хранения данных? i. 100Гб ii. 1Тб iii. +100Тб iv. +1Пб 3. Hadoop – это: i. +Набор утилит, и программный каркас для выполнения распределённых программ, работающих на кластерах. 10 ii. Распределённая СУБД, позволяющая обрабатывать большие данные. iii. Язык выполнения заданий в парадигме MapReduce. iv. Распределённая файловая система, предназначенная для хранения файлов большого объёма. Задания на лабораторные работы: 1. Развернуть локальный кластер Hadoop. 2. Выполнить подсчёт слов в тексте, с помощью MapReduce. 3. Реализовать алгоритм кластеризации k-means с помощью MapReduce. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Виктор Маер-Шенбергер, Кеннет Кукьер. Большие данные: Революция, которая изменит то, как мы живем, работаем и мыслим. — М.: «Манн, Иванов и Фербер», 2013, 240 с. ISBN 978-5-91657-936-9 (http://www.mann-ivanov-ferber.ru/books/paperbook/big_data/) 2. National Research Council. 2013. Frontiers in Massive Data Analysis. Washington, D.C.: The National Academies Press. б) дополнительная литература: 1. J. Hopcroft, R. Kannan. Foundations of Data Science. 2013. — 412 p. (https://www.dropbox.com/s/j2s5dn5w5g7ics5/Data%20Science%20Foundatio ns%20book-dec-30-2013.pdf) 2. Martin Hilbert. Big Data for Development: From Information- to Knowledge Societies", – 2013. – SSRN Scholarly Paper No. ID 2205145). Rochester, NY: Social Science Research Network; 3. Hortonworks. 7 Key Drivers for the Big Data Market. – 2012 4. Big Data analytics: Future architectures, Skills and roadmaps for the CIO – 2011. – IDC/SAS 5. Big Data: The Next Frontier for Innovation, Competition, and Productivity – 2011. – McKinsey Global Institute. 6. Hasso Plattner, Alexander Zeier. In-Memory Data Management: Technology and Applications. 7. Gaurav Vaish. Getting Started with NoSQL - 2013. - Packt Publishing. ISBN13: 978-1849694988 8. Jim Webber, Emil Eifrem. Graph Databases by Ian Robinson. - 2013 - O'Reilly Media. ISBN-13: 978-1449356262 9. Виктор Маер-Шенбергер, Кеннет Кукьер. Большие данные: Революция, которая изменит то, как мы живем, работаем и мыслим. — М.: «Манн, Иванов и Фербер», 2013, 240 с. ISBN 978-5-91657-936-9 (http://www.mann-ivanov-ferber.ru/books/paperbook/big_data/) 11 10.DJ Patil. Building Data Science Teams. O’Reilly. 2011. ISBN: 978-1-44931623-5 (http://cdn.oreilly.com/radar/2011/09/Building-Data-Science-Teams.pdf) в) программное обеспечение и Интернет-ресурсы: 1. Apache Hadoop, HBase. 2. Apache Spark, Mahout. 3. Weka, RapidMiner 4. Excel PowerPivot 8. Материально-техническое обеспечение дисциплины 1. Компьютерный класс компьютерами, объединенными в локальную сеть и доступом к Интернет. 2. Доступ к кластеру Hadoop. 3. Доступ к программно-аппаратному комплексу SAP HANA (или Oracle Exalytics), например через облака Amazon. 4. Для обучения каждому студенту необходимы: o персональный компьютер, с установленным следующим ПО: Weka, RapidMiner Excel PowerPivot Во время лекционных занятий также необходим проектор, подключенный к ПК с установленным Microsoft Office, для наглядной демонстрации изучаемого материала и проведения лекционных занятий. Рецензент (ы) _________________________ Программа одобрена на заседании Методической комиссии ФИТ от ___________ года, протокол № _______. 12