BC-PDM:基于MR并行数据挖掘工具研发与应用内部资料内部资料内部资料内部资料注意保密注意保密注意保密注意保密邓超中国移动研究院dengchao@chinamobile.com目录背景海量数据挑战传统数据挖掘面临问题MR&Hadoop适应海量数据挖掘BC-PDM:基于MR并行数据挖掘平台内部资料内部资料内部资料内部资料注意保密注意保密注意保密注意保密BC-PDM:基于MR并行数据挖掘平台功能特性架构特性PKMeans:BC-PDM中挖掘算法并行化实例开放性问题BC-PDM试用海量数据挑战中国移动业务产生海量数据中国移动业务产生海量数据中国移动业务产生海量数据中国移动业务产生海量数据客户数客户数客户数客户数:突破突破突破突破550,000,000客户话单数据客户话单数据客户话单数据客户话单数据CDR(callingdatarecord)12TB/月月月月/省公司省公司省公司省公司内部资料内部资料内部资料内部资料注意保密注意保密注意保密注意保密12TB/月月月月/省公司省公司省公司省公司BASS:6000TB((((2009年年年年))))信令数据信令数据信令数据信令数据(Networksignalingdata)1个省公司个省公司个省公司个省公司(20million客户客户客户客户)GPRS信令信令信令信令:48GB/day3G信令信令信令信令:1TB/dayvoice,SMSsignalingdata,……传统数据挖掘面临问题基本过程首先,加载数据集到内存整个数据集上预处理:提高数据质量、选择属性、采样/过滤得到候选数据子集在预处理后的候选数据子集上,执行数据挖掘算法,内部资料内部资料内部资料内部资料注意保密注意保密注意保密注意保密得到模型利用模型,对新数据集给出预测结果问题---海量数据内存不足难以接受的响应时间MR&Hadoop对海量数据挖掘适用性数据挖掘处理的特征离线分析数据集内各条记录间独立、无数据相关性绝大多数操作,需要遍历整个数据集对每条记录运算训练数据的规模影响挖掘所得模型的精准度内部资料内部资料内部资料内部资料注意保密注意保密注意保密注意保密训练数据的规模影响挖掘所得模型的精准度训练数据和待预测数据集的规模影响系统响应时间Map接收数据分片Map函数对数据进行处理,输出Key:value对MapReduce机制机制机制机制MR&Hadoop对海量数据挖掘适用性内部资料内部资料内部资料内部资料注意保密注意保密注意保密注意保密ImageSource:Google,IncReduce到每个Map中取所负责key对应的所有数据Reduce函数对数据进行处理MR&Hadoop对海量数据挖掘适用性MR&Hadoop优势海量数据可以被分布式存储于PC集群每行记录很容易被M/R函数做为基本单元读入、并处理数据集可以按记录行分割为块,存储到集群中节点上,无需考虑记录行间相关性内部资料内部资料内部资料内部资料注意保密注意保密注意保密注意保密各数据块间并行接受同一处理操作,提升系统响应时间目录背景海量数据挑战传统数据挖掘面临问题MR&Hadoop适应海量数据挖掘BC-PDM:基于MR并行数据挖掘平台内部资料内部资料内部资料内部资料注意保密注意保密注意保密注意保密BC-PDM:基于MR并行数据挖掘平台功能特性架构及技术特性PKMeans:BC-PDM中挖掘算法并行化设计实例开放性问题BC-PDM试用大云平台提供海量数据加工处理大云平台提供海量数据加工处理大云平台提供海量数据加工处理大云平台提供海量数据加工处理((((ETL操作操作操作操作))))和挖掘分析服务和挖掘分析服务和挖掘分析服务和挖掘分析服务的软件系统的软件系统的软件系统的软件系统BC-PDM1.0::::历时两年经历两期研发历时两年经历两期研发历时两年经历两期研发历时两年经历两期研发,2010年年年年5月发布月发布月发布月发布BC-PDM概述•基于基于基于基于WebWebWebWeb工作流引擎工作流引擎工作流引擎工作流引擎工作流引擎工作流引擎工作流引擎工作流引擎BCBCBCBC----PDMPDMPDMPDM平台平台平台平台应用内部资料内部资料内部资料内部资料注意保密注意保密注意保密注意保密HyperDFSHugeTableMapReduce并行并行并行并行ETL并行挖掘并行挖掘并行挖掘并行挖掘•基于基于基于基于WebWebWebWeb工作流引擎工作流引擎工作流引擎工作流引擎•可定制并行可定制并行可定制并行可定制并行ETLETLETLETL•可定制并行挖掘算法可定制并行挖掘算法可定制并行挖掘算法可定制并行挖掘算法•远程数据传输工具远程数据传输工具远程数据传输工具远程数据传输工具结果展示结果展示结果展示结果展示•海量存储海量存储海量存储海量存储•高处理能力高处理能力高处理能力高处理能力•高可靠性高可靠性高可靠性高可靠性•低成本低成本低成本低成本云计算平台数据加载和数据加载和数据加载和数据加载和数据导出数据导出数据导出数据导出数据探索数据探索数据探索数据探索数据传输数据传输数据传输数据传输广广广广域域域域网网网网BC-PDM总体特征与现有商用数据分析软件相比与现有商用数据分析软件相比与现有商用数据分析软件相比与现有商用数据分析软件相比,,,,BC-PDM主要包主要包主要包主要包括三方面优势特征括三方面优势特征括三方面优势特征括三方面优势特征真正支持海量数据分析与挖掘真正支持海量数据分析与挖掘真正支持海量数据分析与挖掘真正支持海量数据分析与挖掘((((MapReduce并行机制并行机制并行机制并行机制))))真正发挥云计算低成本的优势真正发挥云计算低成本的优势真正发挥云计算低成本的优势真正发挥云计算低成本的优势((((PC集群集群集群集群+灵活扩展性灵活扩展性灵活扩展性灵活扩展性))))提供提供提供提供SAAS模式的用户使用方式模式的用户使用方式模式的用户使用方式模式的用户使用方式((((Web浏览器浏览器浏览器浏览器))))内部资料内部资料内部资料内部资料注意保密注意保密注意保密注意保密提供提供提供提供SAAS模式的用户使用方式模式的用户使用方式模式的用户使用方式模式的用户使用方式((((Web浏览器浏览器浏览器浏览器))))BC-PDM核心技术特征核心技术特征核心技术特征核心技术特征核心算法均是基于核心算法均是基于核心算法均是基于核心算法均是基于MapReduce机制实现的并行算法机制实现的并行算法机制实现的并行算法机制实现的并行算法BC-PDM功能特性组件栏组件栏组件栏组件栏-ETL组件组件组件组件-挖掘算法组件挖掘算法组件挖掘算法组件挖掘算法组件-结果展示组件结果展示组件结果展示组件结果展示组件-数据加载导出数据加载导出数据加载导出数据加载导出分析流程设计区分析流程设计区分析流程设计区分析流程设计区Web服务主界面服务主界面服务主界面服务主界面内部资料内部资料内部资料内部资料注意保密注意保密注意保密注意保密分析流程设计区分析流程设计区分析流程设计区分析流程设计区-图形化拖拽交互图形化拖拽交互图形化拖拽交互图形化拖拽交互-工作流创建工作流创建工作流创建工作流创建-组件参数配置组件参数配置组件参数配置组件参数配置状态监控区状态监控区状态监控区状态监控区-多组件监控多组件监控多组件监控多组件监控-MapReduce进度进度进度进度-节点规模节点规模节点规模节点规模-输入数据规模输入数据规模输入数据规模输入数据规模已有流程调度已有流程调度已有流程调度已有流程调度BC-PDM1.0功能特性MR并行数据处理包并行数据处理包并行数据处理包并行数据处理包((((ETL工具工具工具工具))))数据清洗类数据清洗类数据清洗类数据清洗类((((7种种种种)))):三约束检查三约束检查三约束检查三约束检查((((非空非空非空非空、、、、值域值域值域值域、、、、自定义自定义自定义自定义)、)、)、)、数据类型检查数据类型检查数据类型检查数据类型检查、、、、外外外外键约束检查键约束检查键约束检查键约束检查、、、、主键约束检查主键约束检查主键约束检查主键约束检查、、、、缺值处理缺值处理缺值处理缺值处理、、、、去重去重去重去重、、、、去极值去极值去极值去极值数据集成类数据集成类数据集成类数据集成类((((6种种种种)))):Join、、、、维表维表维表维表join、、、、Select、、、、where、、、、sort、、、、delete数据转换类数据转换类数据转换类数据转换类((((10种种种种)))):CaseWhen、、、、字段类型转换字段类型转换字段类型转换字段类型转换、、、、计数区间化计数区间化计数区间化计数区间化、、、、数值区间化数值区间化数值区间化数值区间化归一化归一化归一化归一化、、、、逆归一化逆归一化逆归一化逆归一化、、、、添加添加添加添加ID、、、、属性交换属性交换属性交换属性交换、、、、关联数据生成关联数据生成关联数据生成关联数据生成、、、、PCA数据计算类数据计算类数据计算类数据计算类((((3种种种种)))):Groupby、、、、运算生成列运算生成列运算生成列运算生成列、、、、数据统计数据统计数据统计数据统计内部资料内部资料内部资料内部资料注意保密注意保密注意保密注意保密数据计算类数据计算类数据计算类数据计算类((((3种种种种)))):Groupby、、、、运算生成列运算生成列运算生成列运算生成列、、、、数据统计数据统计数据统计数据统计其他类其他类其他类其他类((((7种种种种)))):集合差集合差集合差集合差、、、、集合交并集合交并集合交并集合交并、、、、Update、、、、InsertUpdate、、、、随机抽样随机抽样随机抽样随机抽样分层抽样分层抽样分层抽样分层抽样、、、、数据集分割数据集分割数据集分割数据集分割MR并行挖掘算法包并行挖掘算法包并行挖掘算法包并行挖掘算法包分类算法分类算法分类算法分类算法((((层次层次层次层次C45决策树决策树决策树决策树、、、、K-近邻近邻近邻近邻、、、、朴素贝叶斯朴素贝叶斯朴素贝叶斯朴素贝叶斯、、、、神经网络神经网络神经网络神经网络、、、、LR逻辑回归逻辑回归逻辑回归逻辑回归))))聚类算法聚类算法聚类算法聚类算法((((K-均值均值均值均值、、、、DBSCAN、、、、Clara))))关联规则算法关联规则算法关联规则算法关联规则算法((((Apriori、、、、FPGrowth、、、、Awfits、、、、时序关联时序关联时序关联时序关联))))BC-PDM1.0功能特性数据探索工具数据探索工具数据探索工具数据探索工具::::对数据对数据对数据对数据、、、、元信息的预览及操作元信息的预览及操作元信息的预览及操作元信息的预览及操作数据加载与导出组件数据加载与导出组件数据加载与导出组件数据加载与导出组件::::基于文本格式的数据格式适配器基于文本格式的数据格式适配器基于文本格式的数据格式适配器基于文本格式的数据格式适配器支持三种模式支持三种模式支持三种模式支持三种模式::::定长定长定长定长/不定长不定长不定长不定长/CSV•元数据查看元数据查看元数据查看元数据查看•数据统计信息及图形展示数据统计信息及图形展示数据统计信息及图形展示数据统计信息及图形展示•相关性分析相关性分析相关性分析相关性分析::::单变量分析单变量分析单变量分析单变量分析、、、、内部资料内部资料内部资料内部资料注意保密注意保密注意保密注意保密远程数据传输远程数据传输远程数据传输远程数据传输、、、、压缩压缩压缩压缩、、、、加密工具加密工具加密工具加密工具•隐私处理保证数据在离开客户隐私处理保证数据在离开客户隐私处理保证数据在离开客户隐私处理保证数据在离开客户端之后端之后端之后端之后,,,,隐私字段始终保持密隐私字段始终保持密隐私字段始终保持密隐私字段始终保持密文文文文,,,,等到下载回客户端时等到下载回客户端时等到下载回客户端时等到下载回客户端时,,,,才才才才解密解密解密解密,,,,客户端保存密钥客户端保存密钥客户端保存密钥客户端保存密钥•数据