основанный на Java движок вычислений на основе Open Office Calc - PullRequest
0 голосов
/ 19 января 2010

Требуется создать механизм вычислений, который будет работать и поддерживать формулы, аналогичные Excel. Эти формулы необходимо применять к огромным наборам данных (миллионам строк данных).

Я думал, можно ли что-то построить поверх сервиса OpenOffice Calc и сделать его доступным в качестве механизма вычислений.

У кого-нибудь есть опыт в этом? Есть ли другие альтернативы? Я знаю, что это возможно с помощью службы Excel, но мы магазин с открытым исходным кодом. M $ исключено.

Любые указатели были бы очень полезны.

Отредактировано на основе входов High Performance Mark.


  1. Нужны числовые расчеты. Научные расчеты не входят в объем (т. Е. Грех (x), tanh (x) и т. Д.)
  2. Расчет не производится конечными пользователями. Формулы хранятся в БД и применяются к наборам данных. Формулы (например, расчет налога) настроены. Поэтому, если формула изменится, пересчет будет запущен через приложение.
  3. формулы, подобные электронным таблицам, хорошо поняты широкой аудиторией и должны быть проще для чтения и обслуживания. Есть ли обертка вокруг R (или такой эквивалент), которая преобразует формулу электронной таблицы в синтаксис R?

1 Ответ

3 голосов
/ 19 января 2010

Ну, маленький Гуглинг находит несколько электронных таблиц с открытым исходным кодом, написанных на Java, одна из которых может подойти для ваших целей. Один из вопросов, на которые вы, возможно, захотите ответить, возможно, отредактируйте свое сообщение, будет о том, какие вычисления вы хотите выполнить - полный набор функций, которые предоставляет Excel (или что-то близкое), или средства, которые предоставляет SQL, удовлетворяют вашим требованиям? Если это так, то, возможно, вы захотите внести в базу данных это.

Еще один вопрос, который вы могли бы уточнить: вы пытаетесь создать приложение, которое, например, Excel, может использоваться конечными пользователями для определения расчетов? Но, в отличие от Excel, основан на программном обеспечении с открытым исходным кодом и может справляться с миллионами строк. Я не знаю о его производительности на таких больших наборах данных, кто-то другой в SO, вероятно, может сказать нам, но R очень популярен (и это правильно) для того, что вы, вероятно, пытаетесь сделать. Я считаю, что R находится между средними языками программирования (скажем, Python) и средней таблицей (скажем, Excel) с точки зрения простоты использования для непрограммистов.

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

...