Глава 1
ВВЕДЕНИЕ 3
1.1 Актуальность
1.2 Определение понятий Big Data
1.3 Особенности и сложности внедрения
1.4 Различия Big Data с аналогами
Глава 2
ТЕХНОЛОГИИ ДЛЯ РАБОТЫ С BIG DATA 8
2.1 Распределённая обработка данных 8
2.2 Хранение данных 13
2.3 Пакетная обработка произвольного
доступа 17
2.4 Управление и анализ данных
Глава 3
ИСПОЛЬЗОВАНИЕ МЕТОДОВ BIG DATA НА ПРАКТИКЕ
3.1 Анализ контекста в тексте 24
3.2 Машинное обучение 25
3.3 Нейросети 31
Глава 4
BIG DATA В ОБРАЗОВАНИИ 36
4.1 Анализ учебных программ в ВУЗах России 37
4.2 Анализ учебных программ в российских компаниях 37
4.3 Различия учебных программ
Заключение 50
Список литературы 60
Проблема, которой посвящена эта работа: обучение методам Big Data в образовании. Университетское образование включает в себя только проверенные методы и программы. Очевидно, что IT область развивается слишком быстро, и бывает так, что актуальная в прошлом году тема или программа в этом году уже не актуальна. На замену приходит что-то новое и более эффективное.
В последнее время мы все слышим о такой теме, как Big Data. Объем записываемых данных в мировых хранилищах растёт ежесекундно.
Согласно данным IDC Digital Universe, в ближайшие пять лет объем данных на планете вырастет до 40 зеттабайтов. Для понимания масштаба роста - в 2011 году объем данных составлял всего 1 зеттабайт.
Источником роста служат приборы для мониторинга, сенсоры, системы наблюдения, смартфоны, интеллектуальные системы и датчики, находящиеся в постоянном взаимодействии друг с другом.
Очевидно, что старые технологии и методы постепенно перестают эффективно справляться с таким объемом информации. Необходимы специалисты нового поколения.
Образование консервативно, потому что не может меняться с каждым новым веянием. Для начала область должна устояться, чтобы образование оставалось фундаментальным. Но из-за того, что мало кто понимает сущность Big Data, появляется много понятий, и тема становится расплывчатой. Поэтому большинство учебных программ или совсем не учитывают область обработки больших данных, или слабо готовят к ней.
Всё это может привести к тому, что, когда вопрос специалистов по Big Data встанет ребром, сообщество IT специалистов не будет нужное количество людей, и область встретит кризис. Из-за этого замедлится прогресс в этой области, а как мы убедимся позже, замедление роста здесь замедлит и рост уровня нашей жизни.
Чтобы отсеять всё лишнее и сформировать фундаментальное понятие больших данных, в первую очередь мы разберёмся в самом понятии Big Data. Я постарался отразить максимально полную картину, основанную на понятиях из нескольких источников.
Следующий вопрос, тормозящий внедрение обучения методам Big Data - стек технологий. Понятно, что за понятием Big Data стоят конкретные технологии, и во второй главе мы разберем каждую из тех, что представляют собой базовую основу Big Data. Необходимо это из-за всё той же размытости понятий. Обсуждают и создают очень много инструментов, но какие из них пройдут проверку временем? Это и предстоит выяснить.
Вокруг многих областей сегодня происходит очень много шума, и зачастую происходит так, что этим никто и не пользуется. Фундаментальность образования не может позволить включать в учебную программу подобные вещи, поэтому в третьей главе мы выясним, действительно ли Big Data кто-то пользуется, и приносит ли это ощутимые выгоды на практике.
В четвёртой главе мы проанализируем, что сейчас происходит в области образования. Также сравним, как происходит обучение в российских компаниях, таких как Яндекс и Билайн.
Всё это позволит понять, какие конкретные проблемы лежат в основе всего и какие изменения стоит принять, чтобы IT образование начало включать в свои учебные программы обучение методам Big Data.
Итак, мы рассмотрели понятие Big Data и обнаружили то, что Big Data уже довольно давно используется крупными компаниями.
Мы определили «лицо» Big Data. Это вполне конкретные парадигмы и стеки технологий, которые активно развиваются и упрощают жизнь пользователям и разработчикам. У Big Data определенно есть будущее, так как управление большими данными и их хранение, как мы видим, несёт ощутимую пользу обществу.
Из-за этого вопрос обучения специалистов, которые смогут работать с большими данными стоит особенно остро. Мы выяснили, что большинство нынешних учебных программ дают слишком общие знания, и не соответствуют запросам области.
Исходя из проанализированных учебных программ и области Big Data, сформировалось понимание того, как в учебном курсе охватить всю область. Название курса: «Большие данные».
Цели освоения дисциплины «Большие данные»:
• формирование у студентов профессиональных компетенций, связанных с использованием теоретических знаний в области распределённых вычислений и файловых систем, а также машинного обучения;
• получение практических навыков в области выбора систем распределённых вычислений и файловых систем, а также машинного обучения, наилучшим образом реализующих поставленные цели;
• получение студентами навыков самостоятельной исследовательской работы, предполагающей изучение специфических методов распределённых вычислений, анализа их архитектур и функционирующего на них программного обеспечения, а также машинного обучения.
В результате освоения дисциплины студент должен:
Знать:
- методы обработки и хранения информации в распределённых вычислительных системах;
- методы хранения информации в распределённых вычислительных системах;
- базовые абстрактные структуры данных, понимать их особенности, применимые операции и методы реализации;
- основные проблемы анализа данных, сопряженных с машинным обучением;
- основные методы и алгоритмы, применяемые в машинном обучении;
- архитектуры нейрочипов и нейрокомпьютеров;
Уметь:
- оценивать системы распределённых вычислений с точки зрения комплексных критериев качества;
- проводить исследование с помощью моделей распределённых вычислительных систем;
- разрабатывать программы, реализующие заданные алгоритмы и использующие определенные структуры данных
- реализовывать нейронные сети различной архитектуры на доступных аппаратных средствах поддержки вычислений
Иметь навыки (приобрести опыт) и владеть:
- методами анализа потоков данных в системах распределённых вычислений различной архитектуры;
- инструментами замера времени при обработке данных в распределённых системах обработки информации в программных реализациях алгоритмов;
- основами технологий разработки программ для использования в системах распределённых вычислений;
- моделировать нейронные сети различных архитектур на ПЭВМ (CPU), графических процессорах (GPU), специальных пакетах моделирования;
- основами процедурного и объектно-ориентированного программирования, работы с шаблонами функций и классов.
Роль локальности данных Физический план исполнения SQL-запросов в Spark. Связь между RDD и операторами SQL
В целом понятно, что системе образования не нужна «революция» и полная переделка всех учебных программ. Для того, чтобы решить проблему консервативности образования, необходимо подготавливать и вводить дополнительные курсы, объединяясь с ведущими компаниями, которые ежедневно сталкиваются с этими технологиями. В том числе это поможет обеспечить необходимую подготовку для работы с Big Data.
Проблемы и возможности.
Во время анализа учебных программ столкнулся с тем, что не все университеты публикуют свои программы в электронном виде. У кого-то их не было вообще, у кого-то лишь отсканированные версии. Да и в целом на сайте ВУЗов учебные программы спрятаны довольно «далеко». Но с помощью поисковых систем и правильных запросов мне удалось найти учебные программы в 3-х университетах.
Также за время исследования я столкнулся с тем, что вокруг каждого понятия и термина происходит много неразберихи. Даже тот факт, что за термином Big Data ни один источник не приводит достоверных технологий и парадигм, заставляет задуматься. Я считаю, что всей этой системе необходима существенная реорганизация с целью «расставить всё по полочкам».
Для области Big Data будет очень полезно, если разработчики из сообщества вместе решат, какой стек программ использовать для работы с Big Data, а какие нет. Это позволит гораздо эффективнее и быстрее произвести эволюцию многих сфер нашей жизни.
I. Виктор М.Ш. Большие данные / Виктор Майер-Шенбергер, Кеннет
Кукьер.— М.: Изд-во Манн Иванов и Фербер, 2014.— С. 62-304.
2. Hastie T. The Elements of Statistical Learning / Hastie T., Tibshirani R., Friedman J. — Springer, 2014. — С. 739.
3. Bishop C. M. Pattern Recognition and Machine Learning. / Bishop C. M. — Springer, 2006. — С. 738.
4. Мерков А. Б. Распознавание образов. Введение в методы статистического обучения / Мерков А. Б. Едиториал — 2011. С. 256.
5. Коэльо Л.П. Построение систем машинного обучения на языке Python / Коэльо Л.П., Ричарт В. ДМК ПРЕСС — 2016. — С. 302.
6. HBase, загрузка больших массивов данных [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/post/195040/- Заглавие с экрана. - (Дата обращения: 12.04.2017)
7. NoSQL базы данных [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/post/152477/- Заглавие с экрана. - (Дата обращения: 14.04.2017)
8. Big Data от А до Я. Часть 1: Принципы работы с большими данными, парадигма MapReduce [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/company/dca/blog/267361/- Заглавие с экрана. - (Дата обращения: 25.04.2017)
9. Big Data от А до Я. Часть 2: Hadoop [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/company/dca/blog/268277/- Заглавие с экрана. - (Дата обращения: 02.05.2017)
10. Big Data от А до Я. Часть 4: Hbase [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/company/dca/blog/280700/- Заглавие с экрана. - (Дата обращения: 02.05.2017)
II. Ранжирование в Яндексе: как поставить машинное обучение на поток [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/company/yandex/blog/175917/-Заглавие с экрана. - (Дата обращения: 05.05.2017)
12. Как работают рекомендательные системы. Лекция в Яндексе [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/company/yandex/blog/241455/-Заглавие с экрана. - (Дата обращения: 05.05.2017)
13. Ранжирование и машинное обучение [Электронный ресурс]. - Режим доступа: https://yandex.ru/company/technologies/learning/-Заглавие с экрана. - (Дата обращения: 05.05.2017)
14. Матрикснет [Электронный ресурс]. - Режим доступа: https://yandex.ru/company/technologies/matrixnet/-Заглавие с экрана. - (Дата обращения: 06.05.2017)
15. Искусственный интеллект в поиске. Как Яндекс научился применять нейронные сети, чтобы искать по смыслу, а не словам [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/company/yandex/blog/314222/-Заглавие с экрана. -
(Дата обращения: 06.05.2017)
16. Матрикснет [Электронный ресурс]. - Режим доступа: https://yandex.ru/support/partner2/technologies/matrixnet.html-Заглавие с экрана. - (Дата обращения: 08.05.2017)
17. Самое главное о нейронных сетях. Лекция в Яндексе [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/company/yandex/blog/307260/-Заглавие с экрана. - (Дата обращения: 08.05.2017)
18. Аналитический обзор рынка Big Data [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/company/moex/blog/256747/-Заглавие с экрана. - (Дата обращения: 12.05.2017)
19. Big Data vs Data Mining [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/post/267827/-Заглавие с экрана. - (Дата обращения: 12.05.2017)
20. Бакалаврская программа «Программная инженерия» [Электронный ресурс]. - Режим доступа: https://www.hse.ru/ba/se/-Заглавие с экрана. - (Дата обращения: 01.06.2017)
21. Учебный процесс. Учебные планы [Электронный ресурс]. - Режим доступа: http://kpfu.ru/itis/obuchenie-v-itis/uchebnye-plany/-Заглавие с экрана. - (Дата обращения: 01.06.2017)
22. Программа обучения [Электронный ресурс]. - Режим доступа: https://yandexdataschool.ru/edu-process/program/big-data/-Заглавие с экрана. - (Дата обращения: 01.06.2017)
23. Учебный план [Электронный ресурс]. - Режим доступа: http://bigdata.beeline.digital/#schedule-Заглавие с экрана. - (Дата обращения: 01.06.2017)