首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSAS tabluar模式处理失败,并显示“大量行”

SSAS tabluar模式处理失败,并显示“大量行”
EN

Stack Overflow用户
提问于 2014-10-10 18:09:38
回答 1查看 815关注 0票数 1

我有一个SSAS表格模式多维数据集,它使用ODBC从Actian Matrix数据库读取数据。当我使用具有100万行的数据集时,该项目处理得很好,但当我尝试使用更大的数据集(3亿行)时,该过程运行了大约15分钟,并出现以下消息:

代码语言:javascript
复制
The operation failed because the source database does not exist, the source table does not exist, or because you do not have access to the data source.

More Details:

OLE DB or ODBC error: [ParAccel][ODBC Driver][PADB]57014:ERROR:  Query (25459) cancelled on user's request
DETAIL:  Query (25459) cancelled on user's request
; 57014.

An error occurred while processing the partition 'XXXX' in table 'YYYY'.

The current operation was cancelled because another operation in the transaction failed.

消息说数据库不存在,但这没有意义,因为它在第一种情况下工作得很好(区别只是一个限制行数的"where子句“)

我使用的服务器有96 Gb的空闲空间,在“处理”进程运行时,我可以看到所有的内存都被消耗了。当它被消耗完时,它会运行几个axtra秒,然后失败。此外,我知道导出到csv文件的3亿行数据集的原始格式是36 Gb,因此它应该可以完全放入内存中,而不需要任何压缩。

我还可以保证查询本身在源数据库上运行良好,因此"Query (25459) cancelled‘s request“消息也没有多大意义。

有没有人知道可能发生了什么?

EN

回答 1

Stack Overflow用户

发布于 2015-02-21 23:14:44

不能根据输入的字节大小估计输入行的导数(结果多维数据集)的内存消耗。它是立方体维度的所有不同值的笛卡尔图乘积的函数。

如果您正在构建一个具有2个维度和2个测量值的2个输入行的多维数据集:

代码语言:javascript
复制
State|City|Population
---------------------
NY|New York|8406000
CA|Los Angeles|3884000

State|City|Population|Number of records
---------------------------------------
NULL|NULL|12290000|2
NY|NULL|8406000|1
NY|New York|8406000|1
CA|NULL|3884000|1
CA|Los Angeles|3884000|1
NULL|Los Angeles|3884000|1
NULL|New York|8406000|1

您不能期望在处理输入数据行时生成的输出在大小上相等。如果ODBC驱动程序在允许您读取之前将整个输入保留在内存中,那么在多维数据集生成完成之前,您必须考虑到输入和输出都驻留在内存中。

这个问题的答案要清晰得多:How to calculate the likely size of an OLAP cube

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26296959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档