我们有一个庞大的POSTGRESQL事务数据库(总共大约7000万行),并且之前已经创建了一个数据仓库(每日更新)以运行报告.
为了使这更灵活(因为许多不同的用户需要不同的报告,并且不太擅长指定他们想要的东西),我们想创建一个多维OLAP多维数据集并通过Web服务向我们的客户公开,并可能外包报告创建.
我们在.NET(主要是vb.net)中编程,我相信这可以通过将XMLA用于webservice(或WCF)层来实现,但是经过一些研究(一切似乎都是固有的 - 无论是SSAS还是SQL服务器,还是Jasper Server)和贾斯珀分析等),我不确定以下内容,并想知道其他人是否有任何可以分享的经验:
可伸缩性和性能对我们来说是一个巨大的因素,以及快速开发时间和仅仅学习如何使用鼠标的用户可以使用的界面:p
注意:理想情况下,此解决方案是OpenSource和Free或不到1万英镑(大多数企业解决方案都是愚蠢的钱)
有没有人试图从R中访问提供XMLA API(如Mondrian)的OLAP服务器?
我喜欢从R对Mondrian运行MDX查询并检索结果集.
实际上我正在使用R + Python和RPY2来操作数据和ggplot来创建漂亮的图形..我在PostgreSQL数据库中有一些数据,而我正在使用psycopg2来查询数据.
我正在开始论文,将来我需要一个OLAP多维数据集来存储我的(非常大的)模拟数据:多维,聚合查询等.
是否有任何最佳或标准的实践来连接Python(我想要Python + R,没有jpivot或Java中的其他仪表板)和像Mondrian这样的OLAP引擎?我在Google上搜索了任何解决方案,但我找不到任何东西.
我简要地评价SQLAlchemy的和Django的ORM,但他们没有MDX或XML/A接口来查询OLAP服务器(蒙德里安或其他)...
是否可以编写一个查询的MDX,并与psycopg + ODBC,查询我的OLAP服务器,OLAP服务器给我从我的模拟数据的应答(Python对象上没有映射,但它的确定对我来说)?
更新1:
为什么我需要搜索OLAP + Mondrian技术?
由于拉瓦尔大学(GeoSoa个省+蒂埃里Badard)写了一个空间延伸到OLAP:SOLAP,并在蒙德里安实施本作GeoMondrian.我感兴趣的是因为我正在研究基于空间多代理的模拟(〜=地理模拟).
所述GeoSoa DEPARTEMENT创建一个基于Ajax组件通信和可视化与GeoMondrian空间数据:SOLAPLAYERS,其可通过其Xlma的servlet查询蒙德里安服务器.
问题:可能是在大数据处理速度慢,需要互联网或Apache 2,简单地说,这只是可视化的数据或地图...就我而言,我需要的原始数据,以使自己的数据处理+与R图形:空间分析,回归分析分析,排序等等.在这里,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映射集合?=>危险而且不是很容易?... …
自从关于 XMLA endpoints的公告以来,我一直试图弄清楚如何powerbi://api.powerbi.com/v1.0/myorg/[workspace name]通过 Python连接到表单的 URL作为 SSAS OLAP 多维数据集,但我没有得到任何工作。
我有一个高级容量的工作区,我能够使用 DAX Studio 和 SSMS 连接到它,如here所述,但我还没有想出如何使用 Python 来做到这一点。我已经尝试安装 olap.xmla,但是当我尝试使用 Power BI URL 作为使用powerbi或https作为前缀的位置时出现以下错误。
import olap.xmla.xmla as xmla
p = xmla.XMLAProvider()
c = p.connect(location="powerbi://api.powerbi.com/v1.0/myorg/[My Workspace]")
[...]
TransportError: Server returned HTTP status 404 (no content available)
Run Code Online (Sandbox Code Playgroud)
我确定其中涉及身份验证问题,但我在这里有点超出我的深度。我是否需要在 ActiveDirectory 中设置一个“应用程序”并以某种方式使用 API?这种连接的身份验证是如何处理的?
如果有人知道任何博客文章或其他资源来演示如何专门使用 Python 连接到 Power BI XMLA 端点,那就太棒了。我的搜索失败了,但我肯定不会是唯一一个试图这样做的人。
我目前的任务是构建某种健康检查应用程序,稍后将其包含在 jboss 环境中。但首先要说的是。我需要访问 3 种不同类型的数据库:MS SQL 关系数据库、TM1 和 MS SQL 分析服务。虽然前两个似乎是可以管理的,但我在尝试通过 java 访问 Analysis Services 时遇到了问题。最常见的是,olap4j似乎使用了该库,但这是基于msmdpump.dllIIS 的隧道响应。我们无法使用此方法,因为 IIS 未在使用中,并且我们没有对 Analysis Services 服务器的系统访问权限。
简而言之:如何在不使用 Java 的情况下访问 Analysis Services msmdpump.dll?我们需要以 MDX 或 XMLA 发送简单的查询。客户端和服务器均使用Windows Server 2008 R2。Analysis Services 版本也是 2008 R2。Analysis Services 作为一项服务提供给我们,我们无权访问系统本身。
使用 powershell 脚本访问 Analysis Services 并通过 java 调用该脚本似乎是一种选择。但如果有更好的选择,我宁愿避免这种方法。
谢谢你的帮助!
基础:
据我所知,到目前为止,我必须使用OLAP服务器作为MDX查询和SQL数据库之间的连接器,以提供XMLA作为数据源.因此我想使用Mondrian OLAP服务器.
题:
现在我需要启动Mondrian OLAP服务器,将其连接到PostgreSQL数据库并提供OLAP架构.
我找不到任何一步一步的指南或任何有用的蒙德里安文件.这对我来说都是一片大云.