Что понимается под большими данными

Big Data: что это и где применяется?

Что понимается под большими данными. Смотреть фото Что понимается под большими данными. Смотреть картинку Что понимается под большими данными. Картинка про Что понимается под большими данными. Фото Что понимается под большими данными

Почему все вокруг говорят про большие данные? Какие именно данные считаются большими? Где их искать, зачем они нужны, как на них заработать? Объясняем простыми словами вместе с экспертом SkillFactory — ведущим автором курса по машинному обучению, старшим аналитиком в «КиноПоиске» Александром Кондрашкиным.

Что такое Big Data

Big Data (большие данные) — огромные наборы разнообразных данных. Огромные, потому что их объемы такие, что простой компьютер не справится с их обработкой, а разнообразные — потому что эти данные разного формата, неструктурированные и содержат ошибки. Большие данные быстро накапливаются и используются для разных целей.

Big Data — это не обычная база данных, даже если она очень большая. Вот отличия:

Не большие данныеБольшие данные
База записей о тысячах работников корпорации. Информация в такой базе имеет заранее известные характеристики и свойства, ее можно представить в виде таблицы, как в Excel.Журнал действий сотрудников. Например, все данные, которые создает во время работы колл-центр, где работает 500 человек.
Информация об именах, возрасте и семейном положении всех 2,5 миллиардов пользователей Facebook — это всего лишь очень большая база данных.Переходы по ссылкам, отправленные и полученные сообщения, лайки и репосты, движения мыши или касания экранов смартфонов всех пользователей Facebook.
Архив записей городских камер видеонаблюдения.Данные системы видеофиксации нарушений правил дорожного движения с информацией о дорожной ситуации и номерах автомобилей нарушителей; информация о пассажирах метро, полученная с помощью системы распознавания лиц, и о том, кто из них числится в розыске.

Объем информации в мире увеличивается ежесекундно, и то, что считали большими данными десятилетие назад, теперь умещается на жесткий диск домашнего компьютера.

Что понимается под большими данными. Смотреть фото Что понимается под большими данными. Смотреть картинку Что понимается под большими данными. Картинка про Что понимается под большими данными. Фото Что понимается под большими данными

60 лет назад жесткий диск на 5 мегабайт был в два раза больше холодильника и весил около тонны. Современный жесткий диск в любом компьютере вмещает до полутора десятков терабайт (1 терабайт равен 1 млн мегабайт) и по размерам меньше обычной книги.

В 2021 году большие данные измеряют в петабайтах. Один петабайт равен миллиону гигабайт. Трехчасовой фильм в формате 4K «весит» 60‒90 гигабайт, а весь YouTube — 5 петабайт или 67 тысяч таких фильмов. 1 млн петабайт — это 1 зеттабайт.

Data Scientist с нуля

Cтаньте дата-сайентистом и приручите большие данные. Вы научитесь выявлять закономерности в данных и создавать модели для решения бизнес-задач.

Скидка 45% по промокоду BLOG.

Как работает технология Big Data?

Источники сбора больших данных делятся на три типа:

Все, что человек делает в сети, — источник социальных больших данных. Каждую секунду пользователи загружают в Instagram 1 тыс. фото и отправляют более 3 млн электронных писем. Ежесекундный личный вклад каждого человека — в среднем 1,7 мегабайта.

Другие примеры социальных источников Big Data — статистики стран и городов, данные о перемещениях людей, регистрации смертей и рождений и медицинские записи.

Большие данные также генерируются машинами, датчиками и «интернетом вещей». Информацию получают от смартфонов, умных колонок, лампочек и систем умного дома, видеокамер на улицах, метеоспутников.

Транзакционные данные возникают при покупках, переводах денег, поставках товаров и операциях с банкоматами.

Как обрабатывают большие данные?

Массивы Big Data настолько большие, что простой Excel с ними не справится. Поэтому для работы с ними используют специальное ПО.

Его называют «‎горизонтально масштабируемым‎‎»‎, потому что оно распределяет задачи между несколькими компьютерами, одновременно обрабатывающими информацию. Чем больше машин задействовано в работе, тем выше производительность процесса.

Такое ПО основано на MapReduce, модели параллельных вычислений. Модель работает так:

MapReduce — не конкретная программа, а скорее алгоритм, с помощью которого можно решить большинство задач обработки больших данных.

Примеры ПО, которое основывается на MapReduce:

Специалисты по большим данным используют оба инструмента: Hadoop для создания инфраструктуры данных и Spark для обработки потоковой информации в реальном времени.

Где применяется аналитика больших данных?

Большие данные нужны в маркетинге, перевозках, автомобилестроении, здравоохранении, науке, сельском хозяйстве и других сферах, в которых можно собрать и обработать нужные массивы информации.

Бизнесу большие данные нужны, чтобы:

Анализ больших данных позволяет не только систематизировать информацию, но и находить неочевидные причинно-следственные связи.

Продажи товаров

Онлайн-маркетплейс Amazon запустил систему рекомендаций товаров, работающую на машинном обучении. Она учитывает не только поведение и предыдущие покупки пользователя, но и время года, ближайшие праздники и остальные факторы. После того как эта система заработала, рекомендации начали генерировать 35% всех продаж сервиса.

В супермаркетах «Лента» с помощью больших данных анализируют информацию о покупках и предлагают персонализированные скидки на товары. К примеру, говорят в компании, система по данным о покупках может понять, что клиент изменил подход к питанию, и начнет предлагать ему подходящие продукты.

Американская сеть Kroger использует большие данные для персонализации скидочных купонов, которые получают покупатели по электронной почте. После того как их сделали индивидуальными, подходящими конкретным покупателям, доля покупок только по ним выросла с 3,7 до 70%.

Найм сотрудников

Крупные компании, в том числе российские, стали прибегать к помощи роботов-рекрутеров, чтобы на начальном этапе поиска сотрудника отсеять тех, кто не заинтересован в вакансии или не подходит под нее. Так, компания Stafory разработала робота Веру, которая сортирует резюме, делает первичный обзвон и выделяет заинтересованных кандидатов. PepsiCo заполнила 10% нужных вакансий только с помощью робота.

Банки

Автомобилестроение

В 2020 году у автоконцерна Toyota возникла проблема: нужно было понять причину большого числа аварий по вине водителей, перепутавших педали газа и тормоза. Компания собрала данные со своих автомобилей, подключенных к интернету, и на их основе определила, как именно люди нажимают на педали.

Оказалось, что сила и скорость давления различаются в зависимости от того, хочет человек затормозить или ускориться. Теперь компания разрабатывает систему, которая будет определять манеру давления на педали во время движения и сбросит скорость автомобиля, если водитель давит на педаль газа, но делает это так, будто хочет затормозить.

Медицина

Американские ученые научились с помощью больших данных определять, как распространяется депрессия. Исследователь Мунмун Де Чаудхури и ее коллеги загрузили в прогностическую модель сообщения из Twitter, Facebook и Reddit с геометками. Сообщения отбирали по словам, которые могут указывать на депрессивное и подавленное состояние. Расчеты совпали с официальными данными.

Госструктуры

Большие данные просто необходимы госструктурам. С их помощью ведется не только статистика, но и слежка за гражданами. Подобные системы есть во многих странах: известен сервис PRISM, которыми пользуются ФБР и ЦРУ для сбора персональных данных из соцсетей и продуктов Microsoft, Google и Apple. В России информацию о пользователях и телефонных звонках собирает система СОРМ.

Маркетинг

Социальные большие данные помогают группировать пользователей по интересам и персонализировать для них рекламу. Людей ранжируют по возрасту, полу, интересам и месту проживания. Те, кто живут в одном регионе, бывают в одних и тех же местах, смотрят видео и читают статьи на похожие темы, скорее всего, заинтересуются одними и теми же товарами.

При этом регулярно происходят скандалы, связанные с использованием больших данных в маркетинге. Так, в 2018 году стриминговую платформу Netflix обвинили в расизме из-за того, что она показывает пользователям разные постеры фильмов и сериалов в зависимости от их пола и национальности.

Медиа

С помощью анализа больших данных в медиа измеряют аудиторию. В этом случае Big Data может даже повлиять на политику редакции. Так, издание Huffington Post использует систему, которая в режиме реального времени показывает статистику посещений, комментариев и других действий пользователей, а также готовит аналитические отчеты.

Система в Huffington Post оценивает, насколько эффективно заголовки привлекают внимание читателя, разрабатывает методы доставки контента определенным категориям пользователей. Например, выяснилось, что родители чаще читают статьи со смартфона и поздно вечером в будни, после того как уложили детей спать, а по выходным они обычно заняты, — в итоге контент для родителей публикуется на сайте в удобное для них время.

Логистика

Использование больших данных помогает оптимизировать перевозки, сделать доставку быстрее и дешевле. В компании DHL работа с большими данными коснулась так называемой проблемы последней мили, когда необходимость проехать через дворы и найти парковку перед тем, как отдать заказ, съедает в общей сложности 28% от стоимости доставки. В компании стали анализировать «последние мили» с помощью информации с GPS и данных о дорожной обстановке. В результате удалось сократить затраты на топливо и время доставки груза.

Внутри компании большие данные помогают отслеживать качество работы сотрудников, соблюдение контрольных сроков, правильность их действий. Для анализа используют машинные данные, например со сканеров посылок в отделениях, и социальные — отзывы посетителей отделения в приложении, на сайтах и в соцсетях.

Обработка фото

До 2016 года не было технологии нейросетей на мобильных устройствах, это даже считали невозможным. Прорыв в этой области (в том числе благодаря российскому стартапу Prisma) позволяет нам сегодня пользоваться огромным количеством фильтров, стилей и разных эффектов на фотографиях и видео.

Аренда недвижимости

Сервис Airbnb с помощью Big Data изменил поведение пользователей. Однажды выяснилось, что посетители сайта по аренде недвижимости из Азии слишком быстро его покидают и не возвращаются. Оказалось, что они переходят с главной страницы на «Места поблизости» и уходят смотреть фотографии без дальнейшего бронирования.

Компания детально проанализировала поведение пользователей и заменила ссылки в разделе «Места поблизости» на самые популярные направления для путешествий в азиатских странах. В итоге конверсия в бронирования из этой части планеты выросла на 10%.

Кто работает с большими данными?

Дата-сайентисты специализируются на анализе Big Data. Они ищут закономерности, строят модели и на их основе прогнозируют будущие события.

Например, исследователь больших данных может использовать статистику по снятиям денег в банкоматах, чтобы разработать математическую модель для предсказания спроса на наличные. Эта система подскажет инкассаторам, сколько денег и когда привезти в конкретный банкомат.

Чтобы освоить эту профессию, необходимо понимание основ математического анализа и знание языков программирования, например Python или R, а также умение работать с SQL-базами данных.

Data Scientist с нуля

Вы освоите Python и SQL, познакомитесь с машинным обучением и определитесь со специализацией: Machine Learning, Computer Vision или Natural Language Processing. Скидка 5% по промокоду BLOG.

Аналитик данных использует тот же набор инструментов, что и дата-сайентист, но для других целей. Его задачи — делать описательный анализ, интерпретировать и представлять данные в удобной для восприятия форме. Он обрабатывает данные и выдает результат, составляя аналитические отчеты, статистику и прогнозы.

С Big Data также работают и другие специалисты, для которых это не основная сфера работы:

Освойте все инструменты, необходимые junior-аналитику и получите востребованную профессию за 6 месяцев.

Скидка 45% по промокоду BLOG.

Дата-инженер занимается технической стороной вопроса и первый работает с информацией: организует ее сбор, хранение и первоначальную обработку.

Дата-инженеры помогают исследователям, создавая ПО и алгоритмы для автоматизации задач. Без таких инструментов большие данные были бы бесполезны, так как их объемы невозможно обработать. Для этой профессии важно знание Python и SQL, уметь работать с фреймворками, например со Spark.

Курс подходит для тех, кто имеет базовые знания языка Python. За два месяца вы освоите все важные этапы Data Engineering.

Скидка 45% по промокоду BLOG.

Александр Кондрашкин о других профессиях, в которых может понадобиться Big Data: «Где-то может и product-менеджер сам сходить в Hadoop-кластер и посчитать что-то несложное, если обладает такими навыками. Наверняка есть множество backend-разработчиков и DevOps-инженеров, которые настраивают хранение и сбор данных от пользователей».

Востребованность больших данных и специалистов по ним

Востребованность больших данных растет: по исследованиям 2020 года, даже при пессимистичном сценарии объем рынка Big Data в России к 2024 году вырастет с 45 млрд до 65 млрд рублей, а при хорошем развитии событий — до 230 млрд.

Вместе с популярностью больших данных растет запрос и на тех, кто может эффективно с ними работать. В середине 2020 года Академия больших данных MADE от Mail.ru Group и HeadHunter провели исследование и выяснили, что специалисты по анализу данных уже являются одними из самых востребованных на рынке труда в России. За четыре года число вакансий в этой области увеличилось почти в 10 раз.

Более трети вакансий для специалистов по анализу данных (38%) приходится на IT-компании, финансовый сектор (29%) и сферу услуг для бизнеса (9%). В сфере машинного обучения IT-компании публикуют 55% вакансий на рынке, 10% приходит из финансового сектора и 9% — из сферы услуг.

Как начать работать с большими данными?

Проще будет начать, если у вас уже есть понимание алгоритмов и хорошее знание математики, но это не обязательно. Например, Оксана Дереза была филологом и для нее главной трудностью в Data Science оказалось вспомнить математику и разобраться в алгоритмах, но она много занималась и теперь анализирует данные в исследовательском институте.

Еще несколько историй людей, которые успешно освоили data-профессию

Если у вас нет математических знаний, на курсе SkillFactory «Data Science с нуля» вы получите достаточную подготовку, чтобы работать с большими данными. За год вы научитесь получать данные из веб-источников или по API, визуализировать данные с помощью Pandas и Matplotlib, применять методы математического анализа, линейной алгебры, статистики и теории вероятности для обработки данных и многое другое.

Чтобы стать аналитиком данных, вам пригодится знание Python и SQL — эти навыки очень популярны в вакансиях компаний по поиску соответствующей позиции. На курсе «Аналитик данных» вы получите базу знаний основных инструментов аналитики (от Google-таблиц до Python и Power BI) и закрепите их на тренажерах.

Важно определиться со сферой, в которой вы хотите работать. Студентка SkillFactory Екатерина Карпова, рассказывает, что после обучения ей была важна не должность, а сфера (финтех), поэтому она сначала устроилась консультантом в банк «Тинькофф», а теперь работает там аналитиком.

Data Science с нуля

Освойте все необходимые инструменты для уровня junior и получите самую востребованную IT-профессию 2021 года.

Источник

Big data

Определение Big data обычно расшифровывают довольно просто – это огромный объем информации, часто бессистемной, которая хранится на каком либо цифровом носителе. Однако массив данных с приставкой «Биг» настолько велик, что привычными средствами структурирования и аналитики «перелопатить» его невозможно. Поэтому под термином «биг дата» понимают ещё и технологии поиска, обработки и применения неструктурированной информации в больших объемах.

Что понимается под большими данными. Смотреть фото Что понимается под большими данными. Смотреть картинку Что понимается под большими данными. Картинка про Что понимается под большими данными. Фото Что понимается под большими данными

Экскурс в историю и статистику

Из статистических выкладок аналитических агентств в 2005 году мир оперировал 4-5 эксабайтами информации (4-5 миллиардов гигабайтов), через 5 лет объемы big data выросли до 0,19 зеттабайт (1 ЗБ = 1024 ЭБ). В 2012 году показатели возросли до 1,8 ЗБ, а в 2015 – до 7 ЗБ. Эксперты прогнозируют, что к 2020 году системы больших данных будут оперировать 42-45 зеттабайтов информации.

Что понимается под большими данными. Смотреть фото Что понимается под большими данными. Смотреть картинку Что понимается под большими данными. Картинка про Что понимается под большими данными. Фото Что понимается под большими данными

До 2011 года технологии больших данных рассматривались только в качестве научного анализа и практического выхода ни имели. Однако объемы данных росли по экспоненте и проблема огромных массивов неструктурированной и неоднородной информации стала актуальной уже в начале 2012 году. Всплеск интереса к big data хорошо виден в Google Trends.

Что понимается под большими данными. Смотреть фото Что понимается под большими данными. Смотреть картинку Что понимается под большими данными. Картинка про Что понимается под большими данными. Фото Что понимается под большими данными

К развитию нового направления подключились мастодонты цифрового бизнеса – Microsoft, IBM, Oracle, EMC и другие. С 2014 года большие данные изучают в университетах, внедряют в прикладные науки – инженерию, физику, социологию.

Как работает технология big data?

Чтобы массив информации обозначить приставкой «биг» он должен обладать следующими признаками:

Что понимается под большими данными. Смотреть фото Что понимается под большими данными. Смотреть картинку Что понимается под большими данными. Картинка про Что понимается под большими данными. Фото Что понимается под большими данными

В современных системах рассматриваются два дополнительных фактора:

Принцип работы технологии big data основан на максимальном информировании пользователя о каком-либо предмете или явлении. Задача такого ознакомления с данными – помочь взвесить все «за» и «против», чтобы принять верное решение. В интеллектуальных машинах на основе массива информации строится модель будущего, а дальше имитируются различные варианты и отслеживаются результаты.

Что понимается под большими данными. Смотреть фото Что понимается под большими данными. Смотреть картинку Что понимается под большими данными. Картинка про Что понимается под большими данными. Фото Что понимается под большими данными

Современные аналитические агентства запускают миллионы подобных симуляций, когда тестируют идею, предположение или решают проблему. Процесс автоматизирован.

К источникам big data относят:

Принципы работы с массивами данных включают три основных фактора:

Для чего используют?

Чем больше мы знаем о конкретном предмете или явлении, тем точнее постигаем суть и можем прогнозировать будущее. Снимая и обрабатывая потоки данных с датчиков, интернета, транзакционных операций, компании могут довольно точно предсказать спрос на продукцию, а службы чрезвычайных ситуаций предотвратить техногенные катастрофы. Приведем несколько примеров вне сферы бизнеса и маркетинга, как используются технологии больших данных:

Методики анализа и обработки

Что понимается под большими данными. Смотреть фото Что понимается под большими данными. Смотреть картинку Что понимается под большими данными. Картинка про Что понимается под большими данными. Фото Что понимается под большими данными

К основным способам анализа больших массивов информации относят следующие:

Большие данные в бизнесе и маркетинге

Стратегии развития бизнеса, маркетинговые мероприятия, реклама основаны на анализе и работе с имеющимися данными. Большие массивы позволяют «перелопатить» гигантские объемы данных и соответственно максимально точно скорректировать направление развития бренда, продукта, услуги.

Например, аукцион RTB в контекстной рекламе работают с big data, что позволяет эффективно рекламировать коммерческие предложения выделенной целевой аудитории, а не всем подряд.

Какие выгоды для бизнеса:

Технологии используют в прогнозировании популярности продуктов, например, с помощью сервиса Google Trends и Яндекс. Вордстат (для России и СНГ).

Что понимается под большими данными. Смотреть фото Что понимается под большими данными. Смотреть картинку Что понимается под большими данными. Картинка про Что понимается под большими данными. Фото Что понимается под большими данными

Методики big data используют все крупные компании – IBM, Google, Facebook и финансовые корпорации – VISA, Master Card, а также министерства разных стран мира. Например, в Германии сократили выдачу пособий по безработице, высчитав, что часть граждан получают их без оснований. Так удалось вернуть в бюджет около 15 млрд. евро.

Недавний скандал с Facebook из-за утечки данных пользователей говорит о том, что объемы неструктурированной информации растут и даже мастодонты цифровой эры не всегда могут обеспечить их полную конфиденциальность.

Что понимается под большими данными. Смотреть фото Что понимается под большими данными. Смотреть картинку Что понимается под большими данными. Картинка про Что понимается под большими данными. Фото Что понимается под большими данными

Например, Master Card используют большие данные для предотвращения мошеннических операций со счетами клиентов. Так удается ежегодно спасти от кражи более 3 млрд. долларов США.

В игровой сфере big data позволяет проанализировать поведение игроков, выявить предпочтения активной аудитории и на основе этого прогнозировать уровень интереса к игре.

Что понимается под большими данными. Смотреть фото Что понимается под большими данными. Смотреть картинку Что понимается под большими данными. Картинка про Что понимается под большими данными. Фото Что понимается под большими данными

Сегодня бизнес знает о своих клиентах больше, чем мы сами знаем о себе – поэтому рекламные кампании Coca-Cola и других корпораций имеют оглушительный успех.

Перспективы развития

В 2019 году важность понимания и главное работы с массивами информации возросла в 4-5 раз по сравнению с началом десятилетия. С массовостью пришла интеграция big data в сферы малого и среднего бизнеса, стартапы:

Резюме

Мы изучили, что такое big data? Рассмотрели, как работает эта технология, для чего используются массивы информации. Познакомились с принципами и методиками работы с большими данными.

Рекомендуем к прочтению книгу Рика Смолана и Дженнифер Эрвитт «The Human Face of Big Data», а также труд «Introduction to Data Mining» Майкла Стейнбаха, Випин Кумар и Панг-Нинг Тан.

Источник

Big Data от А до Я. Часть 1: Принципы работы с большими данными, парадигма MapReduce

Что понимается под большими данными. Смотреть фото Что понимается под большими данными. Смотреть картинку Что понимается под большими данными. Картинка про Что понимается под большими данными. Фото Что понимается под большими данными

Привет, Хабр! Этой статьёй я открываю цикл материалов, посвящённых работе с большими данными. Зачем? Хочется сохранить накопленный опыт, свой и команды, так скажем, в энциклопедическом формате – наверняка кому-то он будет полезен.

Проблематику больших данных постараемся описывать с разных сторон: основные принципы работы с данными, инструменты, примеры решения практических задач. Отдельное внимание окажем теме машинного обучения.

Начинать надо от простого к сложному, поэтому первая статья – о принципах работы с большими данными и парадигме MapReduce.

История вопроса и определение термина

Термин Big Data появился сравнительно недавно. Google Trends показывает начало активного роста употребления словосочетания начиная с 2011 года (ссылка):

Что понимается под большими данными. Смотреть фото Что понимается под большими данными. Смотреть картинку Что понимается под большими данными. Картинка про Что понимается под большими данными. Фото Что понимается под большими данными

При этом уже сейчас термин не использует только ленивый. Особенно часто не по делу термин используют маркетологи. Так что же такое Big Data на самом деле? Раз уж я решил системно изложить и осветить вопрос – необходимо определиться с понятием.

В своей практике я встречался с разными определениями:

· Big Data – это когда данных больше, чем 100Гб (500Гб, 1ТБ, кому что нравится)

· Big Data – это такие данные, которые невозможно обрабатывать в Excel

· Big Data – это такие данные, которые невозможно обработать на одном компьютере

· Вig Data – это вообще любые данные.

· Big Data не существует, ее придумали маркетологи.

В этом цикле статей я буду придерживаться определения с wikipedia:

Большие данные (англ. big data) — серия подходов, инструментов и методов обработки структурированных и неструктурированных данных огромных объёмов и значительного многообразия для получения воспринимаемых человеком результатов, эффективных в условиях непрерывного прироста, распределения по многочисленным узлам вычислительной сети, сформировавшихся в конце 2000-х годов, альтернативных традиционным системам управления базами данных и решениям класса Business Intelligence.

Таким образом под Big Data я буду понимать не какой-то конкретный объём данных и даже не сами данные, а методы их обработки, которые позволяют распредёлено обрабатывать информацию. Эти методы можно применить как к огромным массивам данных (таким как содержание всех страниц в интернете), так и к маленьким (таким как содержимое этой статьи).

Приведу несколько примеров того, что может быть источником данных, для которых необходимы методы работы с большими данными:

· Логи поведения пользователей в интернете

· GPS-сигналы от автомобилей для транспортной компании

· Данные, снимаемые с датчиков в большом адронном коллайдере

· Оцифрованные книги в Российской Государственной Библиотеке

· Информация о транзакциях всех клиентов банка

· Информация о всех покупках в крупной ритейл сети и т.д.

Количество источников данных стремительно растёт, а значит технологии их обработки становятся всё более востребованными.

Принципы работы с большими данными

Исходя из определения Big Data, можно сформулировать основные принципы работы с такими данными:

1. Горизонтальная масштабируемость. Поскольку данных может быть сколь угодно много – любая система, которая подразумевает обработку больших данных, должна быть расширяемой. В 2 раза вырос объём данных – в 2 раза увеличили количество железа в кластере и всё продолжило работать.

2. Отказоустойчивость. Принцип горизонтальной масштабируемости подразумевает, что машин в кластере может быть много. Например, Hadoop-кластер Yahoo имеет более 42000 машин (по этой ссылке можно посмотреть размеры кластера в разных организациях). Это означает, что часть этих машин будет гарантированно выходить из строя. Методы работы с большими данными должны учитывать возможность таких сбоев и переживать их без каких-либо значимых последствий.

3. Локальность данных. В больших распределённых системах данные распределены по большому количеству машин. Если данные физически находятся на одном сервере, а обрабатываются на другом – расходы на передачу данных могут превысить расходы на саму обработку. Поэтому одним из важнейших принципов проектирования BigData-решений является принцип локальности данных – по возможности обрабатываем данные на той же машине, на которой их храним.

Все современные средства работы с большими данными так или иначе следуют этим трём принципам. Для того, чтобы им следовать – необходимо придумывать какие-то методы, способы и парадигмы разработки средств разработки данных. Один из самых классических методов я разберу в сегодняшней статье.

MapReduce

Про MapReduce на хабре уже писали (раз, два, три), но раз уж цикл статей претендует на системное изложение вопросов Big Data – без MapReduce в первой статье не обойтись J

MapReduce – это модель распределенной обработки данных, предложенная компанией Google для обработки больших объёмов данных на компьютерных кластерах. MapReduce неплохо иллюстрируется следующей картинкой (взято по ссылке):

Что понимается под большими данными. Смотреть фото Что понимается под большими данными. Смотреть картинку Что понимается под большими данными. Картинка про Что понимается под большими данными. Фото Что понимается под большими данными

MapReduce предполагает, что данные организованы в виде некоторых записей. Обработка данных происходит в 3 стадии:

1. Стадия Map. На этой стадии данные предобрабатываются при помощи функции map(), которую определяет пользователь. Работа этой стадии заключается в предобработке и фильтрации данных. Работа очень похожа на операцию map в функциональных языках программирования – пользовательская функция применяется к каждой входной записи.

Функция map() примененная к одной входной записи и выдаёт множество пар ключ-значение. Множество – т.е. может выдать только одну запись, может не выдать ничего, а может выдать несколько пар ключ-значение. Что будет находится в ключе и в значении – решать пользователю, но ключ – очень важная вещь, так как данные с одним ключом в будущем попадут в один экземпляр функции reduce.

2. Стадия Shuffle. Проходит незаметно для пользователя. В этой стадии вывод функции map «разбирается по корзинам» – каждая корзина соответствует одному ключу вывода стадии map. В дальнейшем эти корзины послужат входом для reduce.

3. Стадия Reduce. Каждая «корзина» со значениями, сформированная на стадии shuffle, попадает на вход функции reduce().

Функция reduce задаётся пользователем и вычисляет финальный результат для отдельной «корзины». Множество всех значений, возвращённых функцией reduce(), является финальным результатом MapReduce-задачи.

Несколько дополнительных фактов про MapReduce:

1) Все запуски функции map работают независимо и могут работать параллельно, в том числе на разных машинах кластера.

2) Все запуски функции reduce работают независимо и могут работать параллельно, в том числе на разных машинах кластера.

3) Shuffle внутри себя представляет параллельную сортировку, поэтому также может работать на разных машинах кластера. Пункты 1-3 позволяют выполнить принцип горизонтальной масштабируемости.

4) Функция map, как правило, применяется на той же машине, на которой хранятся данные – это позволяет снизить передачу данных по сети (принцип локальности данных).

5) MapReduce – это всегда полное сканирование данных, никаких индексов нет. Это означает, что MapReduce плохо применим, когда ответ требуется очень быстро.

Примеры задач, эффективно решаемых при помощи MapReduce

Word Count

Начнём с классической задачи – Word Count. Задача формулируется следующим образом: имеется большой корпус документов. Задача – для каждого слова, хотя бы один раз встречающегося в корпусе, посчитать суммарное количество раз, которое оно встретилось в корпусе.

Раз имеем большой корпус документов – пусть один документ будет одной входной записью для MapRreduce–задачи. В MapReduce мы можем только задавать пользовательские функции, что мы и сделаем (будем использовать python-like псевдокод):

Функция map превращает входной документ в набор пар (слово, 1), shuffle прозрачно для нас превращает это в пары (слово, [1,1,1,1,1,1]), reduce суммирует эти единички, возвращая финальный ответ для слова.

Обработка логов рекламной системы

Второй пример взят из реальной практики Data-Centric Alliance.

Задача: имеется csv-лог рекламной системы вида:

Необходимо рассчитать среднюю стоимость показа рекламы по городам России.

Функция map проверяет, нужна ли нам данная запись – и если нужна, оставляет только нужную информацию (город и размер платежа). Функция reduce вычисляет финальный ответ по городу, имея список всех платежей в этом городе.

Резюме

В статье мы рассмотрели несколько вводных моментов про большие данные:

· Что такое Big Data и откуда берётся;

· Каким основным принципам следуют все средства и парадигмы работы с большими данными;

· Рассмотрели парадигму MapReduce и разобрали несколько задач, в которой она может быть применена.

Первая статья была больше теоретической, во второй статье мы перейдем к практике, рассмотрим Hadoop – одну из самых известных технологий для работы с большими данными и покажем, как запускать MapReduce-задачи на Hadoop.

В последующих статьях цикла мы рассмотрим более сложные задачи, решаемые при помощи MapReduce, расскажем об ограничениях MapReduce и о том, какими инструментами и техниками можно обходить эти ограничения.

Спасибо за внимание, готовы ответить на ваши вопросы.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *