Работа с большим количеством информации что это
Научитесь работать с информацией эффективно
О том, насколько продуктивно можно работать с большими объемами информации, смотрите в этом видео:
За несколько минут в нем объясняется, как пройти целый учебник всего за 1 день.
Для того, чтобы научиться обрабатывать большие объемы данных за короткое время, нужно прокачать несколько навыков и пользоваться особыми технологиями. Поэтому мы собрали для вас несколько видео, объясняющих основные механизмы. Приятного просмотра.
Например, важное умение – быстро читать. Здесь есть, что совершенствовать, например, избавиться от проговаривания, тормозящего скорость. Или вспомните, часто ли приходится перечитывать один и тот же абзац (или предложение) по несколько раз? Увеличив скорость чтения и понимания прочитанного, можно избавиться от этих проблем. Для этого есть много методик скорочтения. Навык можно приобрести, если задать себе цель, не лениться и практиковать различные методики ежедневно. О том, какие методики существуют, вы узнаете из статьи.
Другие полезные навыки – структурировать информацию и выделять главное. Как это ни странно, мало кто может отличить действительно важную информацию от второстепенной. Обычно мы берем в руки карандаш и принимаемся подчеркивать направо и налево, боясь что-то упустить. Между тем, как правило, обыкновенная страница должна содержать в себе лишь несколько подчеркиваний. Обычно в категорию “главное” входят основные мысли (о чем текст), важные классификации, даты, имена, одним словом, фактическая информация.
А для того чтобы быстро запомнить новые данные, нужно нарисовать майнд-карту. Она представляет собой схему, когда стрелочки ведут от главной мысли к основным блокам текста. Важный нюанс состоит в том, что слова желательно заменить на символы и рисунки. Например, слово медицина можно заменить красным крестом, а книгу нарисовать. Со временем вырабатывается свой словарь частоупотребимых символов и майнд-карта составляется очень быстро. Слова, конечно, писать проще, однако на этапе воспроизведения мозг быстрее отображает рисунки. Попробуйте и увидите, как можно с точностью воспроизвести фрагмент текста по мини-картинкам. Первый раз вспоминайте содержание, опираясь на майнд-карту, а второй – воспроизводите своими силами без подглядываний. То, как составляется майнд-карта, вы можете увидеть здесь:
Если вам больше нравится читать, то у нас есть статья, в которой алгоритм подробно разобран на примере таблицы умножения.
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 и о том, какими инструментами и техниками можно обходить эти ограничения.
Спасибо за внимание, готовы ответить на ваши вопросы.
Big Data
Термин Big data обычно расшифровывают довольно просто – это огромный объем информации, часто бессистемной, которая хранится на каком либо цифровом носителе. Однако массив данных с приставкой «Биг» настолько велик, что привычными средствами структурирования и аналитики обработать его не представляется возможным.
Поэтому данным термином называют в большинстве случаев именно технологии поиска, обработки и применения неструктурированной информации в больших объемах.
История и статистика
В него он отнес любые массивы неоднородных данных свыше 150 Гб в сутки. Из статистических выкладок аналитических агентств в 2005 году мир оперировал 4-5 эксабайтами информации (4-5 миллиардов гигабайтов), через 5 лет объемы big data выросли до 0,19 зеттабайт (1 зеттабайт = 1024 эксабайтам). В 2012 году показатели возросли до 1,8 зеттабайтов, а в 2015 – до 7 зеттабайтов. Эксперты прогнозируют, что к 2020 году системы Big data будут оперировать 42-45 зеттабайтов информации.
До 2011 года технологии Big data рассматривались только в качестве научного анализа и практического применения ни имели. Однако объемы данных росли по экспоненте и проблема огромных массивов неструктурированной и неоднородной информации стала актуальной уже в начале 2012 года. Всплеск интереса к Big data хорошо виден в Google Trends.
К развитию нового направления подключились крупнейшие представители цифрового бизнеса – Microsoft, IBM, Oracle, EMC и другие. С 2014 года технологии Big data изучают в университетах, внедряют в прикладные науки – инженерию, физику, социологию.
Как работает технология Big Data?
Признаки Big Data
Не каждый массив информации достоин называться Big Data. Специалисты выделяют несколько важных признаков, которые присущи только глобальным объёмам информации.
1. Объем (Volume)
Данные измеряются по физической величине и занимаемому пространству на цифровом носителе. К «биг» относят массивы свыше 150 Гб в сутки.
2. Скорость, обновление (Velocity)
Информация регулярно обновляется и обрабатывается в реальном времени. Для этого необходимы интеллектуальные технологии больших данных.
3. Разнообразие (Variety)
Информация в массивах может иметь неоднородные форматы, быть структурированной частично, полностью и скапливаться бессистемно.
Например, социальные сети используют большие данные в виде текстов, видео, аудио, финансовых транзакций, картинок и прочего.
В современных системах дополнительно рассматривают ещё два фактора:
Принцип работы технологии big data основан на максимальном информировании пользователя о каком-либо предмете или явлении. Задача такого ознакомления с данными – помочь взвесить все «за» и «против», чтобы принять верное решение.
В интеллектуальных машинах на основе массива информации строится модель будущего, а дальше имитируются различные варианты и отслеживаются результаты.
Современные аналитические агентства запускают миллионы подобных симуляций, когда тестируют идею, предположение или решают проблему. Практически весь процесс автоматизирован.
Источники Big Data
К источникам big data относят:
Принципы работы с Big Data
Принципы работы с массивами данных включают три основных фактора:
Области применения
Чем больше мы знаем о конкретном предмете или явлении, тем точнее постигаем суть и можем прогнозировать будущее. Снимая и обрабатывая потоки данных с датчиков службы чрезвычайных ситуаций могут уменьшить влияние техногенных катастроф, в некоторых случаях даже предотвратить. Получая статистику через интернет каких-либо транзакционных операций и тому подобного, компании могут довольно точно предсказать спрос на продукцию
Приведем несколько примеров вне сферы бизнеса и маркетинга, как используются технологии Big Data:
Методики анализа и обработки
К основным способам анализа больших массивов информации относят следующие:
Big Data в бизнесе и маркетинге
Стратегии развития бизнеса, маркетинговые мероприятия, реклама основаны на анализе и работе с имеющимися данными. Big Data позволяют обработать гигантские объемы данных и соответственно максимально точно скорректировать направление развития бренда, продукта, услуги.
Например, аукцион RTB в контекстной рекламе работают с big data, что позволяет эффективно рекламировать коммерческие предложения выделенной целевой аудитории, а не всем подряд.
Какие выгоды для бизнеса?
Технологии используют в прогнозировании популярности продуктов, например, с помощью сервиса Google.Trends и Яндекс.Вордстат (для России и СНГ).
Методики big data используют все крупные компании – IBM, Google, Facebook и финансовые корпорации – VISA, Master Card, а также министерства большинства стран мира.
Например, в Германии сократили выдачу пособий по безработице, высчитав, что часть граждан получают их без оснований. Так удалось вернуть в бюджет около 15 млрд. евро.
Недавний скандал с Facebook из-за утечки данных пользователей говорит о том, что объемы неструктурированной информации растут и даже крупнейшие представители бизнеса цифровой эры не всегда могут обеспечить их достаточную конфиденциальность.
Например, Master Card используют технологии Big Data для предотвращения мошеннических операций со счетами клиентов. Благодаря им удается ежегодно спасти от кражи более 3 млрд. долларов США.
В игровой сфере big data позволяет анализировать поведение игроков, выявлять предпочтения активной аудитории и на основе этого прогнозировать уровень интереса к игре.
Сегодня бизнес знает о своих клиентах больше, чем мы сами знаем о себе – поэтому рекламные кампании Coca-Cola и других корпораций имеют оглушительный успех.
Перспективы развития
В 2019 году важность понимания и непосредственной работы с огромными массивами информации возросла в 4-5 раз по сравнению с началом десятилетия.
С массовостью произошла интеграция big data в сферы малого и среднего бизнеса, стартапы:
Выводы
Мир развивается с огромной скоростью и объёмы обрабатываемой информации растут с каждым днём. Даже малому и среднему бизнесу не избежать плотного знакомства и работы с технологиями Big Data.
Что такое big data: зачем нужны большие данные, как их собирают и обрабатывают
Все вокруг говорят о больших данных: что с их помощью можно анализировать бизнес-процессы, предсказывать поведение клиентов, управлять производством и даже разрабатывать искусственный интеллект. Разберемся, что это, для чего они нужны и как работают.
Что такое большие данные
Если обобщить, то биг дата — это большой объем информации, который компания собирает и хранит для последующего использования. Еще когда говорят, что компания использует большие данные, часто имеют в виду не сами данные, а технологии для их обработки.
Какие данные можно считать большими
Чтобы отделить большие данные от обычных, нужно ответить на вопрос: «big data — это сколько?». Таблица в Экселе на 500 000 строк — это большие данные? А если строк миллиард? Текстовый файл на тысячи слов, который весит 2 мегабайта, — это много? А распечатки графиков температуры всех метеостанций Архангельской области — много или еще недостаточно?
Тут многие скажут, что эти примеры представляют собой довольно внушительное количество информации. Действительно, с такой точки зрения, все перечисленное — большие данные. Но что вы скажете про таблицу в Экселе на миллиард строк? Это тоже большие данные — и куда побольше тех!
На интуитивном уровне специалисты, далекие от big data, привыкли называть большими данными любой объем информации, который сложно удержать в голове и/или который занимает много места. И такое интуитивное определение, конечно же, неправильно.
Однозначно отделить формат больших данных от обычных помогут три критерия.
Данные должны быть цифровыми. Книги в национальной библиотеке или стопки документов в архиве компании — это данные, и часто их много. Но термин big data означает только цифровые данные, которые хранятся на серверах.
Данные должны поступать в объективно больших объемах и быстро накапливаться. Например, база заказов интернет-магазина по продаже колясок может быть большой: 10 миллионов заказов за 20 лет, но пополняется она со скоростью 100 заказов в сутки — это не большие данные. Фильм в высоком качестве может занимать десятки гигов, но со временем его размер не растет — это тоже не big data.
А вот записи показателей пары сенсоров в двигателе Боинга, поступающие в количестве несколько гигабайт в час и загружаемые на диагностический сервер производителя авиатехники — это уже big data.
Данные должны быть разнородными и слабо структурированными. Заказы в онлайн-магазине упорядочены, из них легко извлечь дополнительные статистические параметры, например, средний чек или самые популярные товары. Поэтому эти данные не относят к big data.
Показания датчиков температуры с корпуса самолета, записанные за последние 6 месяцев, — информация, в которой есть польза, но не очень понятно, как ее извлечь. Можно, конечно, рассчитать средние значения температуры за бортом самолета за полгода, но какой в этом смысл? А если погрузиться в анализ этих данных глубоко — можно вытащить много неочевидной информации. Например, о длительности перелетов, скорости набора высоты, климатических условиях за бортом и так далее. Информация интересная и полезная, но трудноизвлекаемая, значит, это большие данные.
Этот критерий не всегда обязательный. Иногда большие объемы структурированных данных, которые постоянно пополняются, относят к формату big data, особенно если их используют для машинного обучения или выявления неочевидных закономерностей. То есть если к структурированным данным применяют методы анализа big data, можно сказать, что это они и есть.
Итак, большие данные — это трудноанализируемая цифровая информация, накапливаемая со временем и поступающая к вам солидными порциями
Зачем нужна big data
Когда в любом IT-проекте начинают работать с данными, в первую очередь анализируют наиболее очевидные, значимые и понятные показатели. Так, если речь идет об онлайн-торговле, сначала смотрят на средние чеки заказов, топ продаж и объемы складских запасов. Когда речь идет о самолетах — смотрят скорость, высоту, расход топлива.
Сбор и анализ очевидных метрик позволяет вносить в систему простые и понятные корректировки. Такие улучшения практически сразу дают ощутимый результат. Это называется «сбор фруктов с нижних веток дерева».
По мере эволюции системы инженеры прорабатывают все видимые узкие места в проекте. После этого начинается стагнация продукта: для поиска новых путей развития нужно лезть выше, чтобы собрать плоды с более высоких веток. Инженеры и аналитики начинают собирать и анализировать косвенные данные, напрямую не связанные с основными метриками проектов.
Например, в онлайн-торговле можно собирать со страниц магазина данные о перемещении курсора (или пальца) по экрану. Или собирать данные с большого числа сенсоров самолета, например: число оборотов двигателя, состав топливно-воздушной смеси, забортную температуру и температуру выхлопа. Или анализировать слова в комментариях клиентов в соцсетях для оценки их лояльности.
Такие данные напрямую не связаны с основными метриками IT-системы и бизнеса, но при правильном анализе могут рассказать много интересного о возможных точках оптимизации в проекте. Работа с такими данными — как поиск нефти. Нужно пробовать разные места, применять различные стратегии поиска и извлечения скрытых ресурсов, спрятанных в данных. Далеко не все попытки будут успешны, но в итоге находки могут принести массу выгоды.
Большие данные в основном помогают решать четыре задачи:
Анализировать текущее положение дел и оптимизировать бизнес-процессы. С помощью больших данных можно понять, какие товары предпочитают покупатели, оптимально ли работают станки на производстве, нет ли проблем с поставками товаров. Обычно для этого ищут закономерности в данных, строят графики и диаграммы, формируют отчеты.
Делать прогнозы. Данные о прошлом помогают сделать выводы о будущем. Например, примерно прикинуть продажи в новом году или предсказать поломку оборудования до того, как оно действительно сломается. Чем больше данных, тем точнее предсказания.
Строить модели. На основе больших данных можно собрать компьютерную модель магазина, оборудования или нефтяной скважины. Потом с этой моделью можно экспериментировать: что-то в ней изменять, отслеживать разные показатели, ускорять или замедлять разные процессы для их анализа.
Автоматизировать рутину. На больших данных учатся автоматические программы, которые умеют выполнять определенные задачи, например, сортировать документы или общаться в чатах. Это могут быть как примитивные алгоритмы, так и искусственный интеллект: голосовые помощники или нейросети.
Больше интересных кейсов использования big data читайте в статье «Зачем вам большие данные: примеры использования big data в 8 отраслях».
Технологии работы с большими данными
Мы разобрались, что такое большие данные и какую пользу они могут принести. Теперь посмотрим, как в общих чертах работают системы анализа больших данных и какие инструменты нужны для их работы.
Упрощенно работа с big data происходит по следующей схеме: информацию собирают из разных источников → данные помещают на хранение в базы и хранилища → данные обрабатывают и анализируют → обработанные данные выводят с помощью средств визуализации или используют для машинного обучения.
Для технологий, которые работают с большими данными, базовым принципом считают горизонтальную масштабируемость, то есть возможность обрабатывать данные сразу на множестве узлов (серверов, компьютеров). Если обрабатывать такой массив информации на одном узле, это займет слишком много времени.
Итак, к основным технологиям для работы с большими данными относят:
McKinsey также включает в этот список технологии Business Intelligence и реляционные системы управления базами данных с поддержкой языка SQL
Рынок big data в мире и в России
По данным отчетов, в 2020 году мировой рынок big data составляет 138,9 млрд долларов, к 2025 году он вырастет до 229,4 млрд долларов — будет расти по 10,6% в год. Вплоть до 2025 года лидерство на рынке будет удерживать Северная Америка, в частности США.
В основном такой рост вызван повышением интереса к IoT — сейчас к интернету вещей подключено 30,73 млрд устройств, а к 2025 году их будет 75,44 млрд. Кроме того, уже сейчас без больших данных компании не выдерживают конкуренцию с теми, кто использует big data, так как не могут обеспечивать достаточный уровень клиентского сервиса.
По российскому рынку данных за 2020 год пока нет. В 2018 году отечественному рынку прогнозировали рост до 1,4 млрд долларов. По оценкам 2019 года, за счет больших данных ВВП России вырастет на 1,94 трлн рублей, а к 2024 эта сумма увеличится до 4,2 трлн. Особенно большой выигрыш от больших данных в России получат отрасли добычи полезных ископаемых, торговли, ремонта и строительства.