处理要求和注意事项 (数据挖掘)

本主题介绍处理数据挖掘对象时要记住的一些技术注意事项。 有关处理方式以及如何应用于数据挖掘的一般说明,请参阅 “处理数据挖掘对象”。

关系存储上的查询

处理挖掘结构

处理挖掘模型

处理过程中关系存储的查询

对于数据挖掘,需要处理三个阶段:查询源数据、确定原始统计信息,以及使用模型定义和算法来训练挖掘模型。

Analysis Services 服务器向提供原始数据的数据库发出查询。 此数据库可能是 SQL Server 2014 或 SQL Server 数据库引擎的早期版本实例。 处理数据挖掘结构时,源中的数据将传输到挖掘结构,并以新的压缩格式保存在磁盘上。 并不是数据源中的每一列都会被处理:只有按照绑定定义的挖掘结构中包含的列才会被处理。

使用此数据,Analysis Services 会生成所有数据和离散化列的索引,并为连续列创建单独的索引。 为每个嵌套表发出一个查询来创建索引,并为每个嵌套表生成一个附加查询,以处理每个嵌套表与事例表之间的关系。 创建多个查询的原因是处理特殊的内部多维数据存储。 可以通过设置服务器属性 DatabaseConnectionPoolMax来限制 Analysis Services 发送到关系存储的查询数。 有关详细信息,请参阅 OLAP 属性

处理模型时,模型不会从数据源重新读取数据,而是从挖掘结构中获取数据的摘要。 使用已创建的多维数据集以及缓存的索引和事例数据,服务器会创建独立的线程来训练模型。

有关支持并行模型处理的 SQL Server 版本的详细信息,请参阅 SQL Server 2012 版本支持的功能https://go.microsoft.com/fwlink/?linkid=232473

处理挖掘结构

挖掘结构可以与所有依赖模型一起处理,也可以单独处理。 当某些模型需要花费很长时间来处理,并且想要延迟该操作时,可以单独处理挖掘结构,独立于模型。

有关详细信息,请参阅 “处理挖掘结构”。

如果担心节省硬盘空间,请注意 Analysis Services 在本地保留挖掘结构缓存。 也就是说,它会将所有训练数据写入本地硬盘。 如果不希望缓存数据,可以通过将挖掘结构上的MiningStructureCacheMode属性更改为ClearAfterProcessing来修改默认设置。 这将在模型处理后销毁缓存,但是,它还会禁用数据挖掘结构的钻取功能。 有关详细信息,请参阅钻取查询(数据挖掘)。

此外,如果清除缓存,将无法使用保留测试集(如果定义了一个),并且测试集分区的定义将丢失。 有关隔离测试集的详细信息,请参阅 训练和测试数据集

处理挖掘模型

可以单独处理挖掘模型而不依赖其关联的挖掘结构,或者可以同时处理基于该结构的所有模型以及结构本身。

有关详细信息,请参阅 “处理挖掘模型”。

但是,在 SQL Server Data Tools (SSDT) 和 SQL Server Management Studio 中,无法多选挖掘模型来处理结构。 如果需要控制处理哪些模型,则必须单独选择它们,或使用 XMLA 或 DMX 串行处理模型。

需要重新处理时

必须先处理定义的 Analysis Services 模型,然后才能开始使用它们。 每当更改挖掘模型结构、更新训练数据、更改现有挖掘模型或向结构添加新挖掘模型时,还必须重新处理挖掘模型。

在这些情况下,还会处理挖掘模型:

项目的部署:根据项目设置和项目的当前状态,项目中的挖掘模型通常在部署项目时得到完全处理。

启动部署时,处理会自动启动,除非 Analysis Services 服务器上存在以前处理过的版本,并且没有结构更改。 可以通过从下拉列表中选择 “部署解决方案 ”或按 F5 键来部署项目。 则可以

有关如何设置 Analysis Services 部署属性以控制挖掘模型部署方式的详细信息,请参阅 数据挖掘解决方案的部署

移动挖掘模型:使用 EXPORT 命令移动挖掘模型时,仅导出模型的定义,其中包括预期向模型提供数据的挖掘结构的名称。

使用 EXPORT 和 IMPORT 命令对以下方案进行重新处理要求:

  • 挖掘结构存在于目标实例上,并且挖掘结构处于未处理状态。

    必须重新处理结构和模型。

  • 挖掘结构已存在于目标实例上,并且已被处理。 仅导出挖掘模型。

    无需处理即可使用该模型。

  • 挖掘结构定义也通过使用 WITH DEENDENCIES 关键字导出。

    必须重新处理结构和模型。

有关详细信息,请参阅 导出和导入数据挖掘对象

另请参阅

挖掘结构 (Analysis Services - 数据挖掘)
挖掘结构 (Analysis Services - 数据挖掘)
多维模型对象处理