2014 dxdy logo

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

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




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


21/10/16
91
Вот столкнулся с одним проектом по так называемой big data, где я выступаю в роли математика/аналитика для разработки математических моделей.

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

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

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

 Профиль  
                  
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 01:38 
Заслуженный участник


15/05/05
3445
USA
matemat в сообщении #1192530 писал(а):
Что можете сказать и предложить по этой проблеме?
Например, не обрабатывайте большие файлы в R-Studio - запускайте R-Console. R-Studio можно использовать для отладки, но с маленькими файлами-примерами.

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

 Профиль  
                  
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 01:46 


11/02/17

47
Есть компания ссылка удалена она есть в Москве. Я там работал, вам там все посчитают))
Применяют коммерческие наработки. Без сжатия данных все будет тормозить.

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

 !  Toucan:
См. post1192771.html#p1192771

 Профиль  
                  
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 01:52 
Заслуженный участник


09/05/12
25179
А просто поставить какой-нибудь SQL-сервер и обращаться к нему при необходимости, а не грузить сразу все в память? Например, MySQL/MariaDB, для них RMySQL есть.

 Профиль  
                  
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 04:56 
Аватара пользователя


07/02/12
1403
Питер
matemat в сообщении #1192530 писал(а):
Обычно я использую R Studio

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

 Профиль  
                  
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 07:25 
Аватара пользователя


11/12/16
13195
уездный город Н
Все, что можно выгрузить в виде "несколько десятков файлов, каждый размером не менее 1 Гб", не является big data.

 Профиль  
                  
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 10:00 


21/10/16
91
Ну может это и не совсем 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 
Аватара пользователя


11/12/16
13195
уездный город Н
С тремя V всё верно. Иногда, как следствие из них выводят непереносимость данных, то есть обрабатывать их надо по месту хранения.
Кроме того, большие данные - это не только определение, но и вполне конкретный стек технологий. В который, R включается, а R Studio - нет.

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

 Профиль  
                  
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 10:43 
Аватара пользователя


07/02/12
1403
Питер
Один гигабайт полностью влезает в память - можно вертеть как хочется.

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

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

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

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

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

 Профиль  
                  
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 16:58 


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


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

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

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

 Профиль  
                  
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 17:48 
Заслуженный участник


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

 Профиль  
                  
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 17:54 


21/10/16
91
rockclimber в сообщении #1192669 писал(а):
И не надо бояться инструментов разработки. Они только сначала выглядят страшно, а поработаете месяц-два, будете себя намного увереннее чувствовать.

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

 Профиль  
                  
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 18:21 
Аватара пользователя


31/10/08
1244
Вам нужен практик разбирающейся в вашей области.
Grep, а почему не sed?

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

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

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

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

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

 Профиль  
                  
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 19:00 
Заслуженный участник


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

 Профиль  
                  
 
 Re: Анализ гигабайтов данных (проблемы и решения)
Сообщение14.02.2017, 19:53 
Аватара пользователя


11/12/16
13195
уездный город Н
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  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group