处理结构和模型(Analysis Services - 数据挖掘)
数据挖掘对象在处理之前只是一个空容器。“处理”数据挖掘模型也称为“定型”。
处理挖掘结构: 挖掘结构从列绑定和使用情况元数据定义的外部数据源获取数据,并读取此数据。挖掘结构将完全读取此数据,然后对这些数据进行分析以提取各种统计信息。Analysis Services 在本地缓存中存储数据的简洁表示形式,此形式适合于由数据挖掘算法进行分析。处理模型之后,您可以保留或删除此缓存。默认情况下,将存储此缓存。有关详细信息,请参阅如何处理挖掘结构。
处理挖掘模型: 挖掘模型在处理之前为空,仅包含定义。若要处理挖掘模型,必须已经处理了该模型所基于的挖掘结构。挖掘模型从挖掘结构缓存获取数据,应用该模型上已创建的任何筛选器,然后传递通过算法设置的数据以检测模式。处理模型之后,该模型仅存储处理的结果,而不会存储数据自身。有关详细信息,请参阅如何处理挖掘模型。
下图说明了处理挖掘结构和挖掘模型时的数据流。
处理期间针对关系存储区的查询
有以下三个处理阶段:查询源数据、确定原始统计信息和使用模型定义与算法对挖掘模型进行定型。
Analysis Services 服务器向提供原始数据的数据库发出查询。此数据库可能是 SQL Server 2008 或 SQL Server 数据库引擎早期版本的实例。处理数据挖掘结构时,源中的数据传输到挖掘结构,并在磁盘上保存为一种新的压缩格式。并不会处理数据源中的每个列,而仅会处理绑定所定义的挖掘结构中包含的列。
使用此数据,Analysis Services 生成所有数据和离散化列的索引,并对连续列创建单独索引。针对每个嵌套表发出一个查询以创建索引,并根据每个嵌套表生成一个额外查询,以处理每对嵌套表和事例表之间的关系。创建多个查询的原因在于处理特殊的内部联机分析处理 (OLAP) 多维数据集。您可以通过设置服务器属性 DatabaseConnectionPoolMax 来限制 Analysis Services 发送到关系存储区的查询数。有关详细信息,请参阅 OLAP 属性。
处理模型时,模型不会从数据源中重新读取数据,而从挖掘结构获取数据摘要。服务器将使用创建的多维数据集以及缓存的索引和事例数据来创建独立的线程,以便为模型定型。
在 SQL Server Enterprise 中,所以的处理都以并行方式发生。在 SQL Server Standard 中,对处理进行序列化。
查看处理结果
处理了挖掘结构后,此挖掘结构包含数据的简洁表示形式,以用于统计分析。如果尚未清除缓存,则可以用以下几种方式访问此缓存中的数据:
针对模型创建数据挖掘扩展插件 (DMX) 查询,并钻取到结构中。有关详细信息,请参阅 SELECT FROM <模型>.CASES (DMX)。
基于结构浏览模型,并使用用户界面中的其中一个选项钻取到结构事例。有关详细信息,请参阅查看数据挖掘模型或如何从挖掘模型钻取到事例数据。
针对结构事例创建 DMX 查询。有关详细信息,请参阅 SELECT FROM <结构>.CASES。
在处理“挖掘模型”之后,该模型仅包含从分析得出的模式,以及缓存定型数据的模型结果的映射。您可以浏览或查询模型结果(称为“模型内容”),也可以查询模型和结构事例(如果已缓存)。
每个挖掘模型的模型内容取决于创建该模型时所使用的算法。例如,如果一个模型是聚类分析模型,而另一个模型是决策树模型,即使这两个模型使用完全相同的数据,其模型内容也大不相同。有关详细信息,请参阅挖掘模型内容(Analysis Services - 数据挖掘)。