Как начать с анализа больших данных [закрыто
Вопрос
Я был давним пользователем R и недавно начал работать с Python. Используя традиционные системы RDBMS для хранилища данных и R/Python для сбоя номеров, теперь я чувствую необходимость испачкать руки с помощью анализа больших данных.
Я хотел бы знать, как начать работу с большими данными. - Как начать просто с карты/уменьшения и использования Hadoop
- Как я могу использовать свои навыки в R и Python, чтобы начать анализ больших данных. Использование, например, проект Python Disco.
- Использование пакета Rhipe и поиск наборов данных игрушек и проблемных областей.
- Поиск правильной информации, чтобы позволить мне решить, нужно ли мне переехать в NOSQL из баз данных типа RDBMS
В целом, я хотел бы знать, как начать с малого и постепенно наращивать свои навыки и ноу-хау в анализе больших данных.
Спасибо за ваши предложения и рекомендации. Я извиняюсь за общий характер этого запроса, но я хочу получить больше взглядов на эту тему.
- Жесткий
Решение
Использование, например, проект Python Disco.
Хорошо. Играть с этим.
Использование пакета Rhipe и поиск наборов данных игрушек и проблемных областей.
Отлично. Играйте с этим тоже.
Не потеть «Большие» наборы данных. Даже небольшие наборы данных представляют очень интересные проблемы. Действительно, любой набор данных является точкой начала.
Однажды я создал небольшую звездную схему, чтобы проанализировать бюджет организации за 60 миллионов долларов. Исходные данные были в электронных таблицах и, по сути, непостижимым. Поэтому я разгрузил его в звездную схему и написал несколько аналитических программ в Python, чтобы создать упрощенные отчеты соответствующих чисел.
Поиск правильной информации, чтобы позволить мне решить, нужно ли мне переехать в NOSQL из баз данных типа RDBMS
Это просто.
Во -первых, получите книгу о хранилище данных (например, Ralph Kimball's The Data Warehouse Toolkit).
Во -вторых, тщательно изучите «звездную схему» - особенно все варианты и особые случаи, которые объясняет Кимбалл (в глубине)
В -третьих, осознайте следующее: SQL предназначен для обновлений и транзакций.
При выполнении «аналитической» обработки (большой или маленькой) почти нет никакого обновления. SQL (и связанная с ним нормализация) больше не имеет большого значения.
Точка зрения Кимбалла (и другие) также заключается в том, что большая часть вашего хранилища данных не в SQL, это в простых плоских файлах. Март данных (для Ad-Hoc, анализ срезов и накусов) может находиться в реляционной базе данных, чтобы позволить легкой гибкой обработке с SQL.
Таким образом, «решение» тривиально. Если это транзакция («OLTP»), он должен быть в реляционном или OO DB. Если это аналитическое («OLAP»), он не требует SQL, за исключением аналитики Slice и Dice; и даже тогда БД загружается из официальных файлов по мере необходимости.
Другие советы
Одна вещь, которую вы можете рассмотреть, это DMELT (http://jwork.org/dmelt/) Программа анализа данных. Одна из примечательной особенностью является то, что в нем есть сотни примеров, использующих язык питона и несколько книг. Причина, по которой я использовал его, заключается в том, что он работает на моей Windows 10 (поскольку он использует Java VM), плюс она имеет очень хорошую графику в 2D/3D, которая может быть экспортирована в формат Vector Graphics.