gpt4 book ai didi

python - 如何从 databrewery 多维数据集中的多个存储创建 OLAP 多维数据集

转载 作者:太空宇宙 更新时间:2023-11-03 18:14:34 25 4
gpt4 key购买 nike

我目前正在尝试研究 OLAP 多维数据集。

为了学习,我使用 cubes框架。

我目前正致力于制作一个立方体,该立方体取决于两个不同商店的尺寸。

我尝试利用默认情况下所有定义的维度都是公开的这一事实来实现此目的。

下面是一些匿名代码,显示了我如何解决这个问题:

workspace = Workspace()
workspace.register_store("store1", "sql", schema="schema1", url="postgresql://<URL>")
workspace.register_store("store2", "sql", schema="schema2", url="postgresql://<URL>")
workspace.import_model("model1.json", store="store1")
workspace.import_model("model2.json", store="store2")
workspace.import_model("cube_with_dimensions_from_model1_and_model2.json")
browser = workspace.browser("cube_with_dimensions_from_model1_and_model2")

我收到错误

cubes.errors.NoSuchDimensionError: Dimension 'dimesion_from_model2' not found

这显然意味着它找不到 model1 和 model2 中导入的维度。

有人能指出我如何解决这个问题的正确方向吗?

PS:如果示例项目多于找到的数量 here我将非常感激知道。

最佳答案

如果没有另外指定,Cubes 目前会为每个存储创建一个单独的命名空间。在您的示例中,每个模型最终都位于商店的命名空间中(即 store1store2)。默认(全局)命名空间保持为空,因此工作区无法在其他商店中找到您的维度。

尝试以下选项之一:

A.使用默认命名空间

workspace.import_model("model1.json", "store1", namespace="default")
workspace.import_model("model2.json", "store2", namespace="default")

B.分离通用尺寸

将共享维度放入 model_common.json (或者更确切地说 common.cubesmodel directory )并单独导入,无需指定任何存储或命名空间(维度将结束 -在默认/全局命名空间中):

workspace.import_model("common.cubesmodel")
workspace.import_model("model1.json", "store1")
workspace.import_model("model2.json", "store2")

关于python - 如何从 databrewery 多维数据集中的多个存储创建 OLAP 多维数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25206966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com