0

我有一个非规范化的表说销售看起来像:

SalesKey、SalesOfParts、SalesOfEquipments、CostOfSales 作为一些数字度量行业、国家、州、销售区域、设备 ID、客户 ID、销售年份、销售月份和一些更相似的维度。(共12个维度)

我需要支持对销售的聚合查询,例如一年、一个月的销售总数……它们的总成本等。这些聚合也需要过滤,即类似于 2013 年的总销售额,04 年属于制造业XYZ 客户的行业。

我在 hive/impala 中有这些维度表和事实。

我不认为我可以在所有维度上制作一个立方体。我阅读了一篇论文以了解如何在多个维度上进行 OLAP: http ://www.vldb.org/conf/2004/RS14P1.PDF

这基本上建议在小片段上实现多维数据集,并在查询跨越多个多维数据集时进行某种运行时计算。

我不确定如何在 Hive/Impala 中实现这个模型。任何指示/建议都会很棒。

编辑:我在 Sales 表中有大约 1000 万行,并且维度无法与 100 相比,但大约为 12(可能高达 15),但每个都有很好的基数。

4

1 回答 1

1

我会使用第 3 方软件构建多维数据集。例如,icCube是一个内存中的 OLAP 服务器,它可以毫无问题地处理超过 12 个维度的 10mio 行。那么响应时间在所有维度上都是亚秒级的。从 Hive 10mio 行移出似乎不是问题(您可以为此目的使用 JDBC 驱动程序)。icCube 专门设计用于处理适当的高稀疏性。

于 2014-08-02T05:09:43.417 回答