基于大数据集群的数据分箱方法、装置、设备及存储介质制造方法及图纸

技术编号:37224129 阅读:16 留言:0更新日期:2023-04-20 23:08
本说明书涉及大数据处理技术领域,提供了一种基于大数据集群的数据分箱方法、装置、设备及存储介质,该方法包括:读取数据分箱配置文件,以获取用户定义信息;用户定义信息包括分箱数和评价函数;根据节点集群状态及特征表的数据量,确定映射规约任务的映射数和规约数;在映射阶段,使每个Map对应将特征表中的每行数据按列分隔,并确定对应行中每一列数据的索引值;在混洗阶段,使分区器根据索引值将同一个完整列的特征放在同一个分区中;在规约阶段,使每个Reduce从对应分区中读取一列数据并调用评价函数处理该列数据,根据分箱数对各个Reduce的处理结果进行规约。本说明书实施例可以提高数据分箱处理的处理效率并降低资源消耗。耗。耗。

【技术实现步骤摘要】
基于大数据集群的数据分箱方法、装置、设备及存储介质


[0001]本说明书涉及大数据处理
,尤其是涉及一种基于大数据集群的数据分箱方法、装置、设备及存储介质。

技术介绍

[0002]在大数据处理中常涉及到对数据进行分箱处理,即通过分箱组件将特征离散化(例如将连续变量进行分段,使其变为多个离散化区间)。通过分箱可以更好地了解数据的分布,并能在一定程度上提高数据预测的准确性。因此,大数据处理中的数据分箱具有重要意义。
[0003]当前,在基于大数据工具进行分箱操作时,通常有如下两种方式:
[0004]使用通用Hive SQL进行分箱处理,如等频分箱、等距分箱等等,并将中间计算结果存储到Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)集群上。其中,Hive SQL是Hive提供的支持通用SQL语法的工具,可以将用户编写的SQL逻辑翻译成多个映射规约(MapReduce)任务,多个任务需要串行执行,即第一个MapReduce任务执行结束后,才可以启动第二个任务,以此类推。该方法根据用户书写SQL的方式不同,以及表结构的不同,会生成多个MapReduce计算阶段,如果涉及到其他的逻辑计算等,同样需要自行编写SQL逻辑,同样也会生成额外的MapReduce计算阶段。由于每次MapReduce计算都会将中间数据保存到HDFS分布式文件存储系统当中,会有大量的I/O消耗,以及资源调度等待的时间成本。
[0005]另一种方式是通过将数据下载到本地机器上,并通过数据处理工具进行处理计算,如pandas等,该方式在数据量较大的情况下,下载的速度受网络带宽影响明显。由于是在单台机器上运行,无法使用到分布式计算的能力,个人电脑性能有限,因此能够处理的数据量受限也比较明显。

技术实现思路

[0006]本说明书实施例的目的在于提供一种基于大数据集群的数据分箱方法、装置、设备及存储介质,以实现提高数据分箱处理的处理效率并降低数据分箱处理的资源消耗。
[0007]为达到上述目的,一方面,本说明书实施例提供了一种基于大数据集群的数据分箱方法,包括:
[0008]读取数据分箱配置文件,以获取用户定义信息;所述用户定义信息包括分箱数和评价函数;
[0009]根据节点集群状态及特征表的数据量,确定MapReduce任务中的Map数量和Reduce数量;
[0010]在所述MapReduce任务的Map阶段,使每个Map对应将所述特征表中的每行数据按列分隔,并确定对应行中每一列数据的索引值;
[0011]在所述MapReduce任务的Shuffle阶段,使分区器根据所述索引值将同一个完整列的特征放在同一个分区中;
[0012]在所述MapReduce任务的Reduce阶段,使每个Reduce从对应分区中读取一列数据并调用所述评价函数处理该列数据,根据所述分箱数对各个Reduce的处理结果进行规约。
[0013]本说明书实施例的基于大数据集群的数据分箱方法中,根据节点集群状态及特征表的数据量,确定MapReduce任务中的Map数量,包括:
[0014]根据公式确定MapReduce任务中的Map数量;
[0015]其中,min为最小值函数,本公式中其取值表示Map数量;s为所述特征表中的数据量;t为节点集群中单个节点的单次最大数据处理量;n为节点集群中的可用节点数量。
[0016]本说明书实施例的基于大数据集群的数据分箱方法中,根据节点集群状态及特征表的数据量,确定MapReduce任务中的Reduce数量,包括:
[0017]根据公式min

(c,n)确定MapReduce任务中的Reduce数量;
[0018]其中,min为最小值函数,本公式中其取值表示Reduce数量;c为所述特征表中的参与分箱的列数;n为节点集群中的可用节点数量。
[0019]本说明书实施例的基于大数据集群的数据分箱方法中,在所述MapReduce任务的Shuffle阶段,还包括:
[0020]当需要将多个完整列的数据分在同一个分区时,使每个完整列顺序写入。
[0021]本说明书实施例的基于大数据集群的数据分箱方法中,所述用户定义信息还包括分箱方式;
[0022]对应的,所述根据所述分箱数对各个Reduce的处理结果进行规约,包括:
[0023]根据所述分箱数和所述分箱方式对各个Reduce的处理结果进行规约。
[0024]本说明书实施例的基于大数据集群的数据分箱方法中,每个索引值的长度相同。
[0025]另一方面,本说明书实施例还提供了一种基于大数据集群的数据分箱装置,包括:
[0026]信息获取模块,用于读取数据分箱配置文件,以获取用户定义信息;所述用户定义信息包括分箱数和评价函数;
[0027]数量确定模块,用于根据节点集群状态及特征表的数据量,确定MapReduce任务中的Map数量和Reduce数量;
[0028]数据映射模块,用于在所述MapReduce任务的Map阶段,使每个Map对应将所述特征表中的每行数据按列分隔,并确定对应行中每一列数据的索引值;
[0029]数据混洗模块,用于在所述MapReduce任务的Shuffle阶段,使分区器根据所述索引值将同一个完整列的特征放在同一个分区中;
[0030]数据规约模块,用于在所述MapReduce任务的Reduce阶段,使每个Reduce从对应分区中读取一列数据并调用所述评价函数处理该列数据,根据所述分箱数对各个Reduce的处理结果进行规约。
[0031]另一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行上述方法的指令。
[0032]另一方面,本说明书实施例还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
[0033]另一方面,本说明书实施例还提供了一种计算机程序产品,所述计算机程序产品
包括计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
[0034]由以上本说明书实施例提供的技术方案可见,本说明书实施例中,用户不需要自行编写SQL,仅需要配置数据分箱配置文件(包括配置用户定义信息(如分箱数、评价函数等);在执行时,服务端节点通过读取数据分箱配置文件,即可以获得用户定义信息,然后可以在一次MapReduce框架里完成分箱操作、评估函数的计算操作,计算完全在内存中计算,不要经过分布式文件系统,避免了编写SQL自动生成多个MapReduce并消耗大量I/O的问题,从而降低了数据分箱的资源消耗。另外,由于本说明书的实施例也是通过MapReduce框架实现,不需要大量数据的下载,并可以利用大数据集群多个服务端节点计算分箱操作,在特征数较多本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于大数据集群的数据分箱方法,其特征在于,包括:读取数据分箱配置文件,以获取用户定义信息;所述用户定义信息包括分箱数和评价函数;根据节点集群状态及特征表的数据量,确定MapReduce任务中的Map数量和Reduce数量;在所述MapReduce任务的Map阶段,使每个Map对应将所述特征表中的每行数据按列分隔,并确定对应行中每一列数据的索引值;在所述MapReduce任务的Shuffle阶段,使分区器根据所述索引值将同一个完整列的特征放在同一个分区中;在所述MapReduce任务的Reduce阶段,使每个Reduce从对应分区中读取一列数据并调用所述评价函数处理该列数据,根据所述分箱数对各个Reduce的处理结果进行规约。2.如权利要求1所述的基于大数据集群的数据分箱方法,其特征在于,根据节点集群状态及特征表的数据量,确定MapReduce任务中的Map数量,包括:根据公式确定MapReduce任务中的Map数量;其中,min为最小值函数,本公式中其取值表示Map数量;s为所述特征表中的数据量;t为节点集群中单个节点的单次最大数据处理量;n为节点集群中的可用节点数量。3.如权利要求1所述的基于大数据集群的数据分箱方法,其特征在于,根据节点集群状态及特征表的数据量,确定MapReduce任务中的Reduce数量,包括:根据公式min

(c,n)确定MapReduce任务中的Reduce数量;其中,min为最小值函数,本公式中其取值表示Reduce数量;c为所述特征表中的参与分箱的列数;n为节点集群中的可用节点数量。4.如权利要求1所述的基于大数据集群的数据分箱方法,其特征在于,在所述MapReduce任务的Shuffle阶段,还包括:当需要将多个完整列的数据分在同一个分区时,使每个完整列顺序写入。5.如权利要求1所述的基于大数据...

【专利技术属性】
技术研发人员:宋鑫邢捷吴迪
申请(专利权)人:厦门友微科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1