赛库分析工具的python集成
mara-mondrian的Python项目详细描述
玛拉·蒙德里安
一个用于Mondrian Server的python接口,MondrianXMLA服务器与Saiku即席分析工具相结合。附带
- 在
本地运行Mondrian服务器的Makefile。在
在 - 在
从Mara Schema定义生成Mondrian schema。在
在 - 在
蒙德里安缓存刷新。在
在 - 在
Saiku认证通过Mara ACL。在
在
在
安装
要直接使用库,请使用pip:
pip install mara-mondrian
或者
^{pr2}$关于一个集成到flask应用程序的例子,请看一下mara example project 1。在
在
跑赛库
在项目中,在项目Makefile中包含.scripts/mondrian-server.mk(例如https://github.com/mara/mara-example-project-1/blob/master/Makefile)。在
运行make setup-mondrian-server
将创建所需的mondrian-server.properties
文件。然后运行make run-mondrian-server
将启动Saiku和8080端口上的XMLA服务器:
要在生产环境中运行Mondrian服务器,请查看https://github.com/project-a/mondrian-server/blob/master/README.md。在
在
特点
蒙德里安模式生成
如果您在Mara Schema中定义了一个数据仓库模式,那么您可以使用mara_mondrian/schema_generation.py中的函数write_mondrian_schema
自动创建一个Mondrian模式文件。在
{a18}看一个例子。在
在
蒙德里安缓存刷新
mara_mondrian/connection.py中的函数flush_mondrian_cache
触发模式的重新加载和Mondrian服务器中所有缓存的刷新。在
此文件还包含用于发出XMLA请求的函数。在
在
通过Mara ACL
一旦将mara_mondrian/views.py中的Saiku ACL资源添加到项目中,就可以轻松控制哪些用户可以查询哪些多维数据集:
在这个例子中,“Management”组的用户可以查询所有多维数据集,“Marketing”中的用户只能查询“Customers”和“Leads”(除了Thomas,他还可以查询“Order items”和“Sellers”)。在
请看一下https://github.com/project-a/mondrian-server/blob/master/README.md如何设置它。在
请确保/mondrian/saiku/authorize
端点是Mara ACL中的白名单,例如https://github.com/mara/mara-example-project-1/blob/master/app/ui/__init__.py:
monkey_patch.patch(mara_acl.config.whitelisted_uris)(lambda:['/mara-app/navigation-bar','/mondrian/saiku/authorize'])
在
尝试Mara Mondrian最简单的方法是运行mara example project 1。在
- 项目
标签: