2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу 1, 2, 3, 4, 5  След.
 
 Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 00:48 
Вот столкнулся с одним проектом по так называемой big data, где я выступаю в роли математика/аналитика для разработки математических моделей.

Обычно я использую R Studio. Но она (студия) стала жутко "тупить" при загрузке и манипуляциях на гигабайтах данных. Мне выгрузили из базы данных несколько десятков файлов, каждый размером не менее 1 Гб. Один файл (который кое как мучительно долго загрузился в R) представляет из себя более 10 млн. наблюдений (записей/строк) по 7-10 переменных. Практически, такой объем данных парализовал всю мою работу. Мне уже представляется, что такие объемы просто неподъемны для R, особенно путем прямой загрузки в data frame и рабочее окружение. И предполагаю (я не специалист по айти и СУБД), что для таких объемов наверняка уже необходима какая-то специализированная технология, вроде OLAP, которую нужно внедрять в компании прежде чем заниматься big data, а не просто выкачивать файлы из базы и загонять их в excel, R или Python для анализа.

Что можете сказать и предложить по этой проблеме?

Заранее всем спасибо!

 
 
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 01:38 
matemat в сообщении #1192530 писал(а):
Что можете сказать и предложить по этой проблеме?
Например, не обрабатывайте большие файлы в R-Studio - запускайте R-Console. R-Studio можно использовать для отладки, но с маленькими файлами-примерами.

AFAIR система R работает с данными в памяти и не очень подходит для больших файлов.

 
 
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 01:46 
Есть компания ссылка удалена она есть в Москве. Я там работал, вам там все посчитают))
Применяют коммерческие наработки. Без сжатия данных все будет тормозить.

P.S Приятно, что и в России стало это интересовать. Не тянут значит бесплатные продукты.

 !  Toucan:
См. post1192771.html#p1192771

 
 
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 01:52 
А просто поставить какой-нибудь SQL-сервер и обращаться к нему при необходимости, а не грузить сразу все в память? Например, MySQL/MariaDB, для них RMySQL есть.

 
 
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 04:56 
Аватара пользователя
matemat в сообщении #1192530 писал(а):
Обычно я использую R Studio

Вот это и надо исправить - и проблема отложится на 1.5-3 порядка вдоль роста базы.

 
 
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 07:25 
Аватара пользователя
Все, что можно выгрузить в виде "несколько десятков файлов, каждый размером не менее 1 Гб", не является big data.

 
 
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 10:00 
Ну может это и не совсем big data.
Вот что такое big data (взято отсюда и здесь):
Цитата:
В качестве определяющих характеристик для больших данных отмечают «три V»: объём, скорость (в смыслах как скорости прироста, так и необходимости высокоскоростной обработки и получения результатов), многообразие (в смысле возможности одновременной обработки различных типов структурированных и полуструктурированных данных).

В первую очередь, под терминами "Big Data", "Большие данные" или просто "биг дата" скрывается огромный набор информации. Причем объем ее столь велик, что обработка больших объемов данных стандартными программными и аппаратными средствами представляется крайне сложной. Другими словами, Big Data – это проблема. Проблема хранения и обработки гигантских объемов данных.

У меня есть такие проблемы с данными. Большой объем, многообразие и требуется быстро получить результаты. Стандартные средства анализа данных, как я описал выше, не очень то и работают. Поэтому я считаю это big data.

Проблема в том, что чтобы "покрутить" данные размерностью $m \times  n \geqslant 10^7$ и решать задачи Data Mining, нужно данные развернуть и визуализировать.

Думал, что поможет R, но нет!

 
 
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 10:31 
Аватара пользователя
С тремя V всё верно. Иногда, как следствие из них выводят непереносимость данных, то есть обрабатывать их надо по месту хранения.
Кроме того, большие данные - это не только определение, но и вполне конкретный стек технологий. В который, R включается, а R Studio - нет.

Поэтому
1. Если у Вас в проектной команде пара десятков гигабайт считаются большими данными, я бы задумался о смене команды.
2. Если пара десятков гигабайт - это "песочница", сэмпл для отработки алгоритмов анализа, то трясите с руководителя проекта машину, чтобы они влезли в память :)

 
 
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 10:43 
Аватара пользователя
Один гигабайт полностью влезает в память - можно вертеть как хочется.

Немного offtop, но почти по теме. Был у меня недавно случай.

Нужно было последовательно (в алфавитном порядке) переработать все элементы плоской базы размером под 40G с почти ярдом записей 'на живую' и записать результат. Из-за хеш-функции элементы физически разбросаны по файлу базы в совершенно случайном порядке. База в память не помещается, в итоге диск настолько медленно работает, что время работы совершенно неприемлемое. Переход на SSD тоже не сильно помогает из-за блочности доступа на фоне очень маленьких элементов.

Помогал грубый метод - копировать базу на сервер с 64GB RAM, но приходится останавливать работу сервиса.

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

Скоро база, скорее всего, начнет упираться в один сервер по производительности в мирное время, собираемся распределять ее на кластер и мерджить результат в потоковом режиме.

 
 
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 16:58 
EUgeneUS в сообщении #1192594 писал(а):
1. Если у Вас в проектной команде пара десятков гигабайт считаются большими данными, я бы задумался о смене команды.
2. Если пара десятков гигабайт - это "песочница", сэмпл для отработки алгоритмов анализа, то трясите с руководителя проекта машину, чтобы они влезли в память :)


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

Проблема наверное в том, что я больше математик, чем айтишник. Для меня привычно было строить математические модели и заниматься статистическим анализом, даже в excel. Но для меня айти вопросы (стеки, СУБД, хранилища) это немного темный лес! Скажу более, руководители проектов предлагают использовать grep и выуживать из данных интересующую информацию, т.е. таким инструментом предлагается сформировать набор данных для дальнейшего анализа. Наверное я не подхожу для этой роли. Они хотели получить математика-аналитика для data mining и построения моделей, но для просто data и для big data это получается разные люди, с разными навыками!

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

 
 
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 17:48 
matemat в сообщении #1192660 писал(а):
Проблема наверное в том, что я больше математик, чем айтишник. Для меня привычно было строить математические модели и заниматься статистическим анализом, даже в excel. Но для меня айти вопросы (стеки, СУБД, хранилища) это немного темный лес!
...
или нужно просто попросить, чтобы нормально подготовили данные.
Выглядит как попытка отсидеться в башне из слоновой кости, пока остальные выполнят всю грязную работу. Подготовка данных - самая нудная, скучная и тупая работа, которая только бывает с данными. Это я вам как разработчик БД говорю. Если у вас нет административной возможности ткнуть пальцем в другого человека и сказать: "Этим будешь заниматься ты!" - значит, этим придется заниматься вам. Дураков нет по своей воле этим заниматься.
И не надо бояться инструментов разработки. Они только сначала выглядят страшно, а поработаете месяц-два, будете себя намного увереннее чувствовать.

 
 
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 17:54 
rockclimber в сообщении #1192669 писал(а):
И не надо бояться инструментов разработки. Они только сначала выглядят страшно, а поработаете месяц-два, будете себя намного увереннее чувствовать.

Вы мне предлагаете стать разработчиком? Скажите, пожалуйста, какие инструменты то?

 
 
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 18:21 
Аватара пользователя
Вам нужен практик разбирающейся в вашей области.
Grep, а почему не sed?

Наверно стоит уменьшить размер данных с 10 гб до 100 Мбайт. Отрезов лишннее.
Нет смысла загонять все данные в стат пакеты. Закон больших чисел никто не отменял.

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

Есть другой подход трекинг данных. Поиск повторяющихся последовательностей. Вот тут регулярные вырожения и автоматы помогут.

В любом случае надо уменьшать данные. А как вы это сделаете это уже вопрос практики, есть куча способов.
К примеру возьмём матрицы $A$ разменостью: 1000x10. Ввычислим $B=A\cdot A^T$ размерность у $B$ будет размерность: 10x10 - в100 раз сжали.

Как обрабатыват большие данные? Я бы программу написал. Хотя вручную приходиться готовить немало данных.

 
 
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 19:00 
matemat в сообщении #1192671 писал(а):
Скажите, пожалуйста, какие инструменты то?
Oracle Database и Exadata X5 8-) Но это дорого. Местами - неоправданно дорого.
Я вообще боюсь советы давать в эпоху нейронных сетей. Сейчас ими что только не анализируют. Как почитаешь очередную историю победе нейронной сети над какой-нибудь задачей, так обязательно почувствуешь себя динозавром. Я - сторонник хранения и обработки данных в системах, поддерживающих нормализацию и ACID, но я ничего не знаю ни про ваши данные, ни про ваши системы. Может, вам уже поздно пить боржоми. (Да и вообще, я как-то больше с OLTP системами работаю).
А так, OLAP/BI решения много у кого есть.

 
 
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 19:53 
Аватара пользователя
matemat
rockclimber в сообщении #1192703 писал(а):
Oracle Database и Exadata X5
8-) Но это дорого. Местами - неоправданно дорого.


Не слушайте его. :-)

Судя по последним постам, всё у вас в порядке. Только некоторая дезориентция имеется. Задайте вопрос манагеру проекта "Что от Вас требуется, как от математика?". Алгоритм (хехе), или обученная модель, которую будут вживлять. Ежели второе, то, как специалист в обработке данных, решите, какой размер сэмпла будет хорош, и требуйте под него мощности. Хехе.

-- 14.02.2017, 20:03 --

Пропустил ранее.

matemat в сообщении #1192584 писал(а):
нужно данные развернуть и визуализировать


Зачем Вам визуализировать? Тут два вопроса:
1. Зачем Вам, как специалисту в анализе данных, визуализация? Вы хотите медитировать на картинки, прозревать тренды и выдавать прогнозы?
2. Зачем Вам, как специалисту в анализе данных, заниматься рисованием красивых картинок с красивыми графиками в 5D (или более чем в 5D)? Визуализировать имеет смысл конечный результат для конечного пользователя, и пусть этим занимаются "проектировщики графического интерфейса".

 
 
 [ Сообщений: 72 ]  На страницу 1, 2, 3, 4, 5  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group