Big Data,с чего начать?
Coding
Молодым IT-никам не всегда понятно, с чего нужно начать изучение больших данных, какими навыками нужно обладать и какими инструментами стоит пользоваться.
В этой статье мы рассмотрим способы изучения одного из самых популярных направлений в мире IT.
Если вы собираетесь развиваться в направлении Big Data Engineering, то есть заниматься разработкой архитектуры системы, настройкой сбора и хранения больших объемов данных, то прежде всего, нужно обладать навыками программирования, понимать принцип работы Hadoop, понимать внутреннее устройство СУБД, иметь представление о многопоточном программировании. Анализ Big Data включает в себя выявление тенденций и закономерностей, разработку различных систем классификации и прогнозирования, интерпретацию результатов.
Если вы хорошо разбираетесь в программировании, успешно решаете сложные задачи по высшей математике, знаете теорию вероятностей, математический анализ, комбинаторику, то это как раз те навыки, которые пригодятся в работе в области Big Data Analytics.
Главным инструментом в работе с Big Data считается Hadoop. Иногда может требоваться Spark – он выполняет задачи, схожие с Hadoop.
Big Data — это данные, которые не помещаются в оперативную память компьютера. Поэтому всю подготовку стоит разделить на анализ данных и анализ больших данных.
Поскольку эта сфера сейчас быстро развивается, то информации относительно неё всегда много, и она также будет расти дальше. Поэтому важно уметь конкретно в своей голове работать с большими наплывом обучающей информации и структурировать её «под себя».
Научиться ориентироваться, какие типы данных вообще бывают, и что с ними можно делать.
Вот один живой пример. Часто в интернете мы видим разные рейтинги, например рейтинги фильмов.
Это знакомая всем история, когда посетители ресурса ставят оценку фильму от 1 до 5 звёздочек, а сайт автоматически интерактивно подсчитывает среднее значение рейтинга фильма.
Это очень частая картина, но смысл в том, что тут-то и происходит подмена понятий: идёт искажение реальной оценки рейтинга фильма. Нельзя считать среднее значение, если расстояние между всеми оценками неодинаковое. Ведь для кого-то 4 — как для вас 3, или наоборот, как 5.
Как в школе: 4 у определённого педагога — это подарок «с небес», а у другого 5 получить удаётся легко, и 4 наоборот «обижает».
То есть оценки от разных пользователей неравнозначны. Поэтому тут для адекватной оценки рейтинга специалисты Data Science используют другие меры расчёта. И вот таких жизненных примеров много.
Развивать навык задавать интересные осмысленные вопросы.
Дело в том, что когда вы видите огромный объём данных, очень важно знать, что именно вы хотите разузнать, прояснить и выверить.
Поэтому важно уметь видеть не просто данные, а смысл за ними.
Развивать навык, как из интересных вопросов строить гипотезы, переводить их на язык математики и «компьютерного мышления» и проверять их.
Любой исследователь вам скажет, что одна гипотеза — это не вариант, их должно быть как минимум три.
И кроме этого, важно разбираться в стратегии их проверки.
На уровне анализа обычных данных в первую очередь проверяется гипотеза от противного, а не наоборот.

Допустим, у вас есть гипотеза, что онлайн-образование влияет на мотивацию учеников учиться.
Просто проверка именно этой гипотезы ничего не доказывает, важно проверить обратную гипотезу, что онлайн-образование НЕ влияет на мотивацию учеников учиться.
И если именно обратная гипотеза не будет подтверждена, то верна первоначальная гипотеза: что онлайн-образование влияет на мотивацию. Так что эти нюансы важны.
Обучаться на конкретных примерах, не зацикливаясь на языке программирования.
В первую очередь важно набивать руку не на коде, а на смыслах.
Можно подобрать себе бесплатные онлайн-курсы на Python, R или аналогичные варианты.
Есть ряд курсов, где не растрачивается время на сложности программирования и настройку среды программирования, и для этого задействуются настроенные версии web-платформ для интерактивных вычислений, таких как open-source проект Jupiter.

В его названии как раз и кроется ответ, какие языки этот проект поддерживает: Julia, Python и R.
На самом деле там больше языков, но суть в том, что благодаря Jupiter и другим аналогичным проектам вы можете сразу начать программировать на онлайн-курсе, разбирая ключевые смыслы задач, не тратя время на настройку среды.
Переход на чистый Big Data Analysis.
Этот этап позволит вам оптимизировать вычисления через парадигму параллельных вычислений и платформ обработки для распределённых в разных местах больших данных (Hadoop, Scala и т. п.).
Именно их используют, когда объём данных уже слишком велик, и не помещается в оперативную память одного компьютера.

Если есть азарт выходить на уровень промышленного или научного программирования, то тут понадобятся знания языков C++ или Go и подключение параллельных библиотек MPI или CUDA.
Если ваши аппетиты чуть пониже, то тогда можно остановиться на обработке информации через различные системы (например для обработки информации в реальном времени используют платформы Scala и Storm).
Перейдём к выводам:
- Выберите предпочитаемое направление.
- Изучите нужные технологии и инструменты, например Hadoop, Kafka, Spark, Python, NoSQL и т. д.
- Проходите курсы, также читайте книги/статьи.
- Посещайте различные конференции, взаимодействуйте с людьми на форумах, изучайте проекты на GitHub, одним словом — общайтесь и делитесь опытом.
- Постоянно практикуйтесь. Можете заняться своим собственным проектом, а можете поучаствовать на площадке для соревнований вроде Kaggle.
На этом всё, спасибо за внимание!
0100100001100101011011000110110001101111001000000101011101101111011100100110110001100100
Не забывайте ставить 👍 если вам понравилась и подписаться на канал, а так же посетить наш чат.