首页 > 解决方案 > 如何将显着性测试和相关性计算添加到 cube.js 流中?

问题描述

我们目前正在使用 cube.js 来实现其数据基础设施、查询和 API 功能。

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

我们已经尝试通过从 cube.js 模式中的 sql 字段调用它来使用 PostgreSQL 中内置的相关函数,并且它可以工作(代码如下所示)但是还有其他选择吗?

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

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

我们考虑创建一个 python 统计微服务,它将向 cubejs 服务器(也称为立方体客户端)发出请求,处理计算,然后将计算结果发送到 react 客户端。这个流程/架构会起作用吗?在这个领域是否做过类似的工作?

将不胜感激任何回应/想法。谢谢你。

标签: postgresqlcube.js

解决方案


在 cube.js 中是否有这样做的内置方法?

不会,也可能不会。

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

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

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

我们考虑创建一个 python 统计微服务,它将向 cubejs 服务器(又名立方体客户端)发出请求

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

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

谢谢


推荐阅读