Работа с большими данными

Ну вот установили мы всё необходимое ПО, освоили синтаксис языка R, научились работать с нашими небольшими отчетами, но когда берем годовой отчет, который весит несколько сотен мегабайт, Exсel отваливается сразу и даже RStudio начинает выполнять, казалось бы элементарные запросы, по несколько минут. Что делать и как быть, на эти вопросы мы постараемся ответить в данной статье.

Большие данные – что это?

Прежде чем приступать к работе с большими объёмами данных, нужно определить что же мы понимаем под большими данными.

Прежде всего это датасеты с большим количеством строк и/или столбцов(>= 1 000 000). Так же это могут быть датасеты которые занимают большой объем физической памяти, такой эффект может быть не только из-за количества строк или столбцов, но и в результате их содержимого, например большие объёмы текстовой информации.

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

3 свойства больших даннных

Таким образ можно выделить 3 основные особенности и свойства больших данных:

  • Объем – широкие и высокие данные.
  • Разнообразие – первичные и вторичные данные.
  • Скорость – быстрота обмена.

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

Этап 1: подготовка машины

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

Для оценки посмотрите в диспетчере задач(Ctrl + Alt + Del) объем (свободной) оперативной памяти и частоту процессора, в целом для комфортной работы вам будет достаточно не менее 6 гигабайт оперативной памяти для хранения объектов и переменных, и 1.3 Ггц тактовой частоты процессора для непосредственных операций над данными(обработка таблиц, поиск, расчёт новых значений, перезапись и т.д.).

Этап 2: подготовка данных

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

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

Этап 3: разделить на несколько датафреймов

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

Этап 4: от малого к большому

Прежде чем приступать к работе с большим числом данных имеет смысл ограничить рабочий датасет, например до нескольких тысяч строк. И отточить работу именно на нем, а после уже применять к большим объёмам данных.

Какие данные не подходят для работы в R?

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

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>