(一)概览
随着数据挖掘的数据结构由简单到复杂,数据规模由小到大,数据挖掘软件的发展经历了单机计算、集群计算、网格计算等几个阶段。目前,它已经进入了并行计算、分布式计算和网格计算相结合的云计算时代。云计算技术保证了海量数据挖掘的准确性和效率,具体体现在以下几个方面。
(1)云计算建立了虚拟存储系统,实现了分布式数据资源的集中管理和统一管理,而虚拟云存储管理系统的建立是为数据挖掘提供数据资源的有效保证。
(2)云计算建立了迁移策略和负载平衡系统。迁移策略系统考虑了数据传输对网络负担和节点负载的影响,通过集中管理为海量数据挖掘提供了效率保证。
(3)云计算提供任务并行化管理,如建立并行任务通信机制、并行任务调度机制、并行任务故障恢复机制等,从而保证并行数据挖掘的有效性和效率。
(二)系统架构
云计算平台的并行数据挖掘系统的体系主要分为四层。
(1)云计算平台:提供分布式文件系统、分布式数据库、适合于数据存储、数据管理、数据计算等的并行计算框架,可根据实际需要合理配置。
(2)数据ETL:可以收集各种数据源,包括数据库数据、文档数据和网页数据。此外,一些基本的数据清理、数据转换、结构化数据/非结构化数据预处理工作也需要在存储前完成。
(3)并行数据挖掘分析引擎:主要设计了面向云计算平台的并行计算框架,包括并行数据挖掘算法、模型评价和结果显示,并提供上下调用接口。
(4)数据挖掘的应用:调用数据挖掘的能力模型或直接利用数据挖掘的结果来揭示数据的隐藏价值并加以利用。(www.xing528.com)
该体系结构可以直接作为一个完整的挖掘应用系统使用,也可以在基于云的应用平台中作为中间件使用并行数据挖掘引擎模块。
(三)关键技术
1.挖掘算法的并行化分析
该算法能否被Map Reduce并行化,需要针对具体的算法进行具体的分析。但是,也有一些初步的和一般性的指导原则可供参考。
(1)首先要判断算法中是否存在并行处理步骤:在理论分析中,不仅要考虑主要步骤的并行性,还要考虑小计算的并行化,这是算法的前提和基础。
(2)从理论上判断该算法是否满足Map Reduce并行化条件,即该算法是否能够对数据进行分割,以及块处理后的结果是否可以合并得到最终的结果。
(3)算法的时间复杂度不应太大:即算法不能迭代太多次,因为每次启动Map Reduce需要时间(包括在每个节点上启动新进程、通过网络传输数据等一系列操作);最后,我们需要保证Map Reduce并行化算法的效率,否则就不需要Map Reduce并行化。
(4)地图推理后,需要考虑算法的正确性:即并行处理结果与串行处理结果一致。
2.挖掘算法的并行设计
对于数据挖掘算法的并行设计,不需要对所有算法进行详细的分析和设计。因此,本书选择了两种有代表性的算法进行具体的分析和设计。它们分别代表简单的Map Reduce并行化设计和复杂Map Reduce并行设计。但是,对于特定数据挖掘算法的Map Reduce并行设计,将给出一些一般的指导原则。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。