CN112612786A - 一种大数据量的行列转换方法及系统 - Google Patents
一种大数据量的行列转换方法及系统 Download PDFInfo
- Publication number
- CN112612786A CN112612786A CN202011330170.8A CN202011330170A CN112612786A CN 112612786 A CN112612786 A CN 112612786A CN 202011330170 A CN202011330170 A CN 202011330170A CN 112612786 A CN112612786 A CN 112612786A
- Authority
- CN
- China
- Prior art keywords
- column
- row
- data
- primary key
- conversion
- 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
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000012163 sequencing technique Methods 0.000 claims abstract description 11
- 238000012795 verification Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 5
- 239000000126 substance Substances 0.000 claims description 5
- 238000010200 validation analysis Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims 2
- 238000011426 transformation method Methods 0.000 claims 1
- 230000006872 improvement Effects 0.000 description 7
- 230000009466 transformation Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000013519 translation Methods 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2219—Large Object storage; Management thereof
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种大数据量的行列转换方法及系统,包括:获取行数据;设定数据主键;其中,数据主键为行数据id;配置行列转换的规则,规则包含主键规则、目标列名、列名序号、行特征和列值;读取行数据,基于主键规则,创建主键;基于行特征、目标列名、列名序号,创建列值串;输出一系列的<主键、列值串>对;按照列名序号对一系列的<主键、列值串>对进行排序拼接,形成主键、列1、列2、···、列n的字符串,完成行列转换。本发明可以对快速、灵活的对大数据集完成行列转换,转换效率高,通用性和功能扩展性好。
Description
技术领域
本发明涉及大数据处理技术领域,具体涉及一种大数据量的行列转换方法及系统。
背景技术
大数据处理,需要集成各种各样的数据源,不同业务系统的数据源数据模型各不相同,需要应用很多数据规范化算法。
行列转换是其中一种有效的规范算法,行列转换主要指数据结构的转换,行可以转换到列,列也可以转换到行。
现有的行列转换,主要是通过成熟数据库的内置函数实现;但其对于数据库非常依赖,同时大数据量时,效率比较低,而且功能扩展性比较差。
发明内容
针对现有技术中存在的上述问题,本发明提供一种大数据量的行列转换方法及系统。
本发明公开了一种大数据量的行列转换方法,包括:
获取行数据;
设定数据主键;其中,所述数据主键为行数据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、获取的原始行数据如下:
id | c1 | c1v | c2 | c2v | c3 | c3v |
11 | 2 | 兴趣偏好 | 20 | 电影偏好 | 44 | 电影 |
11 | 2 | 兴趣偏好 | 30 | 体育偏好 | 45 | 体育 |
11 | 3 | 客户特征 | 266 | 最近缴费渠道 | 46 | 电子渠道 |
步骤2、设定数据主键;即行数据id=11;
步骤3、配置行列转换的规则;其中,规则包含主键规则、目标列名、列名序号、行特征、列值和检验规则;其中,该实施例设定的转换规则为:
主键规则 | 目标列名 | 列名序号 | 行特征 | 列值 | 验证规则 |
id | 电影偏好 | 1 | 2_20 | c3v | 不为空 |
id | 体育偏好 | 2 | 2_30 | c3v | 不为空 |
步骤4、读取行数据,基于主键规则,创建主键;基于行特征、目标列名、列名序号,创建列值串,基于验证规则验证数据的有效性;若数据有效,则输出一系列的<主键、列值串>对;其中,列值串的格式为列名序号:列值;
其中,基于上述转换规则,本发明的<主键、列值串>对包括:
<主键:11,列名序号:1,目标列名:电影偏好,列值:电影>;
<主键:11,列名序号:2,目标列名:体育偏好,列值:体育>;
步骤5、按照列名序号对一系列的<主键、列值串>对进行排序拼接,形成主键、列1、列2、···、列n的字符串,完成行列转换。
其中,转换后的列数据为:
id | 电影偏好 | 体育偏好 |
11 | 电影 | 体育 |
本发明的优点为:
本发明借助转换规则和mapreduce算法,可以对快速、灵活的对大数据集完成行列转换,转换效率高,通用性和功能扩展性好。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种大数据量的行列转换方法,其特征在于,包括:
获取行数据;
设定数据主键;其中,所述数据主键为行数据id;
配置行列转换的规则,所述规则包含主键规则、目标列名、列名序号、行特征和列值;
读取所述行数据,基于所述主键规则,创建主键;基于所述行特征、目标列名、列名序号,创建列值串;输出一系列的<主键、列值串>对;
按照所述列名序号对一系列的<主键、列值串>对进行排序拼接,形成主键、列1、列2、···、列n的字符串,完成行列转换。
2.如权利要求1所述的行列转换方法,其特征在于,所述行特征,用于数据主键提取数据。
3.如权利要求1所述的行列转换方法,其特征在于,所述规则还包括:验证规则;
基于所述验证规则,验证所述列值串中数据的有效性。
4.如权利要求3所述的行列转换方法,其特征在于,所述验证规则为“不为空”。
5.如权利要求1~4中任一项所述的行列转换方法,其特征在于,使用mapreduce计算框架,完成行数据到列数据的转换;其中,
Map操作,用于读取所述行数据,基于所述主键规则,创建主键;基于所述行特征、目标列名、列名序号,创建列值串;输出一系列的<主键、列值串>对;
Reduce操作,用于按照所述列名序号对一系列的<主键、列值串>对进行排序拼接,形成主键、列1、列2、···、列n的字符串,完成行列转换。
6.一种大数据量的行列转换系统,其特征在于,包括:
获取模块,用于获取行数据;
设定模块,用于设定数据主键;其中,所述数据主键为行数据id;
配置模块,用于配置行列转换的规则,所述规则包含主键规则、目标列名、列名序号、行特征和列值;
转换模块,用于:
读取所述行数据,基于所述主键规则,创建主键;基于所述行特征、目标列名、列名序号,创建列值串;输出一系列的<主键、列值串>对;
按照所述列名序号对一系列的<主键、列值串>对进行排序拼接,形成主键、列1、列2、···、列n的字符串,完成行列转换。
7.如权利要求6所述的行列转换系统,其特征在于,所述行特征,用于数据主键提取数据。
8.如权利要求6所述的行列转换系统,其特征在于,所述规则还包括:验证规则;
基于所述验证规则,验证所述列值串中数据的有效性。
9.如权利要求9所述的行列转换系统,其特征在于,所述验证规则为“不为空”。
10.如权利要求6~9中任一项所述的行列转换系统,其特征在于,所述转换模块为mapreduce计算模块,用于完成行数据到列数据的转换;其中,
Map端,用于读取所述行数据,基于所述主键规则,创建主键;基于所述行特征、目标列名、列名序号,创建列值串;输出一系列的<主键、列值串>对;
Reduce端,用于按照所述列名序号对一系列的<主键、列值串>对进行排序拼接,形成主键、列1、列2、···、列n的字符串,完成行列转换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011330170.8A CN112612786A (zh) | 2020-11-24 | 2020-11-24 | 一种大数据量的行列转换方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011330170.8A CN112612786A (zh) | 2020-11-24 | 2020-11-24 | 一种大数据量的行列转换方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112612786A true CN112612786A (zh) | 2021-04-06 |
Family
ID=75224993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011330170.8A Pending CN112612786A (zh) | 2020-11-24 | 2020-11-24 | 一种大数据量的行列转换方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112612786A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218365A (zh) * | 2012-01-20 | 2013-07-24 | 阿里巴巴集团控股有限公司 | 一种SSTable文件数据处理方法及其系统 |
CN103309984A (zh) * | 2013-06-17 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 数据处理的方法和装置 |
CN103530327A (zh) * | 2013-09-25 | 2014-01-22 | 清华大学深圳研究生院 | 一种从非关系型数据库到关系型数据库的数据迁移方法 |
CN104361099A (zh) * | 2014-11-21 | 2015-02-18 | 北京邮电大学 | 一种面向异构存储的适配装置 |
CN104778182A (zh) * | 2014-01-14 | 2015-07-15 | 博雅网络游戏开发(深圳)有限公司 | 基于HBase的数据导入方法和系统 |
CN105930354A (zh) * | 2016-04-08 | 2016-09-07 | 四川师范大学 | 存储模型转换方法和装置 |
CN107315764A (zh) * | 2017-05-11 | 2017-11-03 | 北京奇艺世纪科技有限公司 | 一种非关系型数据库关联数据的更新方法及系统 |
CN107562924A (zh) * | 2017-09-14 | 2018-01-09 | 晶赞广告(上海)有限公司 | 基于列存储和键值存储的人群画像方法及系统 |
CN108415927A (zh) * | 2018-01-17 | 2018-08-17 | 中国科学院声学研究所 | 一种非顺序表格的还原方法及装置 |
CN109542892A (zh) * | 2018-10-19 | 2019-03-29 | 北京全路通信信号研究设计院集团有限公司 | 一种实时数据库的关系化实现方法、装置及系统 |
-
2020
- 2020-11-24 CN CN202011330170.8A patent/CN112612786A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218365A (zh) * | 2012-01-20 | 2013-07-24 | 阿里巴巴集团控股有限公司 | 一种SSTable文件数据处理方法及其系统 |
CN103309984A (zh) * | 2013-06-17 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 数据处理的方法和装置 |
CN103530327A (zh) * | 2013-09-25 | 2014-01-22 | 清华大学深圳研究生院 | 一种从非关系型数据库到关系型数据库的数据迁移方法 |
CN104778182A (zh) * | 2014-01-14 | 2015-07-15 | 博雅网络游戏开发(深圳)有限公司 | 基于HBase的数据导入方法和系统 |
CN104361099A (zh) * | 2014-11-21 | 2015-02-18 | 北京邮电大学 | 一种面向异构存储的适配装置 |
CN105930354A (zh) * | 2016-04-08 | 2016-09-07 | 四川师范大学 | 存储模型转换方法和装置 |
CN107315764A (zh) * | 2017-05-11 | 2017-11-03 | 北京奇艺世纪科技有限公司 | 一种非关系型数据库关联数据的更新方法及系统 |
CN107562924A (zh) * | 2017-09-14 | 2018-01-09 | 晶赞广告(上海)有限公司 | 基于列存储和键值存储的人群画像方法及系统 |
CN108415927A (zh) * | 2018-01-17 | 2018-08-17 | 中国科学院声学研究所 | 一种非顺序表格的还原方法及装置 |
CN109542892A (zh) * | 2018-10-19 | 2019-03-29 | 北京全路通信信号研究设计院集团有限公司 | 一种实时数据库的关系化实现方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111352907A (zh) | 流水文件解析方法、装置、计算机设备和存储介质 | |
CN106681716B (zh) | 智能终端及其应用程序的自动分类方法 | |
CN110427375B (zh) | 字段类别的识别方法及装置 | |
CN104317909A (zh) | 兴趣点数据的校验方法和装置 | |
CN111666346A (zh) | 信息归并方法、交易查询方法、装置、计算机及存储介质 | |
CN110598007B (zh) | 账单文件处理方法、装置、介质及电子设备 | |
CN112084179A (zh) | 一种数据处理的方法、装置、设备及存储介质 | |
CN115221191A (zh) | 一种基于数据湖的虚拟列构建方法以及数据查询方法 | |
CN113434672B (zh) | 文本类型智能识别方法、装置、设备及介质 | |
WO2024066903A1 (zh) | 识别待识别医药行业目标对象的方法、设备和介质 | |
CN112257689A (zh) | 人脸识别模型的训练和识别方法、存储介质及相关设备 | |
CN112559613A (zh) | 凭证数据提取方法、装置、计算机设备及存储介质 | |
CN110909212B (zh) | 一种银行标识代码的匹配方法和设备 | |
CN112612786A (zh) | 一种大数据量的行列转换方法及系统 | |
CN114782720A (zh) | 文案的配图确定方法、装置、电子设备、介质及程序产品 | |
CN109474703B (zh) | 个性化产品组合推送方法、装置及系统 | |
CA3144052A1 (en) | Method and apparatus for recognizing new sql statements in database audit systems | |
CN113741864A (zh) | 基于自然语言处理的语义化服务接口自动设计方法与系统 | |
CN114116958A (zh) | 审核方法、装置、电子设备和存储介质 | |
CN114115825B (zh) | 一种兼容软件的前后端数据校验方法 | |
CN110851438A (zh) | 一种数据库索引优化建议与验证的方法和装置 | |
CN116401274B (zh) | 一种快速响应积分客户号的方法、系统 | |
CN115439128A (zh) | 一种面向第三方支付平台的欺诈识别方法及装置 | |
CN111832998B (zh) | 一种判断寄递电话号码真实使用者的方法及装置 | |
CN110619117B (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 |