【问题标题】:SAS - ERROR: Indexes cannot be created for the NWAY aggregation.SAS - 错误:无法为 NWAY 聚合创建索引。
【发布时间】:2013-08-02 08:09:20
【问题描述】:

我正在尝试重新创建我的 OLAP 多维数据集。多维数据集已经存在。然后我删除物理多维数据集

DELETE_PHYSICAL

在这之后

PROC OLAP

跟随。 我的作业批量失败并显示错误消息

NOTE: The cube registration was found.
ERROR: Indexes cannot be created for the NWAY aggregation.
NOTE: Number of NWAY records: 32899296

有人能告诉我为什么它失败了吗?我的其他测试运行良好,但那里的多维数据集/详细信息表仅包含 12,000,000 行。对于 NWAY 聚合,行数是否可能太大?

这里是简短的 pro olap 代码:

PROC OLAP
   CUBE                   = "/XXX"
   DELETE_PHYSICAL;


   METASVR
     HOST        = "XXX"
     PORT        = xxx
     USERID      = "XXX"
     PW          = "XXX"
     olap_schema="XXX";

RUN;

PROC OLAP
   CUBE                   = "/XXX";


   METASVR
     HOST        = "XXX"
     PORT        = xxx
     USERID      = "XXX"
     PW          = "XXX"
     olap_schema="XXX";

RUN;

谢谢!

【问题讨论】:

  • 您似乎怀疑它是由于大小,所以也许您可以尝试以下 2 件事:(1)减小此表的大小并再次尝试查看是否通过。 (2) 启用一些额外的选项来跟踪性能:PROC OPTIONS GROUP=(SORT MEMORY PERFORMANCE);运行;
  • @Shorack:在处理 proc olap 之前使用您的代码示例启用选项。但是,我与 memsize 等有什么关系?它在执行 proc olap 时没有显示利用率......所以我不能说它是否因内存太少而失败。

标签: sas olap olap-cube


【解决方案1】:

在我看来,您有太多唯一值(不一定是太多行,而是太多唯一组合),以至于无法在分配的空间中正确创建索引。

查看this paper 以获得一些建议。特别是,看看 ASYNCINDEXLIMIT 和 INDEXSORTSIZE - 看看你是否可以增加这些以允许它构建。找出你有多接近的一个好方法是用你的完整数据集的一个子集运行 PROC OLAP,特别是你感兴趣的变量的唯一值的一个子集,看看你是否可以做(比如说)您当前限制内的一半或四分之一的数据。

如果您能够创建 12MM 行但不能创建 32MM 行,那么您至少可以尝试将大小限制加倍,看看是否可行。 SAS 的默认尺寸往往过于保守。

您也可以尝试打开OPTION MSGLEVEL=I,因为这应该会为您提供一些关于它尝试创建的索引大小的额外信息。

【讨论】:

    【解决方案2】:

    在给定偏好的情况下,无法在 nway 上创建索引。所以我在 proc olap (NOINDEX NO_NWAY) 中添加了以下选项:

    PROC OLAP
       CUBE                   = "/xxx"
       DATA                   = xxx.xxx
       DRILLTHROUGH_TABLE     = xxx.xxx
       PATH                   = '/xxx'
       DESCRIPTION            = 'xxx'
       NOINDEX
       NO_NWAY;
    
       METASVR
        HOST        = "xxx"
        PORT        = xxx
        USERID      = "xxx"
        PW          = "xxx"
        olap_schema="xxx";
    RUN;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-30
      • 2021-01-14
      • 1970-01-01
      • 2016-06-09
      相关资源
      最近更新 更多