Обработка больших пулов данных в Python - PullRequest
4 голосов
/ 03 апреля 2011

Я работаю над академическим проектом, направленным на изучение поведения людей.

Проект будет разделен на три части:

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

Данные состоят из списка людей с идентификатором # и несколькими характеристиками: рост, вес, возраст, ...

Мне нужно легко составить группы из этих данных (например, все с данным возрастом или диапазоном высот), и данные имеют размер несколько ТБ (но могут быть уменьшены в меньших подмножествах по 2-3 ГБ).

У меня есть глубокие теоретические знания о проекте, но я не ученый. Я знаю Java, C и Matlab, и теперь я изучаю Python.

Я хотел бы использовать python, поскольку он кажется достаточно простым и значительно снижает многословность Java. Проблема в том, что мне интересно, как обращаться с пулом данных.

Я не специалист по базам данных, но, думаю, мне здесь нужен. Как вы думаете, какие инструменты я должен использовать?

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

Ответы [ 3 ]

5 голосов
/ 03 апреля 2011

Звучит, что основная необходимая функциональность может быть найдена из:
pytables
и
SciPy / NumPy

3 голосов
/ 03 апреля 2011

Используйте базу данных NoSQL, такую ​​как MongoDB, которая в таком случае обрабатывает данные намного проще, чем изучает SQL.

1 голос
/ 03 апреля 2011

Поскольку вы не являетесь экспертом, я рекомендую вам использовать базу данных mysql в качестве основы для хранения ваших данных, ее легко изучить, и у вас будет возможность запрашивать данные с помощью SQL и записывать свои данные с помощью python. MySQL Guide Python-Mysql

...