如何将显着性测试和相关性计算添加到 cube.js 流程中?

问题描述

我们目前正在使用cube.js 作为其数据基础架构、查询和API 功能

但是,作为我们要求的一部分,我们需要执行统计计算,例如对某些度量进行显着性检验和相关性。在cube.js 中是否有内置的方法来执行此操作?

我们已经尝试使用 Postgresql 内置的关联函数方法是从 cube.js 模式中的 sql 字段调用它,它可以工作(代码如下所示),但是还有其他替代方法吗?

measures: {
        testCorrelation: {
          title: 'Test Correlation',sql: `corr(${CUBE}.col1,${CUBE}.col2)`,type:`number`
        }
}

对于显着性测试,我们还没有找到任何解决方案。

我们考虑创建一个 python 统计微服务,它会向 cubejs 服务器(也就是一个立方体客户端)发出请求,处理计算,然后将结果集连同附加到反应客户端的计算一起发送。此流程/架构是否有效?是否已在该领域进行过类似的工作?

希望得到任何回应/想法。谢谢。

解决方法

cube.js 中是否有内置的方法来执行此操作?

不会,也可能不会。

Cube.js 提供了在度量内定义 SQL 的能力。有些任务可以在内置函数之上解决。另一部分可以在用户定义的过程/函数或已安装的扩展之上完成。

对于显着性测试,我们还没有找到任何解决方案。

PostgreSQL 本身只有有限的内置统计功能,但 PL/R 扩展支持更多的统计测试和其他功能,超出您的想象。

我们考虑创建一个 python 统计微服务,它会向 cubejs 服务器(也就是一个多维数据集客户端)发出请求

最好在数据库中进行聚合,因为:

  • 您将无法使用预聚合
  • 数据传输可能需要大量时间和内存
  • 某些数据库可以使用列格式进行存储和 SIMD 执行。

谢谢