【发布时间】:2011-04-17 03:10:04
【问题描述】:
实际上我正在使用R + Python 和 RPY2 来操作数据和 ggplot 来创建漂亮的图形。我在 PostgreSQL 数据库中有一些数据,我正在使用 psycopg2 来查询数据。
我正在开始一篇论文,将来我需要一个OLAP cube 来存储我的(非常大的)模拟数据:多维、聚合查询等。
在 Python(我想要 Python + R,没有 jpivot 或 Java 中的其他仪表板)和像 Mondrian 这样的 OLAP 引擎之间有什么最佳或标准的接口吗?我在 Google 上搜索了任何解决方案,但没有找到任何解决方案。
我已经简要评估了 SQLAlchemy 和 Django-ORM,但它们没有 MDX 或 XML/A 接口来查询 OLAP 服务器(蒙德里安或其他)...
是否可以在 MDX 中编写查询,并使用 psycopg + ODBC 查询我的 OLAP 服务器,并且 OLAP 服务器从我的模拟数据中给出答案(Python 对象上没有映射,但对我来说没问题)?
更新 1:
为什么需要围绕 OLAP + Mondrian 技术进行搜索?
因为University of Laval(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 - Mondrian 与外部组件通信的 API 核心 Olap4j 是 Java 制造的:/
2 - SOLAPLAYERS 使用 Ajax 访问数据,对我来说太慢了。
3 - SQLAlchemy 和 GeoAlchemy 没有与多维数据库 (OLAP) 的驱动程序连接。
* 解决方案? *
1 - Py4j 使用 Python 访问 olap4j 中的 Java 对象或 Java 集合?编写我自己的函数来访问 Java 映射集合? => 危险且不容易?...
2 - XLMA 与 Ajax Mondrian 服务器?太慢了。
3 - 为 OLAP Mondrian 编写我自己的 py 连接器? => 哎哟。我认为这是一条艰难的道路。
我该怎么办?
【问题讨论】:
-
我正在寻找解决方案,看来我可以尝试绑定 olap4j (java) 和 pythonToJava 调用软件,如 JPype 或 Py4j ...其他人在这里有其他答案或备注?
-
只是让您知道,有一个pure javascript pivot table 可以旋转 XMLA OLAP 多维数据集,具有直观的 UI 和出色的性能。 demo 和 documents
标签: python mdx olap psycopg2 xmla