实际上我使用R + Python 和 RPY2 来操作数据和 ggplot 来创建漂亮的图形。我在 PostgreSQL 数据库中有一些数据,我正在使用 psycopg2 来查询数据。
我正在开始一篇论文,将来我需要一个OLAP 多维数据集来存储我的(非常大的)模拟数据:多维、聚合查询等。
Python(我想要 Python + R,没有 jpivot 或 Java 中的其他仪表板)和像Mondrian这样的 OLAP 引擎之间的接口是否有任何最佳或标准实践?我在谷歌上搜索了任何解决方案,但我没有找到任何东西。
我已经简要评估了SQLAlchemy和 Django-ORM,但它们没有MDX或 XML/A 接口来查询 OLAP 服务器(蒙德里安或其他)......
是否可以在 MDX 中编写查询,并使用 psycopg + ODBC 查询我的 OLAP 服务器,并且 OLAP 服务器从我的模拟数据中给出答案(Python 对象上没有映射,但对我来说没问题)?
更新 1:
为什么我需要围绕 OLAP + Mondrian 技术进行搜索?
因为拉瓦尔大学(GeoSoa 部门 + Thierry Badard)为 OLAP 编写了空间扩展:SOLAP,并在 Mondrian 中将其实现为GeoMondrian。这让我很感兴趣,因为我正在研究基于空间多代理的模拟(~= geosimulation)。
GeoSoa 部门创建了一个基于 Ajax 的组件来与 GeoMondrian 进行通信和可视化空间数据:SOLAPLAYERS,它可以通过其 Xlma servlet 查询 Mondrian 服务器。
问题:大数据操作可能很慢,需要 Internet 或 Apache 2。简而言之,它只是可视化数据或地图......在我的情况下,我需要原始数据来制作我自己的数据操作 + 用 R 绘制的图形:空间分析,回归分析,rank-tail 等。在这里,SOLAP 帮助我为以后的复杂 R 分析准备数据。
为什么是 Python?
1 - 对空间数据的 Web 访问 -
我正在尝试使用“酷”的 Python 框架,例如GeoDjango或MapFish:GIS 中的大型社区,开源,使用GeoAlchemy来操作空间查询/数据,包括带有 JavaScript 扩展和OpenLayers的可视化等。
2 - 在 GIS 中对空间数据的本地访问 -
我想在 QGIS(开源 GIS)中创建一个插件来访问和可视化数据,以及 QGIS 插件和 API = Python。
3 - 自动分析数据 -
用户或科学家使用网格计算运行模拟,并选择他们想要在此数据上运行的自动分析(R + ggplot2 + MDX 查询)。我的目标是创建模拟的综合报告(图形、表格数据等)。
因此,在模拟之后,数据进入 OLAP/SOLAP 多维数据集,许多 Python 脚本(由用户创建)使用 MDX 获取数据,使用 R + RPY2 操作数据,并在 doku-wiki 或其他网站上为科学家编写和生成酷炫的输出社区平台。
问题?
1 - Olap4j,Mondrian 与外部组件通信的 API 核心,是 Java 制造的:/
2 - SOLAPLAYERS 使用 Ajax 访问数据,对我来说太慢了。
3 - SQLAlchemy 和 GeoAlchemy 没有与多维数据库 (OLAP) 的驱动程序连接。
* 解决方案?*
1 - Py4j 使用 Python 访问 olap4j 中的 Java 对象或 Java 集合?编写我自己的函数来访问 Java 映射集合?=> 危险且不容易?...
2 - XLMA 与 Ajax Mondrian 服务器?它太慢了。
3 - 为 OLAP Mondrian 编写我自己的 py 连接器?=> 哎哟。我认为这是一条艰难的道路。
我应该怎么办?