本发明专利技术公开了一种大数据量的行列转换方法及系统,包括:获取行数据;设定数据主键;其中,数据主键为行数据id;配置行列转换的规则,规则包含主键规则、目标列名、列名序号、行特征和列值;读取行数据,基于主键规则,创建主键;基于行特征、目标列名、列名序号,创建列值串;输出一系列的<主键、列值串>对;按照列名序号对一系列的<主键、列值串>对进行排序拼接,形成主键、列1、列2、···、列n的字符串,完成行列转换。本发明专利技术可以对快速、灵活的对大数据集完成行列转换,转换效率高,通用性和功能扩展性好。
【技术实现步骤摘要】
一种大数据量的行列转换方法及系统
本专利技术涉及大数据处理
,具体涉及一种大数据量的行列转换方法及系统。
技术介绍
大数据处理,需要集成各种各样的数据源,不同业务系统的数据源数据模型各不相同,需要应用很多数据规范化算法。行列转换是其中一种有效的规范算法,行列转换主要指数据结构的转换,行可以转换到列,列也可以转换到行。现有的行列转换,主要是通过成熟数据库的内置函数实现;但其对于数据库非常依赖,同时大数据量时,效率比较低,而且功能扩展性比较差。
技术实现思路
针对现有技术中存在的上述问题,本专利技术提供一种大数据量的行列转换方法及系统。本专利技术公开了一种大数据量的行列转换方法,包括:获取行数据;设定数据主键;其中,所述数据主键为行数据id;配置行列转换的规则,所述规则包含主键规则、目标列名、列名序号、行特征和列值;读取所述行数据,基于所述主键规则,创建主键;基于所述行特征、目标列名、列名序号,创建列值串;输出一系列的<主键、列值串>对;按照所述列名序号对一系列的<主键、列值串>对进行排序拼接,形成主键、列1、列2、···、列n的字符串,完成行列转换。作为本专利技术的进一步改进,所述行特征,用于数据主键提取数据。作为本专利技术的进一步改进,所述规则还包括:验证规则;基于所述验证规则,验证所述列值串中数据的有效性。作为本专利技术的进一步改进,所述验证规则为“不为空”。作为本专利技术的进一步改进,使用mapreduce计算框架,完成行数据到列数据的转换;其中,Map操作,用于读取所述行数据,基于所述主键规则,创建主键;基于所述行特征、目标列名、列名序号,创建列值串;输出一系列的<主键、列值串>对;Reduce操作,用于按照所述列名序号对一系列的<主键、列值串>对进行排序拼接,形成主键、列1、列2、···、列n的字符串,完成行列转换。本专利技术还公开了一种大数据量的行列转换系统,包括:获取模块,用于获取行数据;设定模块,用于设定数据主键;其中,所述数据主键为行数据id;配置模块,用于配置行列转换的规则,所述规则包含主键规则、目标列名、列名序号、行特征和列值;转换模块,用于:读取所述行数据,基于所述主键规则,创建主键;基于所述行特征、目标列名、列名序号,创建列值串;输出一系列的<主键、列值串>对;按照所述列名序号对一系列的<主键、列值串>对进行排序拼接,形成主键、列1、列2、···、列n的字符串,完成行列转换。作为本专利技术的进一步改进,所述行特征,用于数据主键提取数据。作为本专利技术的进一步改进,所述规则还包括:验证规则;基于所述验证规则,验证所述列值串中数据的有效性。作为本专利技术的进一步改进,所述验证规则为“不为空”。作为本专利技术的进一步改进,所述转换模块为mapreduce计算模块,用于完成行数据到列数据的转换;其中,Map端,用于读取所述行数据,基于所述主键规则,创建主键;基于所述行特征、目标列名、列名序号,创建列值串;输出一系列的<主键、列值串>对;Reduce端,用于按照所述列名序号对一系列的<主键、列值串>对进行排序拼接,形成主键、列1、列2、···、列n的字符串,完成行列转换。与现有技术相比,本专利技术的有益效果为:本专利技术可以对快速、灵活的对大数据集完成行列转换,转换效率高,通用性和功能扩展性好。附图说明图1为本专利技术一种实施例公开的大数据量的行列转换方法的流程图;图2为本专利技术一种实施例公开的大数据量的行列转换系统的框架图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。下面结合附图对本专利技术做进一步的详细描述:如图1所示,本专利技术公开了一种大数据量的行列转换方法,包括:步骤1、获取行数据;步骤2、设定数据主键;其中,数据主键为行数据id;步骤3、配置行列转换的规则;其中,规则包含主键规则、目标列名、列名序号、行特征和列值;进一步,行特征,用于数据主键提取数据;进一步,规则还包括验证规则,用于验证列值串中数据的有效性;例如,验证规则可为“不为空”。步骤4、读取行数据,基于主键规则,创建主键;基于行特征、目标列名、列名序号,创建列值串,基于验证规则验证数据的有效性;若数据有效,则输出一系列的<主键、列值串>对;其中,列值串的格式为列名序号:列值;步骤5、按照列名序号对一系列的<主键、列值串>对进行排序拼接,形成主键、列1、列2、···、列n的字符串,完成行列转换。进一步,在上述步骤4、5的行数据到列数据的转换过程中,本申请使用mapreduce计算框架来完成,即:Map操作,用于读取行数据,基于主键规则,创建主键;基于行特征、目标列名、列名序号,创建列值串,基于验证规则验证数据的有效性;若数据有效,则输出一系列的<主键、列值串>对;其中,列值串的格式为列名序号:列值;Reduce操作,用于读取Map端的执行结果,也就是一系列的<主键、列值串>对,使用分隔符,基于主键进行列值串的拼接。拼接时,按照列名序号对一系列的<主键、列值串>对进行排序拼接,形成主键、列1、列2、···、列n的字符串,完成行列转换。进一步,本专利技术基于上述方法还可完成列数据到行数据的转换。如图2所示,本专利技术提供一种大数据量的行列转换系统,包括:获取模块,用于实现上述步骤1;设定模块,用于实现上述步骤2;配置模块,用于实现上述步骤3;转换模块,用于实现上述步骤4、5。具体的,转换模块为mapreduce计算模块,用于完成行数据到列数据的转换;其中,Map端,Map操作,用于读取行数据,基于主键规则,创建主键;基于行特征、目标列名、列名序号,创建列值串,基于验证规则验证数据的有效性;若数据有效,则输出一系列的<主键、列值串>对;其中,列值串的格式为列名序号:列值;Reduce端,用于读取Map端的执行结果,也就是一系列的<主键、列值串>对,使用分隔符,基于主键进行列值串的拼接。拼接时,按照列名序号对一系列的<主键、列值串>对进行排序拼接,形成主键、列1、列2、···、列n的字符串,完成行列转换。实施例:本专利技术提供一种大数据量的行列转换方法及系统,包括:步骤1、获本文档来自技高网...
【技术保护点】
1.一种大数据量的行列转换方法,其特征在于,包括:/n获取行数据;/n设定数据主键;其中,所述数据主键为行数据id;/n配置行列转换的规则,所述规则包含主键规则、目标列名、列名序号、行特征和列值;/n读取所述行数据,基于所述主键规则,创建主键;基于所述行特征、目标列名、列名序号,创建列值串;输出一系列的<主键、列值串>对;/n按照所述列名序号对一系列的<主键、列值串>对进行排序拼接,形成主键、列1、列2、···、列n的字符串,完成行列转换。/n
【技术特征摘要】
1.一种大数据量的行列转换方法,其特征在于,包括:
获取行数据;
设定数据主键;其中,所述数据主键为行数据id;
配置行列转换的规则,所述规则包含主键规则、目标列名、列名序号、行特征和列值;
读取所述行数据,基于所述主键规则,创建主键;基于所述行特征、目标列名、列名序号,创建列值串;输出一系列的<主键、列值串>对;
按照所述列名序号对一系列的<主键、列值串>对进行排序拼接,形成主键、列1、列2、···、列n的字符串,完成行列转换。
2.如权利要求1所述的行列转换方法,其特征在于,所述行特征,用于数据主键提取数据。
3.如权利要求1所述的行列转换方法,其特征在于,所述规则还包括:验证规则;
基于所述验证规则,验证所述列值串中数据的有效性。
4.如权利要求3所述的行列转换方法,其特征在于,所述验证规则为“不为空”。
5.如权利要求1~4中任一项所述的行列转换方法,其特征在于,使用mapreduce计算框架,完成行数据到列数据的转换;其中,
Map操作,用于读取所述行数据,基于所述主键规则,创建主键;基于所述行特征、目标列名、列名序号,创建列值串;输出一系列的<主键、列值串>对;
Reduce操作,用于按照所述列名序号对一系列的<主键、列值串>对进行排序拼接,形成主键、列1、列2、···、列n的字符串,完成行列转换。
6.一种大数据量的行列转换...
【专利技术属性】
技术研发人员:石柏成,
申请(专利权)人:北京思特奇信息技术股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。