CN112579586A - 数据处理方法、装置、设备及存储介质 - Google Patents
数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112579586A CN112579586A CN202011544913.1A CN202011544913A CN112579586A CN 112579586 A CN112579586 A CN 112579586A CN 202011544913 A CN202011544913 A CN 202011544913A CN 112579586 A CN112579586 A CN 112579586A
- Authority
- CN
- China
- Prior art keywords
- data
- calculation
- actuarial
- task
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 238000004364 calculation method Methods 0.000 claims abstract description 202
- 238000012545 processing Methods 0.000 claims abstract description 108
- 238000004140 cleaning Methods 0.000 claims abstract description 94
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000013507 mapping Methods 0.000 claims abstract description 25
- 238000000605 extraction Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims 1
- 208000022417 sinus histiocytosis with massive lymphadenopathy Diseases 0.000 description 57
- 230000008569 process Effects 0.000 description 14
- 238000013461 design Methods 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000002360 preparation method Methods 0.000 description 4
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 239000003814 drug Substances 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000000586 desensitisation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004308 accommodation Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006386 neutralization reaction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及大数据技术领域,公开了一种数据处理方法、装置、设备及存储介质。本方法包括:获取待处理的精算任务和与精算任务中语言文件具有映射关系的源业务数据;对源业务数据进行数据清洗,得到目标基础数据;通过数据处理工具Sqoop将目标基础数据同步至大数据平台HIve库;基于预置Spark对目标基础数据进行精算,并将精算结果回写至HIve库;通过工具Sqoop将精算结果回写入预置精算业务系统数据库Oracle,得到精算报表,并将精算报表发送至业务人员审核。解决了数据精算效率低,无法充分利用了大数据集群分析处理海量数据的能力,时效性差的技术问题。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种数据处理方法、装置、设备及存储介质。
背景技术
精算,简单的说就是依据经济学的基本原理,运用现代数学、统计学、金融学及法学等的各种科学有效的方法,对各种经济活动中未来的风险进行分析,评估和管理等,是现代保险、金融、投资实现稳健经营的基础。在保险行业,数据处理是一种重要的数据预测和统计手段。例如,对于保险公司来说,理赔准备金的计算是风险管控方面非常重要的一个环节,大多数保险公司均会每隔一段时间(如半个月一次)计算一次理赔准备金,以确保当发生理赔案件时,可以按时完成赔付。目前,理赔准备金的计算一般通过精算软件进行,例如基于PROPHET模型的精算程序。
基于传统的Oracle多线程跑批处理这种量级的精算数据分析处理,已经明显力不从心,传统精算分析处理模型关键瓶颈在于海量数据的跑批处理,每个计算子过程都是千万级的数据运算和数据库I/O访问,处理性能已经不能满足业务要求。这种传统的精算方法对源业务数据的利用和计算的灵活性不高。
发明内容
本发明的主要目的是解决数据处理分析效率低下,无法快速从财务数据定稿到保险精算结果定稿,数据量激增导致时效性差的技术问题。
本发明第一方面提供了一种数据处理方法,包括:
获取待处理的精算任务,其中,所述精算任务中包括语言文件和待输出的精算指标;
从预置数据库中获取与所述语言文件具有映射关系的源业务数据;
对所述源业务数据进行数据清洗,得到目标源基础数据;
通过数据处理工具Sqoop将所述目标源业务数据同步至大数据平台HIve库;
基于预置Spark计算引擎对所述目标源业务数据进行精算,得到精算结果,其中,所述精算结果包括RDD;
将所述RDD回写至所述大数据平台HIve库;
通过数据处理工具Sqoop将所述精算结果回写入预置精算业务系统数据库Oracle,得到精算报表。
可选地,在本发明第一方面的第一种实现方式中,所述获取待处理的精算任务包括:
获取精算任务生成请求,其中,所述精算任务生成请求中包括精算模型;
获取所述精算模型中所定义的DSL文件;
对所述DSL文件中的信息进行校验,在校验通过后,生成语言文件;
获取待输出的指标,根据所述语言文件和所述待输出的精算指标生成精算任务。
可选地,在本发明第一方面的第二种实现方式中,所述对所述源业务数据进行数据清洗,得到目标源基础数据包括:
接收数据清洗请求;
根据所述数据清洗请求确定数据清洗规则,其中,所述数据清洗规则包括:清洗特征因子和所述清洗特征因子满足的清洗条件;
根据所述待清洗数据确定所述清洗特征因子对应的特征因子值;
根据所述数据清洗规则和所述特征因子值对所述源业务数据进行清洗,得到目标基础数据。
可选地,在本发明第一方面的第三种实现方式中,所述通过数据处理工具Sqoop将所述目标源业务数据同步至大数据平台HIve库包括:
在关系数据库中读取预配置的将所述目标基础数据同步到大数据平台HIve库的配置表格的表结构,以获取所述配置表格的各配置信息;
根据所述配置信息生成所述大数据平台HIve库对应的调度任务、脚本和建表语句;
将所述调度任务、脚本和建表语句分别传输至所述大数据平台HIve库的指定位置,以调度所述目标基础数据到大数据平台。
可选地,在本发明第一方面的第四种实现方式中,所述基于预置Spark计算引擎对所述目标源业务数据进行精算,得到精算结果:
按照预设的数据分组规则对所述目标基础数据进行分组,得到各个数据组,其中,每个数据组分别对应一个精算指标;
提取所述各个数据组中符合预设条件的数据维度;
对所述各个数据组中属于同一数据维度的数据值进行拼接处理,得到拼接字符串;
对得到的所述拼接字符串进行加密处理,得到所述各个数据组中与所述数据维度对应的维度标志;
根据所述各个数据组中提取到的各个所述数据维度对应的维度标志对所述各个数据组下的目标基础数据进行分组,得到所述各个数据组的待精算数据小组。
可选地,在本发明第一方面的第五种实现方式中,在所述根据所述各个数据组中提取到的各个所述数据维度对应的维度标志对所述各个数据组下的目标基础数据进行分组,得到所述各个数据组的待精算数据小组之后,还包括:
将所述各个数据小组中的数据转换成弹性分布式数据集RDD;
对弹性分布式数据集RDD中的数据进行初步处理生成目标分布式数据集RDD;
基于预置Spark计算引擎,对所述目标分布式数据集RDD进行精算,得到精算结果。
本发明第二方面提供了一种数据处理装置,包括:
第一获取模块,用于获取待处理的精算任务,其中,所述精算任务中包括语言文件和待输出的精算指标;
第二获取模块,用于从预置数据库中获取与所述语言文件具有映射关系的源业务数据;
数据清洗模块,用于对所述源业务数据进行数据清洗,得到目标源基础数据;
同步模块,用于通过数据处理工具Sqoop将所述目标源业务数据同步至大数据平台HIve库;
精算模块,用于基于预置Spark计算引擎对所述目标源业务数据进行精算,得到精算结果,其中,所述精算结果包括RDD;
回写模块,用于将所述RDD回写至所述大数据平台HIve库;
写入模块,用于通过数据处理工具Sqoop将所述精算结果回写入预置精算业务系统数据库Oracle,得到精算报表。
可选地,在本发明第二方面的第一种实现方式中,所述获取模块具体用于:
获取精算任务生成请求,其中,所述精算任务生成请求中包括精算模型;
获取所述精算模型中所定义的DSL文件;
对所述DSL文件中的信息进行校验,在校验通过后,生成语言文件;
获取待输出的指标,根据所述语言文件和所述待输出的精算指标生成精算任务。
可选地,在本发明第二方面的第二种实现方式中,所述数据清洗模块具体用于:
接收数据清洗请求;
根据所述数据清洗请求确定数据清洗规则,其中,所述数据清洗规则包括:清洗特征因子和所述清洗特征因子满足的清洗条件;
根据所述待清洗数据确定所述清洗特征因子对应的特征因子值;
根据所述数据清洗规则和所述特征因子值对所述源业务数据进行清洗,得到目标基础数据。
可选地,在本发明第二方面的第三种实现方式中,所述同步模块具体用于:
在关系数据库中读取预配置的将所述目标基础数据同步到大数据平台HIve库的配置表格的表结构,以获取所述配置表格的各配置信息;
根据所述配置信息生成所述大数据平台HIve库对应的调度任务、脚本和建表语句;
将所述调度任务、脚本和建表语句分别传输至所述大数据平台HIve库的指定位置,以调度所述目标基础数据到大数据平台。
可选地,在本发明第二方面的第四种实现方式中,所述精算模块包括:
第一分组单元,用于按照预设的数据分组规则对所述目标基础数据进行分组,得到各个数据组,其中,每个数据组分别对应一个精算指标;
提取单元,用于提取所述各个数据组中符合预设条件的数据维度;对所述各个数据组中属于同一数据维度的数据值进行拼接处理,得到拼接字符串;
加密单元,用于对得到的所述拼接字符串进行加密处理,得到所述各个数据组中与所述数据维度对应的维度标志;
第二分组单元,用于根据所述各个数据组中提取到的各个所述数据维度对应的维度标志对所述各个数据组下的目标基础数据进行分组,得到所述各个数据组的待精算数据小组。
可选地,在本发明第二方面的第五种实现方式中,所述精算模块还包括:
精算单元,用于将所述各个数据小组中的数据转换成弹性分布式数据集RDD;对弹性分布式数据集RDD中的数据进行初步处理生成目标分布式数据集RDD;基于预置Spark计算引擎,对所述目标分布式数据集RDD进行精算,得到精算结果,并将精算结果的RDD回写至所述大数据平台HIve库。
本发明第三方面提供了一种数据处理设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据处理设备执行上述的数据处理方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的数据处理方法。
本发明提供的技术方案中,通过获取待处理的精算任务和与精算任务中语言文件具有映射关系的源业务数据;对源业务数据进行数据清洗,得到目标基础数据;通过数据处理工具Sqoop将目标基础数据同步至大数据平台HIve库;基于预置Spark对目标基础数据进行精算,并将精算结果回写至HIve库;通过工具Sqoop将精算结果回写入预置精算业务系统数据库Oracle,得到精算报表,并将精算报表发送至业务人员审核。解决了数据精算分析效率低,无法充分利用了大数据集群分析处理海量数据的能力,时效性差的技术问题。
附图说明
图1为本发明数据处理方法的第一个实施例示意图;
图2为本发明数据处理方法的第二个实施例示意图;
图3为本发明数据处理方法的第三个实施例示意图;
图4为本发明数据处理方法的第四个实施例示意图;
图5为本发明数据处理方法的第五个实施例示意图;
图6为本发明数据处理装置的第一个实施例示意图;
图7为本发明数据处理装置的第二个实施例示意图;
图8为本发明数据处理设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种数据处理方法、装置、设备及存储介质,本发明的技术方案中,先获取待处理的精算任务和与精算任务中语言文件具有映射关系的源业务数据;对源业务数据进行数据清洗,得到目标基础数据;通过数据处理工具Sqoop将目标基础数据同步至大数据平台HIve库;基于预置Spark对目标基础数据进行精算,并将精算结果回写至HIve库;通过工具Sqoop将精算结果回写入预置精算业务系统数据库Oracle,得到精算报表,并将精算报表发送至业务人员审核。解决了数据精算分析效率低,无法充分利用了大数据集群分析处理海量数据的能力,时效性差的技术问题。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中数据处理方法的第一个实施例包括:
101、获取待处理的精算任务,其中,精算任务中包括语言文件和待输出的精算指标;
本实施例中,待处理的精算任务可被预先设置在指定的路径中,服务器可定期去查询该路径中是否存在精算任务,当存在多个待处理的精算任务时,可按照每个精算任务的生成时间、处理优先级等一种或多种因素,获取生成时间最早和/或处理优先级的精算任务。其中,每个精算任务被设置了状态标签,根据该状态标签可获知该精算任务的处理进展,处理进展包括待处理、处理中和处理完成等。
精算任务中包括语言文件和待输出的精算指标。语言文件和精算指标均可为一个或多个。其中,待输出的指标可定义在语言文件中,还可为终端所上传的指标。指标是指具体需要精算所需得到的某个数据,一个指标可能需要依赖一个或多个语言文件计算得出最终结果。语言文件为服务器能够被理解和执行的中间语言文件。语言文件可为XML(Extensible Markup Language,可扩展标记语言)、JSON(JavaScript Object Notation)、PB(Protocol Buffers)等任意一种或多种预设的语言文件,一份语言文件描述的是一个最小的可重用逻辑封装。语言文件可由DSL文件对应转换生成,或直接由开发人员编写而成。DSL文件中所采用的DSL语言为业务用户定义的语言规范,一份DSL文件根据DSL编译器的不同,可能会被编译成多份语言文件,比如被编译成XML中间语言文件。
在一个实施例中,服务器可中设置有任务队列,该精算任务可存储在相应的任务队列中。服务器定时或按照一定的频率检测任务队列中是否存在待处理的精算任务,并根据预设的调度策略,获取其中的一个或多个精算任务,将所获取的精算任务分配至线程池中,处于空闲状态的线程,并进行精算运算处理。其中,调度策略包括串行调度、并行调度或串并行混合调度。服务器中设置有多个线程池,每个线程池可处于空闲或运行中等状态。具体的,精算引擎服务器中的任务调度模块(Dispatcher)从队列中获取任务,根据调度策略分配给线程池空闲线程。
102、从预置数据库中获取与语言文件具有映射关系的源业务数据;
本实施例中,语言文件和一个或多个源业务数据之间设置了映射关系,使得根据该映射关系可获取到相应的源业务数据。该源业务数据可存储在服务器上下文(context)容器中,并以数据表的形式进行存储。该上下文容器位于数据处理服务器中,精算模型设计服务器根据终端所发送的映射指令,建立了每个语言文件和源业务数据表之间的映射关系。具体的,服务器中的解析模块(Resolver)拆包该精算任务,接收其中语言文件,并将其映射为“执行单元”内存模型。执行单元(IExecutable)为引擎所能运行的动作单元的抽象,执行单元可调用具体的源业务数据进行计算。
103、对源业务数据进行数据清洗,得到目标源基础数据;
本实施例中,源业务数据是指未经任何处理的数据。数据处理服务器可访问相关的数据网站,获取该数据网站上的数据,作为源业务数据。还可接收数据操作员的终端所上传的数据,作为源业务数据。
数据清洗包括数据脱敏、数据校验和数据转换。其中,数据脱敏用于对源业务数据中的敏感数据进行加密处理。比如,该数据中包括个人的身份证号等,可对该身份证号进行加密。数据校验用于查询源业务数据中是否存在脏数据,并删除该脏数据,以消除脏数据对精算结果的影响。服务器针对各个类型的数据设置了脏数据判定方法,根据预设的判定方法检测是否为脏数据。比如,可设置每个类型的数据的字符长度范围或数值的大小范围等,当某一类型的数据的字符长度不处于预设范围之内,或数值的大小不处于预设的大小范围之内,则判定该数据为脏数据。数据校验是将存在多种不同表述方式的数据统一转换成同一种预设表述方式的过程。
服务器针对每种类型的数据设置了一种对应的表述方式,当检测到某一类型的数据与所设置的表述方式不一致时,可根据该类型数据的表述方式和所设置的表述方式之间的转换关系,将其转换成所设置的表述方式。比如,该数据为药品类数据,同一药品的编码在不同地区所使用的编码不同,服务器可设置该药品类数据的编码方式,并将检测到的编码方式与所设置的不同的数据,根据对应的转换关系,将其转换成对应设置的编码,从而形成统一的编码。在完成对源业务数据的清洗后,将清洗后的数据保存为基础数据。
本实施例中,通过对数据的清洗,生成基础数据,可便于后续对该基础数据的调用和计算,从而进一步提高了精算的便利性和效率。
104、通过数据处理工具Sqoop将目标源业务数据同步至大数据平台HIve库;
本实施例中,Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如:MySQL,Oracle,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
Sqoop是一个分布式的数据迁移工具,可以将一个关系型数据库(例如:MySQL,Oracle,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
本实施例中通过在关系数据库中构建大数据平台可识别的数据表,以便将Sqoop数据同步到数据表中,然后再发送至大数据平台。大数据平台的数据结构为字符串类型,将关系数据库中的数据同步至大数据平台后要转化为字符串类型,以提高各种领域数据的容纳性。但关系数据库的数据类型有多种定义,比如为字符串、时间、数字、浮点数等,但将时间、数字、浮点数等类型的数据直接传输至大数据平台,某些大数据平台则无法识别,所以要在关系数据库中构建大数据平台的数据表,以便做统一的转换处理提高兼容性,以适应大数据平台的数据结构。
105、基于预置Spark计算引擎对目标源业务数据进行精算,得到精算结果,其中,精算结果包括RDD;
本实施例中,RDD(Resilient Distributed DataSet),又叫弹性分布式数据集。RDD有三个基本特性,分别为分区,不可变,并行操作。其中,分区是指每一个RDD包含的数据被存储在系统的不同节点上。逻辑上我们可以将RDD理解成一个大的数组,数组中的每个元素就代表一个分区(Partition)。在物理存储中,每个分区指向一个存储在内存或者硬盘中的数据块(Block),其实这个数据块就是每个task计算出的数据块,它们可以分布在不同的节点上。所以,RDD只是抽象意义的数据集合,分区内部并不会存储具体的数据,只会存储它在该RDD中的index,通过该RDD的ID和分区的index可以唯一确定对应数据块的编号,然后通过底层存储层的接口提取到数据进行处理;不可变性是指每个RDD都是只读的,它所包含的分区信息是不可变的。由于已有的RDD是不可变的,所以我们只有对现有的RDD进行转化操作,才能得到新的RDD,一步一步的计算出我们想要的结果。
这样会带来这样的好处:我们在RDD的计算过程中,不需要立刻去存储计算出的数据本身,我们只要记录每个RDD是经过哪些转化操作得来的,即:依赖关系,这样一方面可以提高计算效率,一方面是错误恢复会更加容易。如果在计算过程中,第N步输出的RDD的节点发生故障,数据丢失,那么可以根据依赖关系从第N-1步去重新计算出该RDD,这也是RDD叫做"弹性"分布式数据集的一个原因;并行操作是指因为RDD的分区特性,所以其天然支持并行处理的特性。即不同节点上的数据可以分别被处理,然后生成一个新的RDD。
本实施例中,在保险行业,数据处理是一种重要的数据预测和统计手段。例如,对于保险公司来说,理赔准备金的计算是风险管控方面非常重要的一个环节,大多数保险公司均会每隔一段时间(如半个月一次)计算一次理赔准备金,以确保当发生理赔案件时,可以按时完成赔付。目前,理赔准备金的计算一般通过精算软件进行,例如基于PROPHET模型的精算程序。精算,简单的说就是依据经济学的基本原理,运用现代数学、统计学、金融学及法学等的各种科学有效的方法,对各种经济活动中未来的风险进行分析,评估和管理等,是现代保险、金融、投资实现稳健经营的基础。
本实施例中,Spark计算引擎是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab(加州大学伯克利分校的AMP实验室)所开源的类HadoopMapReduce的通用并行框架,Spark拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。Spark是一种与Hadoop相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使Spark在某些工作负载方面表现得更加优越,换句话说,Spark启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark是在Scala语言中实现的,它将Scala用作其应用程序框架。与Hadoop不同,Spark和Scala能够紧密集成,其中的Scala可以像操作本地集合对象一样轻松地操作分布式数据集。
106、将RDD回写至大数据平台HIve库;
本实施例中,Hive是基于Hadoop的数据仓库工具,可对存储在HDFS上的文件中的数据集进行数据整理、特殊查询和分析处理,提供了类似于SQL语言的查询语言–HiveQL,可通过HQL语句实现简单的MR统计,Hive将HQL语句转换成MR任务进行执行。
Hive是建立在Hadoop之上的数据仓库,由Facebook开发,在某种程度上可以看成是用户编程接口,本身并不存储和处理数据,依赖于HDFS存储数据,依赖MR处理数据。有类SQL语言HiveQL,不完全支持SQL标准,如,不支持更新操作、索引和事务,其子查询和连接操作也存在很多限制。
107、通过数据处理工具Sqoop将所述精算结果回写入预置精算业务系统数据库Oracle,得到精算报表。
本实施例中,计算结果通过Sqoop回写到精算业务系统Oracle库,产出报表给业务页面审核。
本实施例中,回写又叫“Write Back”,是指更新多维数据集单元值、成员或成员属性值。操作系统和平台上的应用程序在运行的时候需要往磁盘写入临时数据,但是在无盘环境下,没有硬盘作为操作系统和应用程序临时的交换数据空间,所以这个任务必须交给服务器来完成。
在回写状态下,数据只有在要被从高速缓存中清除时才写到磁盘上。随着主存读取的数据增加,回写需要开始从高速缓存中向磁盘上写数据,并把更新的数据写入高速缓存中。数据集是包含数据表的对象,可以在这些数据表中临时存储数据以便在应用程序中使用。如果应用程序要求使用数据,则可以将该数据加载到数据集中,数据集在本地内存中为应用程序提供了待用数据的缓存。即使应用程序从数据库断开连接,也可以使用数据集中的数据。数据集维护有关其数据的更改的信息,因此可以跟踪数据更新,并在应用程序重新连接时将更新发送回数据库。
本发明实施例中,通过获取待处理的精算任务和与精算任务中语言文件具有映射关系的源业务数据;对源业务数据进行数据清洗,得到目标基础数据;通过数据处理工具Sqoop将目标基础数据同步至大数据平台HIve库;基于预置Spark对目标基础数据进行精算,并将精算结果回写至HIve库;通过工具Sqoop将精算结果回写入预置精算业务系统数据库Oracle,得到精算报表,并将精算报表发送至业务人员审核。解决了数据处理分析效率低,无法充分利用了大数据集群分析处理海量数据的能力,时效性差的技术问题。
请参阅图2,本发明实施例中数据处理方法的第二个实施例包括:
201、获取精算任务生成请求,其中,精算任务生成请求中包括精算模型;
本实施例中,精算模型设计服务器可接收用户终端发送的精算任务生成请求,该精算任务生成请求中包括精算模型。进一步的,还包括用户标识,使得根据该用户标识可唯一识别相应的用户身份。比如,服务器可向用户终端发送精算模型设计界面,当用户终端接收到对界面上的表示任务创建的控件的触发后,生成精算任务生成请求,将该请求发送至服务器。
具体的,由精算模型设计服务器中的执行控制器(RunController)来接收该任务生成请求。执行控制器为运行精算引擎的系统入口及控制器,用来驱动引擎执行,查询进度等操作。执行控制器在接收到该精算任务生成请求之后,将创建一个新的精算任务,并更新该精算任务的进度为“started”。RunController收集本次创建的精算任务的相关的参数、指标和精算条件等。该参数、指标和精算条件等可被设置在精算模型中,比如,该界面上包括具体的计算模型和所涉及到的参数、指标以及精算条件等,用户终端在检测到在预设位置处所输入的参数、指标以及精算条件等信息后,将该信息一并打包至精算任务生成请求中。如参数为“基准年”;指标为“预测年”,精算条件为“是否需要观察中间计算结果”(snapshot)等。
202、获取精算模型中所定义的DSL文件;
本实施例中,精算模型中通常会定义一个或多个DSL文件。DSL文件为服务器专门为业务用户定义的语言规范,对于业务人员更友好。具体的,精算模型设计服务器中的模型设计控制器(DesignController)可被用来支持用户设计DSL规则,该模型设计控制器为精算模型设计服务器中的模型设计系统的入口。
实施例中,精算模型中可定义了DSL拾取规则,精算模型设计服务器中DSL拾取模块(DSLFetcher)在可根据DSL拾取规则从相关数据库/文件库中获取相关的DSL文件。DSL拾取规则中包含了指标DSL的文件标识和/或批次。文件标识可用于唯一识别相应的DSL文件或语言文件,批次用于标识根据相应的DSL文件和/或语言文件的所生成的中间数据。同一份DSL文件或语言文件可根据不同的精算处理,生成多种中间数据,服务器可为该中间数据设置相应的批次。该中间数据可为其它的精算任务对应的指标数据。DSL文件中定义了具体的精算规则,使得根据一个或多个DSL文件,可计算出最终的指标。
203、对DSL文件中的信息进行校验,在校验通过后,生成语言文件;
本实施例中,精算模型设计服务器中还设置有DSL编译模块(DSLCompiler),DSLCompiler可根据DSLFetcher所拾取到输出的DSL文件,判断需不需要转换(比如,该DSL文件已经被保存成相应的中间语言形式的文件)。并将之编译(转换)为精算引擎服务器能识别的语言文件。若DSL文件直接是预设的语言文件,则DSLCompiler直接返回不做任何操作。否则,DSLCompiler可对每个DSL文件进行语法检查、词法检查以及编译生成语言文件等工作。检查每个DSL文件中所定义的字段是否符合相应的定义要求,以及必备的字段是否存在等。
若校验不通过,则更新状态为“任务失败”,并向用户终端返回精算任务生成失败的结果。若校验通过,则根据所获取的DSL文件生成相应的语言文件。具体的,该语言文件可为XML语言文件。
204、获取待输出的指标,根据语言文件和待输出的精算指标生成精算任务;
本实施例中,待输出的指标即可被设置在语言文件中,还可在创建任务的过程中,向用户终端发送指标输入的提示信息,并获取用户终端发送的相应用户所输入的指标。最终根据该指标和和所创建的语言文件生成精算任务,并更新相应的状态为“任务创建完成”。同时,可将所创建的精算任务放置在任务队列中,使得精算引擎服务器中的Dispatcher从队列中获取精算任务,根据所设置的调度策略(串行,并行,混合)分配给线程池空闲线程,对精算任务进行处理。
本实施例中,通过在精算模型中定义DSL文件,并根据DSL文件生成语言文件,根据该语言文件和待输出的指标,生成精算任务。由于DSL文件对于业务人员更友好,而语言文件定义为对于机器解析执行更友好的中间语言文件,可进一步提高对精算任务生成的便利性。
205、获取与语言文件具有映射关系的源业务数据;
206、从预置数据库中对源业务数据进行数据清洗,得到目标源基础数据;
207、通过数据处理工具Sqoop将目标源业务数据同步至大数据平台HIve库;
208、基于预置Spark计算引擎对目标源业务数据进行精算,得到精算结果;
209、将RDD回写至大数据平台HIve库;
210、通过数据处理工具Sqoop将精算结果回写入预置精算业务系统数据库Oracle,得到精算报表。
本实施例中步骤205-210与第一实施例中的步骤102-107类似,此处不再赘述。
本发明实施例中,通过获取待处理的精算任务和与精算任务中语言文件具有映射关系的源业务数据;对源业务数据进行数据清洗,得到目标基础数据;通过数据处理工具Sqoop将目标基础数据同步至大数据平台HIve库;基于预置Spark对目标基础数据进行精算,并将精算结果回写至HIve库;通过工具Sqoop将精算结果回写入预置精算业务系统数据库Oracle,得到精算报表,并将精算报表发送至业务人员审核。解决了数据精算分析效率低,无法充分利用了大数据集群分析处理海量数据的能力,时效性差的技术问题。
请参阅图3,本发明实施例中数据处理方法的第三个实施例包括:
301、获取待处理的精算任务,其中,精算任务中包括语言文件和待输出的精算指标;
302、从预置数据库中获取与语言文件具有映射关系的源业务数据;
303、接收数据清洗请求;
本实施例中,不同的业务场景都可能需要进行数据清洗,如:某购物平台需要对一笔交易数据进行数据清洗,用户可以通过购物平台或其他客户端向数据清洗装置发送数据清洗请求。数据清洗请求中可以包括一些数据清洗关键信息,如:若要对某个交易数据进行数据清洗,则数据清洗请求中可以包括该笔交易的交易流水号、订单号、交易双方的用户名等信息。数据清洗请求中还可以包括数据清洗的需求,如:将什么样的数据清洗出来。数据清洗请求还可以对应有数据清洗场景如:返佣业务数据清洗场景、订单数据清洗场景等。本说明书实施例中的数据清洗请求可以包括离线数据清洗请求,离线数据清洗可以实现大数据量的清洗,如:针对过去一个月的交易数据进行清洗,清洗出符合返佣条件的交易数据。
304、根据数据清洗请求确定数据清洗规则,其中,数据清洗规则包括:清洗特征因子和清洗特征因子满足的清洗条件;
本实施例中,不同的数据清洗请求可以有对应的业务场景,不同的业务场景对应有数据需要满足的规则或条件。例如:对于返佣业务场景,通常返佣政策会设置一定的门槛,只有达到这个门槛的交易才会进行返佣,或者,购物平台的促销活动,也需要满足一定的条件才能参与促销活动。本说明书实施例可以根据数据清洗请求,确定出数据清洗的业务场景,获取对应业务场景的业务需求,根据业务需求定义对应的数据清洗规则,数据清洗规则中可以包括清洗特征因子和清洗特征因子满足的清洗条件。其中,清洗特征因子可以表示数据清洗的关键特征,如:交易金额、交易类型、交易来源、交易时间等。比如,根据数据清洗请求确定出数据清洗请求对应的业务场景是返佣业务,该返佣业务的业务要求返佣的交易需要满足以下条件:1、单笔交易金额大于10元;2、剔除虚假交易;3、交易来源是线下扫码支付。只有同时满足上面三个条件的交易,才能最终参与返佣。则可以确定清洗特征因子可以包括:单笔交易金额、单笔交易是否是虚假交易、单笔交易所属来源,数据清洗规则可以根据实际业务场景自定义。
305、根据数据清洗规则和特征因子值对源业务数据进行清洗,得到目标基础数据;
本实施例中,确定出清洗特征因子对应的特征因子值后,可以根据数据清洗规则进行数据清洗,判断待清洗数据中的各条数据是否满足数据清洗规则,若满足,则保留,若不满足,则可以将该数据删除,将保留下来满足数据清洗规则的数据作为目标基础数据。比如,若要对近1个月内的返佣业务的交易数据进行清洗,筛选出符合返佣条件的交易数据。在接收到数据清洗请求后,可以定义数据清洗规则,数据清洗规则的具体定义可以参考上述实施例的记载的规则一、规则二、规则三的内容。
根据数据清洗请求获取近一个月的交易数据作为待清洗数据,根据待清洗数据确定出每一条交易数据的清洗特征因子对应的特征因子值,如:某笔交易的交易金额=15,该交易不是虚假交易,该交易是线下扫码支付,依次获取每一笔交易对应的清洗特征因子的特征因子值。可以将每一笔交易的清洗特征因子的特征因子值添加到待清洗数据中,根据数据清洗规则和清洗特征因子的特征因子值对每一笔交易数据进行数据清洗,即判断每一笔交易数据是否符合返佣的条件即是否满足数据清洗规则,筛选出符合返佣条件的交易数据,完成数据清洗。
306、通过数据处理工具Sqoop将目标源业务数据同步至大数据平台HIve库;
307、基于预置Spark计算引擎对目标源业务数据进行精算,得到精算结果;
308、将RDD回写至大数据平台HIve库;
309、通过数据处理工具Sqoop将精算结果回写入预置精算业务系统数据库Oracle,得到精算报表。
本实施例中步骤301-302、306-309与第一实施例中的步骤101-102、104-107类似,此处不再赘述。
本发明实施例中,通过获取待处理的精算任务和与精算任务中语言文件具有映射关系的源业务数据;对源业务数据进行数据清洗,得到目标基础数据;通过数据处理工具Sqoop将目标基础数据同步至大数据平台HIve库;基于预置Spark对目标基础数据进行精算,并将精算结果回写至HIve库;通过工具Sqoop将精算结果回写入预置精算业务系统数据库Oracle,得到精算报表,并将精算报表发送至业务人员审核。解决了数据精算分析效率低,无法充分利用了大数据集群分析处理海量数据的能力,时效性差的技术问题。
请参阅图4,本发明实施例中数据处理方法的第四个实施例包括:
401、获取待处理的精算任务;
402、从预置数据库中获取与语言文件具有映射关系的源业务数据;
403、对源业务数据进行数据清洗,得到目标源基础数据;
404、在关系数据库中读取预配置的将目标基础数据同步到大数据平台HIve库的配置表格的表结构,以获取配置表格的各配置信息;
本实施例中的关系数据库是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格,每个表格包含用列表示的一个或更多的数据种类。本实施例的关系数据库包括Oracle、Db2、Sqlserver、Sybase、Mysql、Pg等。本实施例的表结构包括,表名称、库名称、表中包括哪些字段、各字段的描述信息等。
405、根据配置信息生成大数据平台HIve库对应的调度任务、脚本和建表语句;
本实施例中,以从关系数据库到大数据平台的Sqoop数据同步自动生成为例,根据配置信息通过调用程序,自动生成大数据平台对应的标准化的Sqoop同步脚本和建表语句,本根据Sqoop同步脚本和建表语句自动生成从关系数据库向大数据平台同步数据的调度任务,省却了人工参与代码编程的过程,提高了代码的准确度,而且极大的提高了工作效率,相比于人工编写代码脚本,工作效率提升几倍甚至几十倍。
406、将调度任务、脚本和建表语句分别传输至大数据平台HIve库的指定位置,以调度目标基础数据到大数据平台;
本实施例中,通过部署文档将所述调度任务、脚本和建表语句分别传输至所述大数据平台HIve库的指定位置,本实施例的部署文档用于生产部署,生成过程逻辑根据用户自定义的配置信息经程序处理后自动生成。
407、基于预置Spark计算引擎对目标源业务数据进行精算,得到精算结果;
408、将RDD回写至大数据平台HIve库;
409、通过数据处理工具Sqoop将精算结果回写入预置精算业务系统数据库Oracle,得到精算报表。
本实施例中步骤401-403、407-409与第一实施例中的步骤101-103、105-107类似,此处不再赘述。
本发明实施例中,通过获取待处理的精算任务和与精算任务中语言文件具有映射关系的源业务数据;对源业务数据进行数据清洗,得到目标基础数据;通过数据处理工具Sqoop将目标基础数据同步至大数据平台HIve库;基于预置Spark对目标基础数据进行精算,并将精算结果回写至HIve库;通过工具Sqoop将精算结果回写入预置精算业务系统数据库Oracle,得到精算报表,并将精算报表发送至业务人员审核。解决了数据精算分析效率低,无法充分利用了大数据集群分析处理海量数据的能力,时效性差的技术问题。
请参阅图5,本发明实施例中数据处理方法的第五个实施例包括:
501、获取待处理的精算任务;
502、从预置数据库中获取与语言文件具有映射关系的源业务数据;
503、对源业务数据进行数据清洗,得到目标源基础数据;
504、通过数据处理工具Sqoop将目标源业务数据同步至大数据平台HIve库;
505、按照预设的数据分组规则对目标基础数据进行分组,得到各个数据组,其中,每个数据组分别对应一个精算指标;
本实施例中,对于确定出的目标基础数据,由于不同保单对应的业务基础数据一般与保险产品的类型密切相关,而且不同的保险产品之间,其相应产生的保单对应的业务基础数据之间相差较大。例如,人寿险、车险、医疗险等保险产品,其产生的保单的理赔数额、保费、理赔责任等等信息或数据均相差较大。因此,本实施例可以预先设置产品分组规则,在对目标基础数据进行分组时,运用该产品分组规则将数据形式相差较大的保险产品产生的目标基础数据区分开来,分入不同的数据组中,以便于后续步骤中的数据维度提取和精算处理。
特别地,由于不同的保险产品的产品名称也不相同,因此可以通过产品名称来区分属于不同保险产品的目标基础数据。
506、提取各个数据组中符合预设条件的数据维度;
本实施例中,在将目标基础数据分成各个数据组之后,由上述内容可知,在同一数据组中的目标基础数据均属于保险产品相同或相近的保单数据,这些目标基础数据中往往具有相同的数据维度。例如,在医疗险对应的数据组中,各个目标基础数据一般包括理赔数额、保费、各种医疗理赔责任、保险有效期、附加险等,这些数据维度的值均在一定范围内相同或相近,因此可以从该数据组中提取出这些数据维度。
本实施例中,针对预设的产品分组规则,可以分别设置分组后各个数据组对应的预设条件来提取对应数据组的数据维度。可以理解的是,对于同一个保险产品的数据组,其具有一个或多个相同的数据维度,如险种、缴费期、性别、年龄、缴费类型、保险期间等,因此可以预先为不同的保险产品的数据组预先设置好需要提取哪些数据维度作为该数据组的“预设条件”,在提取时,直接从该数据组的目标基础数据中提取出对应的数据维度即可。
507、对各个数据组中属于同一数据维度的数据值进行拼接处理,得到拼接字符串;
本实施例中,在提取所述数据组中各个数据维度之后,可以针对同一数据维度的数据值进行拼接处理,从而生成拼接字符串。对数据值进行拼接处理时采用的拼接算法可以有多种,例如求平均、求加权平均、求和等方式。
为了在对同一数据维度的数据值进行拼接处理时,减少数据精度的损失,可以针对不同的数据组预先设置不同的拼接算法,分别为各个所述数据组配置对应的拼接算法,各个所述数据组对应的拼接算法互不相同。可以理解的是,针对不同的数据组配置不一样的拼接算法,则在提取了这些数据组的数据维度之后,拼接得到的字符串之间相同的可能性就大大降低。
508、对得到的拼接字符串进行加密处理,得到各个数据组中与数据维度对应的维度标志;
本实施例中,具体可以采用MD5加密方式将该拼接字符串加密成32位的字符串,加密后的字符串即为该数据维度对应的维度标志,也即维度ID。
509、根据各个数据组中提取到的各个数据维度对应的维度标志对各个数据组下的目标基础数据进行分组,得到各个数据组的待精算数据小组;
本实施例中,根据所述数据组中提取到的各个所述数据维度对应的维度标志、以及各个所述数据存放路径对所述数据组下的目标保单数据进行分组,得到所述数据组下的各个待精算数据小组。
可以理解的是,由于业务对不同源业务数据具有不同的需求,因此将数据清洗后的目标基础数据存放至各个数据存放路径更有利于业务员根据不同的需要进行查询。例如,在某一命名为“NB”的路径上,仅存储本年度产生的新保单数据;而在命名为“kaohe”的路径上则用来区分来自不同数据库的保单数据。
510、将各个数据小组中的数据转换成弹性分布式数据集RDD;
本实施例中,分布式数据源kafka中存储有采集的多维大数据,Spark数据处理框架定期从分布式数据源kafka中获取业务分析所需要的数据,Spark数据处理框架使用弹性分布式数据集RDD,这些数据集可以存储在易失性内存中或HDFS之类的持久性存储系统中。RDD不会变化,分布在Spark集群的所有节点上,它们经转换化可以创建其他RDD。RDD是Spark中的重要抽象对象,它们代表了一种高效地将数据呈现给迭代进程的容错方法,由于处理工作在内存中进行,相比使用HDFS和MapReduce,处理时间缩短了很多。
511、对弹性分布式数据集RDD中的数据进行初步处理生成目标分布式数据集RDD;
本实施例中,由于Spark数据处理框架一般是一次读取一定时间段内的数据,如果在这段时间内对读取的数据做过多的分析,势必会影响整体性能,因此本发明将经过Spark数据处理框架初步处理的数据直接通过异步方式写入redis存储装置中,由redis存储装置进行更深层次的处理来达到满足业务要求,可以加快Spark数据处理框架的处理速度,提高整体性能。
512、基于预置Spark计算引擎,对目标分布式数据集RDD进行计算,得到精算结果;
本实施例中,每一个精算指标结果RDD回写hive库是指将精算指标结果的RDD,结果回写磁盘,同时不关闭RDD,而是将所依赖的前一个精算分析步骤的指标结果作为下一个指标的输入,以减少hive库的重复读开销。
513、将RDD回写至大数据平台HIve库;
514、通过数据处理工具Sqoop将所述精算结果回写入预置精算业务系统数据库Oracle,得到精算报表。
本实施例中步骤501-504、513-514与第一实施例中的101-104、106-107类似,此处不再赘述。
在本发明实施例中,通过获取待处理的精算任务和与精算任务中语言文件具有映射关系的源业务数据;对源业务数据进行数据清洗,得到目标基础数据;通过数据处理工具Sqoop将目标基础数据同步至大数据平台HIve库;基于预置Spark对目标基础数据进行精算,并将精算结果回写至HIve库;通过工具Sqoop将精算结果回写入预置精算业务系统数据库Oracle,得到精算报表,并将精算报表发送至业务人员审核。解决了数据精算分析效率低,无法充分利用了大数据集群分析处理海量数据的能力,时效性差的技术问题。
上面对本发明实施例中数据处理方法进行了描述,下面对本发明实施例中数据处理装置进行描述,请参阅图6,本发明实施例中数据处理装置的第一个实施例包括:
第一获取模块601,用于获取待处理的精算任务,其中,所述精算任务中包括语言文件和待输出的精算指标;
第二获取模块602,用于从预置数据库中获取与所述语言文件具有映射关系的源业务数据;
数据清洗模块603,用于对所述源业务数据进行数据清洗,得到目标源基础数据;
同步模块604,用于通过数据处理工具Sqoop将所述目标源业务数据同步至大数据平台HIve库;
精算模块605,用于基于预置Spark计算引擎对所述目标源业务数据进行精算,得到精算结果,其中,所述精算结果包括RDD;
回写模块606,用于将所述RDD回写至所述大数据平台HIve库;
写入模块607,用于通过数据处理工具Sqoop将所述精算结果回写入预置精算业务系统数据库Oracle,得到精算报表。
本发明实施例中,通过获取待处理的精算任务和与精算任务中语言文件具有映射关系的源业务数据;对源业务数据进行数据清洗,得到目标基础数据;通过数据处理工具Sqoop将目标基础数据同步至大数据平台HIve库;基于预置Spark对目标基础数据进行精算,并将精算结果回写至HIve库;通过工具Sqoop将精算结果回写入预置精算业务系统数据库Oracle,得到精算报表,并将精算报表发送至业务人员审核。解决了数据处理分析效率低,无法充分利用了大数据集群分析处理海量数据的能力,时效性差的技术问题。
请参阅图7,本发明实施例中数据处理装置的第二个实施例,该数据处理装置具体包括:
第一获取模块601,用于获取待处理的精算任务,其中,所述精算任务中包括语言文件和待输出的精算指标;
第二获取模块602,用于从预置数据库中获取与所述语言文件具有映射关系的源业务数据;
数据清洗模块603,用于对所述源业务数据进行数据清洗,得到目标源基础数据;
同步模块604,用于通过数据处理工具Sqoop将所述目标源业务数据同步至大数据平台HIve库;
精算模块605,用于基于预置Spark计算引擎对所述目标源业务数据进行精算,得到精算结果,其中,所述精算结果包括RDD;
回写模块606,用于将所述RDD回写至所述大数据平台HIve库;
写入模块607,用于通过数据处理工具Sqoop将所述精算结果回写入预置精算业务系统数据库Oracle,得到精算报表。
本实施例中,所述第一获取模块601具体用于:
获取精算任务生成请求,其中,所述精算任务生成请求中包括精算模型;
获取所述精算模型中所定义的DSL文件;
对所述DSL文件中的信息进行校验,在校验通过后,生成语言文件;
获取待输出的指标,根据所述语言文件和所述待输出的精算指标生成精算任务。
本实施例中,所述数据清洗模块603具体用于:
接收数据清洗请求;
根据所述数据清洗请求确定数据清洗规则,其中,所述数据清洗规则包括:清洗特征因子和所述清洗特征因子满足的清洗条件;
根据所述待清洗数据确定所述清洗特征因子对应的特征因子值;
根据所述数据清洗规则和所述特征因子值对所述源业务数据进行清洗,得到目标基础数据。
本实施例中,所述同步模块604具体用于:
在关系数据库中读取预配置的将所述目标基础数据同步到大数据平台HIve库的配置表格的表结构,以获取所述配置表格的各配置信息;
根据所述配置信息生成所述大数据平台HIve库对应的调度任务、脚本和建表语句;
将所述调度任务、脚本和建表语句分别传输至所述大数据平台HIve库的指定位置,以调度所述目标基础数据到大数据平台。
本实施例中,所述精算模块605包括:
第一分组单元6051,用于按照预设的数据分组规则对所述目标基础数据进行分组,得到各个数据组,其中,每个数据组分别对应一个精算指标;
提取单元6052,用于提取所述各个数据组中符合预设条件的数据维度;对所述各个数据组中属于同一数据维度的数据值进行拼接处理,得到拼接字符串;
加密单元6053,用于对得到的所述拼接字符串进行加密处理,得到所述各个数据组中与所述数据维度对应的维度标志;
第二分组单元6054,用于根据所述各个数据组中提取到的各个所述数据维度对应的维度标志对所述各个数据组下的目标基础数据进行分组,得到所述各个数据组的待精算数据小组。
本实施例中,所述精算模块605还包括:
精算单元6055,用于将所述各个数据小组中的数据转换成弹性分布式数据集RDD;对弹性分布式数据集RDD中的数据进行初步处理生成目标分布式数据集RDD;基于预置Spark计算引擎,对所述目标分布式数据集RDD进行精算,得到精算结果,并将精算结果的RDD回写至所述大数据平台HIve库。
本发明实施例中,通过获取待处理的精算任务和与精算任务中语言文件具有映射关系的源业务数据;对源业务数据进行数据清洗,得到目标基础数据;通过数据处理工具Sqoop将目标基础数据同步至大数据平台HIve库;基于预置Spark对目标基础数据进行精算,并将精算结果回写至HIve库;通过工具Sqoop将精算结果回写入预置精算业务系统数据库Oracle,得到精算报表,并将精算报表发送至业务人员审核。解决了数据处理分析效率低,无法充分利用了大数据集群分析处理海量数据的能力,时效性差的技术问题。
上面图6和图7从模块化功能实体的角度对本发明实施例中的数据处理装置进行详细描述,下面从硬件处理的角度对本发明实施例中数据处理设备进行详细描述。
图8是本发明实施例提供的一种数据处理设备的结构示意图,该数据处理设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器820和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在数据处理设备800上执行存储介质830中的一系列指令操作,以实现上述各方法实施例提供的数据处理方法的步骤。
数据处理设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口860,和/或,一个或一个以上操作系统831,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图8示出的数据处理设备结构并不构成对本申请提供的数据处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述数据处理方法的步骤。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所述领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据处理方法,其特征在于,所述数据处理方法包括:
获取待处理的精算任务,其中,所述精算任务中包括语言文件和待输出的精算指标;
从预置数据库中获取与所述语言文件具有映射关系的源业务数据;
对所述源业务数据进行数据清洗,得到目标源基础数据;
通过数据处理工具Sqoop将所述目标源业务数据同步至大数据平台HIve库;
基于预置Spark计算引擎对所述目标源业务数据进行精算,得到精算结果,其中,所述精算结果包括RDD;
将所述RDD回写至所述大数据平台HIve库;
通过数据处理工具Sqoop将所述精算结果回写入预置精算业务系统数据库Oracle,得到精算报表。
2.根据权利要求1所述的数据处理方法,其特征在于,所述获取待处理的精算任务包括:
获取精算任务生成请求,其中,所述精算任务生成请求中包括精算模型;
获取所述精算模型中所定义的DSL文件;
对所述DSL文件中的信息进行校验,在校验通过后,生成语言文件;
获取待输出的指标,根据所述语言文件和所述待输出的精算指标生成精算任务。
3.根据权利要求1所述的数据处理方法,其特征在于,所述对所述源业务数据进行数据清洗,得到目标源基础数据包括:
接收数据清洗请求;
根据所述数据清洗请求确定数据清洗规则,其中,所述数据清洗规则包括:清洗特征因子和所述清洗特征因子满足的清洗条件;
根据所述待清洗数据确定所述清洗特征因子对应的特征因子值;
根据所述数据清洗规则和所述特征因子值对所述源业务数据进行清洗,得到目标基础数据。
4.根据权利要求1所述的数据处理方法,其特征在于,所述通过数据处理工具Sqoop将所述目标源业务数据同步至大数据平台HIve库包括:
在关系数据库中读取预配置的将所述目标基础数据同步到大数据平台HIve库的配置表格的表结构,以获取所述配置表格的各配置信息;
根据所述配置信息生成所述大数据平台HIve库对应的调度任务、脚本和建表语句;
将所述调度任务、脚本和建表语句分别传输至所述大数据平台HIve库的指定位置,以调度所述目标基础数据到大数据平台。
5.根据权利要求1所述的数据处理方法,其特征在于,所述基于预置Spark计算引擎对所述目标源业务数据进行精算,得到精算结果包括:
按照预设的数据分组规则对所述目标基础数据进行分组,得到各个数据组,其中,每个数据组分别对应一个精算指标;
提取所述各个数据组中符合预设条件的数据维度;
对所述各个数据组中属于同一数据维度的数据值进行拼接处理,得到拼接字符串;
对得到的所述拼接字符串进行加密处理,得到所述各个数据组中与所述数据维度对应的维度标志;
根据所述各个数据组中提取到的各个所述数据维度对应的维度标志对所述各个数据组下的目标基础数据进行分组,得到所述各个数据组的待精算数据小组。
6.根据权利要求5所述的数据处理方法,其特征在于,在所述根据所述各个数据组中提取到的各个所述数据维度对应的维度标志对所述各个数据组下的目标基础数据进行分组,得到所述各个数据组的待精算数据小组之后,还包括:
将所述各个数据小组中的数据转换成弹性分布式数据集RDD;
对弹性分布式数据集RDD中的数据进行初步处理生成目标分布式数据集RDD;
基于预置Spark计算引擎,对所述目标分布式数据集RDD进行精算,得到精算结果。
7.一种数据处理装置,其特征在于,所述数据处理装置包括:
第一获取模块,用于获取待处理的精算任务,其中,所述精算任务中包括语言文件和待输出的精算指标;
第二获取模块,用于从预置数据库中获取与所述语言文件具有映射关系的源业务数据;
数据清洗模块,用于对所述源业务数据进行数据清洗,得到目标源基础数据;
同步模块,用于通过数据处理工具Sqoop将所述目标源业务数据同步至大数据平台HIve库;
精算模块,用于基于预置Spark计算引擎对所述目标源业务数据进行精算,得到精算结果,其中,所述精算结果包括RDD;
回写模块,用于将所述RDD回写至所述大数据平台HIve库;
写入模块,用于通过数据处理工具Sqoop将所述精算结果回写入预置精算业务系统数据库Oracle,得到精算报表。
8.根据权利要求7所述的数据处理装置,其特征在于,所述精算模块包括:
第一分组单元,用于按照预设的数据分组规则对所述目标基础数据进行分组,得到各个数据组,其中,每个数据组分别对应一个精算指标;
提取单元,用于提取所述各个数据组中符合预设条件的数据维度;对所述各个数据组中属于同一数据维度的数据值进行拼接处理,得到拼接字符串;
加密单元,用于对得到的所述拼接字符串进行加密处理,得到所述各个数据组中与所述数据维度对应的维度标志;
第二分组单元,用于根据所述各个数据组中提取到的各个所述数据维度对应的维度标志对所述各个数据组下的目标基础数据进行分组,得到所述各个数据组的待精算数据小组。
9.一种数据处理设备,其特征在于,所述数据处理设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据处理设备执行如权利要求1-6中任一项所述的数据处理方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011544913.1A CN112579586A (zh) | 2020-12-23 | 2020-12-23 | 数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011544913.1A CN112579586A (zh) | 2020-12-23 | 2020-12-23 | 数据处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112579586A true CN112579586A (zh) | 2021-03-30 |
Family
ID=75139331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011544913.1A Pending CN112579586A (zh) | 2020-12-23 | 2020-12-23 | 数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579586A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113111038A (zh) * | 2021-03-31 | 2021-07-13 | 北京达佳互联信息技术有限公司 | 文件存储方法、装置、服务器及存储介质 |
CN113449024A (zh) * | 2021-06-23 | 2021-09-28 | 平安普惠企业管理有限公司 | 基于大数据的保险数据分析方法、装置、设备及介质 |
CN113656704A (zh) * | 2021-08-31 | 2021-11-16 | 中国平安财产保险股份有限公司 | 基于相似度匹配的保险数据处理方法、设备及存储介质 |
CN113986932A (zh) * | 2021-12-28 | 2022-01-28 | 恒生电子股份有限公司 | 数据处理方法、装置、计算机设备及可读存储介质 |
CN114092265A (zh) * | 2021-10-20 | 2022-02-25 | 横琴人寿保险有限公司 | 保单新业务价值的确定方法、装置、存储介质及服务器 |
CN115576858A (zh) * | 2022-12-08 | 2023-01-06 | 浩鲸云计算科技股份有限公司 | 针对低代码前端应用的业务动作执行系统及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107688591A (zh) * | 2017-04-06 | 2018-02-13 | 平安科技(深圳)有限公司 | 一种精算处理方法和装置 |
CN107818501A (zh) * | 2017-03-03 | 2018-03-20 | 平安医疗健康管理股份有限公司 | 精算方法和装置 |
CN109189839A (zh) * | 2018-07-20 | 2019-01-11 | 广微数据科技(苏州)有限公司 | 基于大数据平台的多层业务模型 |
CN109359157A (zh) * | 2018-08-21 | 2019-02-19 | 中国平安人寿保险股份有限公司 | 数据同步生成方法、装置、计算机设备以及存储介质 |
CN110096498A (zh) * | 2019-03-28 | 2019-08-06 | 阿里巴巴集团控股有限公司 | 一种数据清洗方法及装置 |
CN111708807A (zh) * | 2020-05-27 | 2020-09-25 | 中国平安财产保险股份有限公司 | 数据扁平化处理方法、装置、设备及存储介质 |
-
2020
- 2020-12-23 CN CN202011544913.1A patent/CN112579586A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107818501A (zh) * | 2017-03-03 | 2018-03-20 | 平安医疗健康管理股份有限公司 | 精算方法和装置 |
CN107688591A (zh) * | 2017-04-06 | 2018-02-13 | 平安科技(深圳)有限公司 | 一种精算处理方法和装置 |
CN109189839A (zh) * | 2018-07-20 | 2019-01-11 | 广微数据科技(苏州)有限公司 | 基于大数据平台的多层业务模型 |
CN109359157A (zh) * | 2018-08-21 | 2019-02-19 | 中国平安人寿保险股份有限公司 | 数据同步生成方法、装置、计算机设备以及存储介质 |
CN110096498A (zh) * | 2019-03-28 | 2019-08-06 | 阿里巴巴集团控股有限公司 | 一种数据清洗方法及装置 |
CN111708807A (zh) * | 2020-05-27 | 2020-09-25 | 中国平安财产保险股份有限公司 | 数据扁平化处理方法、装置、设备及存储介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113111038A (zh) * | 2021-03-31 | 2021-07-13 | 北京达佳互联信息技术有限公司 | 文件存储方法、装置、服务器及存储介质 |
CN113111038B (zh) * | 2021-03-31 | 2024-01-19 | 北京达佳互联信息技术有限公司 | 文件存储方法、装置、服务器及存储介质 |
CN113449024A (zh) * | 2021-06-23 | 2021-09-28 | 平安普惠企业管理有限公司 | 基于大数据的保险数据分析方法、装置、设备及介质 |
CN113656704A (zh) * | 2021-08-31 | 2021-11-16 | 中国平安财产保险股份有限公司 | 基于相似度匹配的保险数据处理方法、设备及存储介质 |
CN114092265A (zh) * | 2021-10-20 | 2022-02-25 | 横琴人寿保险有限公司 | 保单新业务价值的确定方法、装置、存储介质及服务器 |
CN114092265B (zh) * | 2021-10-20 | 2022-12-13 | 横琴人寿保险有限公司 | 提高保单新业务价值确定效率的方法、装置及存储介质 |
CN113986932A (zh) * | 2021-12-28 | 2022-01-28 | 恒生电子股份有限公司 | 数据处理方法、装置、计算机设备及可读存储介质 |
CN113986932B (zh) * | 2021-12-28 | 2022-04-12 | 恒生电子股份有限公司 | 数据处理方法、装置、计算机设备及可读存储介质 |
CN115576858A (zh) * | 2022-12-08 | 2023-01-06 | 浩鲸云计算科技股份有限公司 | 针对低代码前端应用的业务动作执行系统及可读存储介质 |
CN115576858B (zh) * | 2022-12-08 | 2023-03-21 | 浩鲸云计算科技股份有限公司 | 针对低代码前端应用的业务动作执行系统及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220335338A1 (en) | Feature processing tradeoff management | |
US20210374610A1 (en) | Efficient duplicate detection for machine learning data sets | |
US20230126005A1 (en) | Consistent filtering of machine learning data | |
US20200050968A1 (en) | Interactive interfaces for machine learning model evaluations | |
US10339465B2 (en) | Optimized decision tree based models | |
CA2953817C (en) | Feature processing tradeoff management | |
CN112579586A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN106663037B (zh) | 用于管理特征处理的系统和方法 | |
US9672474B2 (en) | Concurrent binning of machine learning data | |
US10318882B2 (en) | Optimized training of linear machine learning models | |
US11182691B1 (en) | Category-based sampling of machine learning data | |
US11100420B2 (en) | Input processing for machine learning | |
EP2608074A2 (en) | Systems and methods for merging source records in accordance with survivorship rules | |
Grossman | What is analytic infrastructure and why should you care? | |
Blinova et al. | Architectures for Processing Large Data Arrays in Distributed Systems Based on Open Source Frameworks | |
CN118152127A (zh) | 用于管理特征处理的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |