构建 Web 分析工具的建议(最好是 Python 友好的) - OLAP/Python
Posted
技术标签:
【中文标题】构建 Web 分析工具的建议(最好是 Python 友好的) - OLAP/Python【英文标题】:Advice for building a web analytics tool (preferably Python friendly) - OLAP/Python 【发布时间】:2012-01-21 21:14:28 【问题描述】:我即将开始为电子商务网站开发网络分析工具。
我要记录几个不同的事件,基本上是点击页面的各种元素和页面浏览量。
这些事件带有元数据(登录用户的用户名、他的国家、他的年龄等),而页面本身带有其他元数据(类别、子类别、产品等)。
我的公司想要像 OLAP 立方体这样的东西,以便能够回答以下问题:
有多少来自国家 x 的客户访问了类别 y? 2012 年 1 月类别 x 的综合浏览量是多少? 有多少来自国家 x 的客户访问了类别 y?
我的理解是我应该使用一个OLAP引擎来记录这些事件,然后构建一个报告界面让我的同事使用它。
我说的对吗?你对我应该使用的引擎和前端/报告工具有什么建议吗?我是一名 Python 程序员,所以任何对 Python 友好的东西都会很好。
谢谢!
【问题讨论】:
Django 有一些解决方案。您可能会发现另一个有趣的问题:***.com/questions/469200/… 【参考方案1】:主要问题是您的多维数据集有多大,以及您是否需要开源 OLAP 解决方案。
如果您正在处理大立方体并希望为未来的功能腾出空间,您可能会选择真正的OLAP Server。一些是开源的——Mondrian——还有一些有一个“有限”的社区版本——Palo、icCube。这里的重点是与 MDX 和 XMLA 兼容。事实上的 OLAP 标准,因此您可以插入不同的报告工具和/或使用现有的库。我的理解是,没有像 Java 或 .NET 那样的 XMLA 库的 Phyton 版本,不确定这是要走的路。
如果你的立方体很小,你可以自己开发一些东西,或者按照 Charlax 的评论寻求其他更快的解决方案。
【讨论】:
【参考方案2】:如所选答案中所述,这取决于您的数据量。但是,只要您遇到轻量级 Python OLAP 框架就足够的情况,那么您可以尝试Cubes,来源在github。它包含 SQL 后端(也可以实现任何其他后端)并提供了一个轻量级 HTTP OLAP server。使用它的应用程序示例(php 前端和 HTTP Slicer OLAP 服务器后端)可以在here 找到它不包含可视化层和复杂的查询思想,但这是为了小而取舍。
【讨论】:
以上是关于构建 Web 分析工具的建议(最好是 Python 友好的) - OLAP/Python的主要内容,如果未能解决你的问题,请参考以下文章
Fiddler是最强大最好用的Web调试工具之一--网站抓包分析