在 Snowflake 中构建 OLAP Cube

Posted

技术标签:

【中文标题】在 Snowflake 中构建 OLAP Cube【英文标题】:Constructing a OLAP Cube in Snowflake 【发布时间】:2020-01-14 16:32:15 【问题描述】:

我正在尝试在 Snowflake 中重建 Cognos Transformer 立方体。 1. 我们是否可以选择在 Snowflake 中构建 OLAP 多维数据集(如 SSAS、Cognos Transformer)? 2. 对应该采用的方法或应遵循的步骤有何建议?

【问题讨论】:

【参考方案1】:

目前在 Snowflake 中没有类似于 SSAS 多维数据集的选项。将数据加载到数据库后,Snowflake 允许以类似于传统 OLTP 数据库的方式查询数据。

对于数据聚合,Snowflake 库提供了丰富的内置函数集。与 UDF、SP 和物化视图一起,我们可以为预先计算的数据聚合构建自定义解决方案。

对于数据分析,我们仍然必须依赖第三方工具。 Snowflake 提供了多种不同的连接器来从其他分析工具访问其数据库对象。 近期计划推出用于数据聚合、分析和报告的集成工具。

【讨论】:

【参考方案2】:

使用 TM1 构建您的 OLAP 多维数据集,然后在 TM1 多维数据集的顶部运行 Cognos。 TM1 将雪花数据塑造成 OLAP 结构没有问题。

【讨论】:

【参考方案3】:

Snowflake 不是多维数据库,它提供像 Oracle 一样的“按多维数据集分组”之类的分析语句。但这更像是一个带有聚合的矩阵。没有像 SSAS Cubes、PowerCubes 和其他多维数据库 (MDDB) 那样提供的向下钻取或向上钻取。

一个选项可以是通过创建临时聚合来模拟 OLAP,并使用 javascript 向下钻取/向上钻取。但根据我的经验,相当于钻孔的操作通常需要 10 秒以上(如果没有极高的资源可用)。 Snowflake 可能不是此类用例的最佳解决方案。

【讨论】:

以上是关于在 Snowflake 中构建 OLAP Cube的主要内容,如果未能解决你的问题,请参考以下文章

Kylin构建Cube及高级设置

OLAP CUBE 可以在 HBase 中完成吗?

Where - OLAP Cube 中的 In 子句

通过 ASHX 服务查询 OLAP Cube

大数据分析平台Apache Kylin的部署(Cube构建使用)

OLAP 系统中的 OLTP 类型数据