基于大数据平台和算法模型的计算方法及系统的制作方法

文档序号:10724532阅读:878来源:国知局
基于大数据平台和算法模型的计算方法及系统的制作方法
【专利摘要】本发明公开了一种基于大数据平台和算法模型的计算方法及系统,其中所述计算方法包括:将数据保存在大数据平台的Hive数据仓库;将算法模型的脚本文件放到服务器上,所述算法模型的脚本文件用R语言编写;在服务器上启动Rserve并开启远程访问;连接Hive数据仓库和Rserve,将Hive数据仓库中保存的数据在Rserve上运行,并将计算结果导入到Hive数据仓库中。本发明弥补了现有技术中大数据平台处理后的数据不能直接用于算法模型计算的不足,利用java语言建立Hive数据仓库和Rserve之间的通信渠道,将数据的处理与算法模型相结合,使得数据的处理和模型计算能自由衔接,提高数据处理的速度。
【专利说明】
基于大数据平台和算法模型的计算方法及系统
技术领域
[0001] 本发明属于计算机领域,尤其涉及一种基于大数据平台和算法模型的计算方法。
【背景技术】
[0002] 随着互联网的发展,用户数据量越来越大,并且具有多样性和实时性,如何对这些 用户数据进行统计和分析变得非常有意义。如今广泛采用的Hadoop技术对于存储和处理大 数据有非常好的效果,但在不同的应用场景下,数据的分析需要采用更专业的算法和模型 进行计算,只有将两者相结合,才能满足现实需求。
[0003] 在现在的互联网公司里,大数据处理和算法模型往往是独立处理的。因为两者的 专业背景不同,使用的软件工具不同:数据处理常使用Hive(基于Hadoop的一个数据仓库工 具)、Hbase(-个分布式的、面向列的开源数据库)、Hdfs(分布式文件系统)等技术,用来处 理海量数据;统计模型则使用R(-种用于统计计算的编程语言)、spss(-种软件,用于统计 产品与服务解决方案)等技术,对抽样数据进行统计分析。
[0004] 但分别处理数据有一定的局限性,Hadoop(-种分布式系统基础架构)和R的设计 原理不同,数据范围也不同,两者之间没有通信渠道,数据无法传递。数据的处理和专业的 统计属于不同学科,技术背景和开发环境均不同,无法直接衔接,不能发挥大数据处理和专 业统计合作的优势。现有技术中将数据处理和专业统计相结合的一种方式是在统计过程中 调用大数据,并且在统计的过程中进行任务拆分和并发执行,这种方式需要重新编写统计 程序的底层逻辑,难度很大。还有一种方式是通过数据库建立数据缓存,再用编程算法进行 计算,这种方法处理速度慢,难以应对大数据量的需求,无法适应时代的发展。

【发明内容】

[0005] 本发明要解决的技术问题是为了克服现有技术中大数据平台处理后的数据不能 直接用于算法模型计算的缺陷,提供一种基于大数据平台和算法模型的计算方法。
[0006] 本发明是通过以下技术方案解决上述技术问题的:
[0007] 本发明提供一种基于大数据平台和算法模型的计算方法,其特点是,所述计算方 法包括:
[0008] Si、将数据保存在大数据平台的Hive数据仓库;
[0009] S2、将算法模型的脚本文件放到服务器上,所述算法模型的脚本文件用R语言编 与;
[0010] S3、在服务器上启动Rserve(-个基于TCP/IP协议的,允许R语言与其他语言通信 的C/S结构的程序)并开启远程访问;
[0011] S4、连接Hive数据仓库和Rserve,将Hive数据仓库中保存的数据在Rserve上运行, 并将计算结果导入到Hive数据仓库中。
[0012]本技术方案利用大数据平台对数据进行处理,利用Rserve存放用于数据分析的算 法模型,将数据的处理与算法模型相结合,使得数据的处理和模型计算能自由衔接。
[0013] 较佳地,所述计算方法还包括:
[0014] S5、将Hive数据仓库中的计算结果导出到数据库中。
[0015] 较佳地,S4包括:
[0016] 使用java(-种计算机编程语言)开发工具利用java语言访问Hive数据仓库;
[0017] 将Hive数据仓库的数据以文件流的形式读入并进行分列,转化为所述算法模型的 脚本文件可接受的数据格式;
[0018]远程调用所述算法模型的脚本文件进行计算,并将计算结果以文件流的形式返 回,导入到Hive数据仓库中。
[0019] 本技术方案利用java语言建立Hive数据仓库和Rserve之间的通信渠道,使得在大 数据整理完成后直接进行算法模型的计算,不需要中间缓存,提高数据处理的速度。在通信 渠道打通的情况下,数据的处理和模型可以根据现实需求单独进行改变,具有很强的灵活 性。
[0020] 较佳地,Si包括:从目标数据库中导入源数据,处理源数据,将处理后的源数据记 为第一数据,并将所述第一数据存储在Hdfs文件系统中,并组成任务队列。
[0021 ]较佳地,所述算法模型为评分卡模型,&还包括:
[0022] 训练评分卡模型,将所述评分卡模型的脚本文件放到服务器上;
[0023] 将所述第一数据根据逻辑回归模型进行权重赋值,将赋值了权重的第一数据记为 第二数据,并将所述第二数据保存在Hive数据仓库中,所述第二数据用于参与所述评分卡 模型的计算。
[0024] 本发明还提供一种基于大数据平台和算法模型的计算系统,其特点是,所述计算 系统包括:
[0025]第一保存单元,用于将数据保存在大数据平台的Hive数据仓库;
[0026]第二保存单元,用于将算法模型的脚本文件放到服务器上,所述算法模型的脚本 文件用R语言编写;
[0027]启动单元,用于在服务器上启动Rserve并开启远程访问;
[0028]连接单元,用于连接Hive数据仓库和Rserve,将Hive数据仓库中保存的数据在 Rserve上运行,并将计算结果导入到Hive数据仓库中。
[0029]较佳地,所述计算系统还包括:
[0030]导出单元,用于将Hive数据仓库中的计算结果导出到数据库中。
[0031 ]较佳地,所述连接单元包括:
[0032]访问模块,用于使用java开发工具利用java语言访问Hi ve数据仓库;
[0033] 转化模块,用于将Hive数据仓库的数据以文件流的形式读入并进行分列,转化为 所述算法模型的脚本文件可接受的数据格式;
[0034] 计算模块,用于远程调用所述算法模型的脚本文件进行计算,并将计算结果以文 件流的形式返回,导入到Hive数据仓库中。
[0035]较佳地,所述第一保存单元用于:从目标数据库中导入源数据,处理源数据,将处 理后的源数据记为第一数据,并将所述第一数据存储在Hdfs文件系统中,并组成任务队列。
[0036]较佳地,所述算法模型为评分卡模型,所述第二保存单元还用于训练评分卡模型, 将所述评分卡模型的脚本文件放到服务器上;
[0037] 所述第二保存单元还用于将所述第一数据根据逻辑回归模型进行权重赋值,将赋 值了权重的第一数据记为第二数据,并将所述第二数据保存在Hive数据仓库中,所述第二 数据用于参与所述评分卡模型的计算。
[0038] 在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实 例。
[0039]本发明的积极进步效果在于:本发明利用大数据平台对数据进行处理,利用 Rserve存放用于数据分析的算法模型,利用java语言建立Hive数据仓库和Rserve之间的通 信渠道,将数据的处理与算法模型相结合,使得数据的处理和模型计算能自由衔接,在大数 据整理完成后直接进行算法模型的计算,不需要中间缓存,提高数据处理的速度。
【附图说明】
[0040] 图1为本发明较佳实施例的一种基于大数据平台和算法模型的计算方法的流程 图。
[0041] 图2为本发明较佳实施例的一种基于大数据平台和算法模型的计算方法的原理示 意图。
[0042] 图3为本发明较佳实施例的一种基于大数据平台和算法模型的计算系统的框图。
【具体实施方式】
[0043] 下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实 施例范围之中。
[0044] 实施例
[0045] -种基于大数据平台和算法模型的计算方法,如图1和2所示,所述计算方法包括:
[0046] 步骤101、将数据保存在大数据平台的Hive数据仓库。具体包括:从目标数据库中 导入源数据,所述目标数据库可以为多维度的真实交易数据库,由于源数据的量非常大,且 分区格式不同,所以在导入的过程中还包括处理源数据的步骤,具体可以包括使用HQL语言 对源数据进行提取,清洗,分割,重新分区,聚合,统计和计算。将处理后的源数据记为第一 数据,并将所述第一数据存储在Hdfs文件系统01中,并组成任务队列,所述任务队列为有序 的任务队列,Hdf s文件系统01与hadoop集群03连接。
[0047]步骤102、将算法模型的脚本文件放到服务器02上,所述算法模型的脚本文件用R 语言编写。其中,所述算法模型可以为评分卡模型,步骤102具体包括以下步骤:
[0048]训练评分卡模型,将所述评分卡模型的脚本文件放到服务器上。具体训练评分卡 模型的过程为:利用R语言对采样数据进行特征提取和分类形成训练集数据,采用评分卡模 型(一种预测模型)对变量进行分箱并计算权重值,降低变量属性的个数。然后计算信息价 值,选取在预测范围内的变量进入模型,对不同的群体变量进行拆分,分别开发评分卡。评 分卡模型的计算公式如下:

[0052] 其中,woe表示权重,IV表示信息价值,score表示评分;
[0053] Pgcxxi表示好数据的数量分布,Pbad表示坏数据的数量分布;
[0054] Pi为回归系数,α为截距,η为变量个数,of f set为偏移量,factor为比例因子。
[0055]采用逻辑回归模型对评分卡模型进行训练,用L-BFGS算法作为模型的迭代算法, 加快函数的收敛速度,条件概率P(;Y=;L|)g为根据观测量X相对于某事件Y发生的概率。
[0057]使用贝叶斯公式迭代完成后,就能获得关键属性的权重。在此过程中不断进行校 验和修正,训练出一个成熟稳健的评分卡模型,所述评分卡模型以R脚本的形式存放在服务 器02上。
[0058]将所述第一数据根据逻辑回归模型进行权重赋值,将赋值了权重的第一数据记为 第二数据,并将所述第二数据保存在Hive数据仓库中,所述第二数据用于参与所述评分卡 模型的计算。具体可以通过在任务队列中增加一个hadoop任务实现。此时,保存在Hive数据 仓库的数据包括所述第一数据和所述第二数据。
[0059] 步骤103、在服务器02上启动Rserve并开启远程访问。本实施例的步骤103还可以 包括将训练出的评分卡模型的脚本文件放到服务器02的文件目录下,服务器02上预先安装 有Rserve运行时所依赖的程序。
[0060] 步骤104、连接Hive数据仓库和Rserve,将Hive数据仓库中保存的数据在Rserve上 运行,并将计算结果导入到Hive数据仓库中。具体包括以下步骤:
[0061 ]使用java开发工具利用java语言访问Hive数据仓库;
[0062] 将Hive数据仓库的数据以文件流的形式读入并进行分列,转化为所述算法模型的 脚本文件可接受的数据格式;
[0063] 远程调用所述算法模型的脚本文件进行计算,并将计算结果以文件流的形式返 回,导入到Hive数据仓库中。
[0064]在具体实现时,可以先将上述步骤编写为一个jar包,所述jar包用于使用java开 发工具利用java语言访问Hive数据仓库,将Hive数据仓库的数据以文件流的形式读入并进 行分列,转化为所述算法模型的脚本文件可接受的数据格式,远程调用所述算法模型的脚 本文件进行计算,并将计算结果以文件流的形式返回,导入到Hive数据仓库中。然后在任务 队列中增加一个had loop任务,调用所述jar,以实现将Hive数据仓库中保存的数据在 Rserve上运行,并将计算结果从文件流导入到Hive数据仓库中。
[0065]步骤105、将Hive数据仓库中的计算结果导出到数据库04中。此步骤还可以包括将 Hive数据仓库中的计算结果和数据进行最后的整合和梳理,将数据通过shell脚本导出到 Mysql或SQLServer数据库中,以供其他程序或应用使用。
[0066] -种基于大数据平台和算法模型的计算系统,如图3所示,所述计算系统包括:
[0067]第一保存单元201,用于将数据保存在大数据平台的Hive数据仓库。具体用于:从 目标数据库中导入源数据,处理源数据,将处理后的源数据记为第一数据,并将所述第一数 据存储在Hdfs文件系统中,并组成任务队列。其中处理源数据可以包括使用HQL语言对源数 据进行提取,清洗,分割,重新分区,聚合,统计和计算。
[0068]第二保存单元202,用于将算法模型的脚本文件放到服务器上,所述算法模型的脚 本文件用R语言编写。其中,所述算法模型可以为评分卡模型,第二保存单元,还用于训练评 分卡模型,将所述评分卡模型的脚本文件放到服务器上。具体训练评分卡模型的过程为:利 用R语言对采样数据进行特征提取和分类形成训练集数据,采用评分卡模型(一种预测模 型)对变量进行分箱并计算权重值,降低变量属性的个数。然后计算信息价值,选取在预测 范围内的变量进入模型,对不同的群体变量进行拆分,分别开发评分卡。评分卡模型的计算 公式如下:
[0072] 其中,woe表示权重,IV表示信息价值,score表示评分;
[0073] Pgood表不好数据的数量分布,Pbad表不坏数据的数量分布;
[0074] Pi为回归系数,α为截距,η为变量个数,of f set为偏移量,factor为比例因子。
[0075]采用逻辑回归模型对评分卡模型进行训练,用L-BFGS算法作为模型的迭代算法, 加快函数的收敛速度,条件概率萝(Υ=1 |X>为根据观测量x相对于某事件γ发生的概率。
[0077] 使用贝叶斯公式迭代完成后,就能获得关键属性的权重。在此过程中不断进行校 验和修正,训练出一个成熟稳健的评分卡模型,所述评分卡模型以R脚本的形式存放在服务 器上。
[0078] 所述第二保存单元还用于将所述第一数据根据逻辑回归模型进行权重赋值,将赋 值了权重的第一数据记为第二数据,并将所述第二数据保存在Hive数据仓库中,所述第二 数据用于参与所述评分卡模型的计算。具体可以通过在任务队列中增加一个hadoop任务实 现。此时,保存在Hi ve数据仓库的数据包括所述第一数据和所述第二数据。
[0079]启动单元203,用于在服务器上启动Rserve并开启远程访问。还可以用于将训练出 的评分卡模型的脚本文件放到服务器的文件目录下,服务器上预先安装有Rserve运行时所 依赖的程序。
[0080] 连接单元204,用于连接Hive数据仓库和Rserve,将Hive数据仓库中保存的数据在 Rserve上运行,并将计算结果导入到Hi ve数据仓库中。具体地,所述连接单元包括:
[0081 ]访问模块2041,用于使用java开发工具利用java语言访问Hive数据仓库;
[0082]转化模块2042,用于将Hive数据仓库的数据以文件流的形式读入并进行分列,转 化为所述算法模型的脚本文件可接受的数据格式;
[0083]计算模块2043,用于远程调用所述算法模型的脚本文件进行计算,并将计算结果 以文件流的形式返回,导入到Hive数据仓库中。
[0084]在具体实现时,可以先将所述连接单元编写为一个jar包,所述jar包用于使用 java开发工具利用java语言访问Hive数据仓库,将Hive数据仓库的数据以文件流的形式读 入并进行分列,转化为所述算法模型的脚本文件可接受的数据格式,远程调用所述算法模 型的脚本文件进行计算,并将计算结果以文件流的形式返回,导入到Hive数据仓库中。然后 在任务队列中增加一个hadloop任务,调用所述jar,以实现将Hive数据仓库中保存的数据 在Rserve上运行,并将计算结果从文件流导入到Hive数据仓库中。
[0085]导出单元205,用于将Hive数据仓库中的计算结果导出到数据库中。所述导出单元 还可以用于将Hive数据仓库中的计算结果和数据进行最后的整合和梳理,将数据通过 shell脚本导出到Mysql或SQLServer数据库中,以供其他程序或应用使用。
[0086]虽然以上描述了本发明的【具体实施方式】,但是本领域的技术人员应当理解,这些 仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背 离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更 和修改均落入本发明的保护范围。
【主权项】
1. 一种基于大数据平台和算法模型的计算方法,其特征在于,所述计算方法包括: &、将数据保存在大数据平台的Hive数据仓库; &、将算法模型的脚本文件放到服务器上,所述算法模型的脚本文件用R语言编写; 53、 在服务器上启动Rserve并开启远程访问; 54、 连接Hive数据仓库和Rserve,将Hive数据仓库中保存的数据在Rserve上运行,并将 计算结果导入到Hive数据仓库中。2. 如权利要求1所述的计算方法,其特征在于,所述计算方法还包括: &、将Hive数据仓库中的计算结果导出到数据库中。3. 如权利要求1所述的计算方法,其特征在于,S4包括: 使用java开发工具利用java语言访问Hi ve数据仓库; 将Hive数据仓库的数据以文件流的形式读入并进行分列,转化为所述算法模型的脚本 文件可接受的数据格式; 远程调用所述算法模型的脚本文件进行计算,并将计算结果以文件流的形式返回,导 入到Hive数据仓库中。4. 如权利要求1所述的计算方法,其特征在于,Si包括:从目标数据库中导入源数据,处 理源数据,将处理后的源数据记为第一数据,并将所述第一数据存储在Hdfs文件系统中,并 组成任务队列。5. 如权利要求4所述的计算方法,其特征在于,所述算法模型为评分卡模型,&还包括: 训练评分卡模型,将所述评分卡模型的脚本文件放到服务器上; 将所述第一数据根据逻辑回归模型进行权重赋值,将赋值了权重的第一数据记为第二 数据,并将所述第二数据保存在Hive数据仓库中,所述第二数据用于参与所述评分卡模型 的计算。6. -种基于大数据平台和算法模型的计算系统,其特征在于,所述计算系统包括: 第一保存单元,用于将数据保存在大数据平台的Hi ve数据仓库; 第二保存单元,用于将算法模型的脚本文件放到服务器上,所述算法模型的脚本文件 用R语言编写; 启动单元,用于在服务器上启动Rserve并开启远程访问; 连接单元,用于连接Hive数据仓库和Rserve,将Hive数据仓库中保存的数据在Rserve 上运行,并将计算结果导入到Hive数据仓库中。7. 如权利要求6所述的计算系统,其特征在于,所述计算系统还包括: 导出单元,用于将Hi ve数据仓库中的计算结果导出到数据库中。8. 如权利要求6所述的计算系统,其特征在于,所述连接单元包括: 访问模块,用于使用java开发工具利用java语言访问Hi ve数据仓库; 转化模块,用于将Hive数据仓库的数据以文件流的形式读入并进行分列,转化为所述 算法模型的脚本文件可接受的数据格式; 计算模块,用于远程调用所述算法模型的脚本文件进行计算,并将计算结果以文件流 的形式返回,导入到Hive数据仓库中。9. 如权利要求6所述的计算系统,其特征在于,所述第一保存单元用于:从目标数据库 中导入源数据,处理源数据,将处理后的源数据记为第一数据,并将所述第一数据存储在 Hdfs文件系统中,并组成任务队列。10.如权利要求9所述的计算系统,其特征在于,所述算法模型为评分卡模型,所述第二 保存单元还用于训练评分卡模型,将所述评分卡模型的脚本文件放到服务器上; 所述第二保存单元还用于将所述第一数据根据逻辑回归模型进行权重赋值,将赋值了 权重的第一数据记为第二数据,并将所述第二数据保存在Hive数据仓库中,所述第二数据 用于参与所述评分卡模型的计算。
【文档编号】G06F9/30GK106095391SQ201610377885
【公开日】2016年11月9日
【申请日】2016年5月31日
【发明人】张露瑶, 陈榕, 李腾龙
【申请人】携程计算机技术(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1