CN103150401B - 一种基于MapReduce的字段整体替换方法 - Google Patents
一种基于MapReduce的字段整体替换方法 Download PDFInfo
- Publication number
- CN103150401B CN103150401B CN201310101969.3A CN201310101969A CN103150401B CN 103150401 B CN103150401 B CN 103150401B CN 201310101969 A CN201310101969 A CN 201310101969A CN 103150401 B CN103150401 B CN 103150401B
- Authority
- CN
- China
- Prior art keywords
- data
- field
- tables
- substitution table
- replacement
- 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.)
- Active
Links
Abstract
本发明涉及字段替换技术领域,公开了一种基于MapReduce的字段整体替换方法,包括:将数据表和替换表存储在文件系统中;对数据表中的数据进行映射,形成由数据对组成的字段序列;其中,数据对包括键和值;判断字段序列中的数据对是否需要替换;若数据对需要替换,则将数据对中的键替换成替换表中相应的数据。本发明在Hadoop的基础上,先将数据表数据和替换表数据存储在文件系统中,将数据字段化,再通过输入的替换需求将替换表中的数据替换数据表中的数据,从而方便地、自行地对数据中某一字段进行了整体替换,提高了数据的处理效率。
Description
技术领域
本发明涉及字段替换技术领域,主要适用于基于MapReduce的字段整体替换方法。
背景技术
今天,在这个数据信息的时代,当商业智能数据分析、科学数据处理、互联网应用等具有海量数据需求的应用变得越来越普遍的时候,我们需要一个更好的工具来帮助我们完成这些任务。无论是从应用开发还是科学研究的角度来看,基于MapReduce编程模型的Hadoop开源系统成为了人们一种更为合理的选择。
MapReduce有三点优势。第一点,MapReduce采用的是无共享大规模集群系统。集群系统具有良好的性价比和可伸缩性,这就为MapReduce成为海量数据的处理平台奠定了基础。第二点,MapReduce结构简单,通俗易懂,很容易就能使用,这也就使得很多数据挖掘算法都采用MapReduce来实现。第三点,可以通过合适的索引技术以及查询算法进行优化,MapReduce可以提供非常好的数据处理能力。
在一个完整的数据处理过程中,首先我们会得到最原始的数据,随后我们再对这些数据进行下一步的处理。而在实际操作中,因为很多数据都涉及到用户的隐私,所以保证数据的安全性是必不可少的。这样我们就需要对数据的某些敏感字段进行加密,然后用加密的字段替换原始的字段,只要知道加密算法,我们就能还原出最原始的数据,所以加密操作是不会影响数据的准确性的。
除了在上述加密过程中涉及到了字段整体替换的功能之外,我们在后期数据处理的时候也会需要这一功能。比如在进行数据可视化的时候,对于某一个字段的内容,我们使用自己设计的id对其进行替换,这样能使得数据处理更加方便,也使得最后数据可视化的时候更加清晰和简洁。由此可以看出字段整体替换功能的应用是广泛且频繁的。
因此,在实际的数据操作中,用户会频繁的提出对数据进行字段整体替换的要求,而这些要求都需要管理或者操作这个数据平台的管理员去实现。由于这些操作具有统一的接口,只是用户操作的数据或者需要替换的字段不一样,而现有的数据平台不能够提供一个便捷的界面或者接口使得用户能够方便地、自行地完成字段替换操作。
发明内容
为了解决能够在数据平台上,方便地、自行地完成字段替换操作,本发明提供了一种基于MapReduce的字段整体替换方法,包括:
将数据表和替换表存储在文件系统中;
对所述数据表中的数据进行映射,形成由数据对组成的字段序列;其中,所述数据对包括键和值;判断所述字段序列中的数据对是否需要替换;若数据对需要替换,则将数据对中的键替换成所述替换表中相应的数据。
所述将数据表和替换表存储在文件系统中的步骤具体包括:根据存储指令将数据表和替换表存储在文件系统的指定位置,并为所述数据表和替换表中的数据添加字段序号;其中,所述替换表中每行数据有两个字段,且用制表符分开。
在对所述数据表中的数据进行映射的步骤之前还包括:通过确定输入的替换需求的合法性来判断是否对字段进行替换;其中,所述替换需求包括:所述替换表的输出路径和输入路径、所述数据表的输入路径及待替换字段序号。
所述通过确定输入的替换需求的合法性来判断是否对字段进行替换的步骤具体包括:先判断输入的替换需求是否为所需的字符串;若替换需求为所需的字符串,则判断所述替换表的输出路径在文件系统中是否存在;若所述替换表的输出路径在文件系统中不存在,则判断所述替换表的输入路径在文件系统中是否存在;若所述替换表的输入路径在文件系统中存在,则判断所述数据表的输入路径在文件系统中是否存在;若所述数据表的输入路径在文件系统中存在,则判断待替换字段序号是否在数据表的字段序号的范围之内;若待替换字段序号在数据表的字段序号的范围之内,则说明替换需求是合法的。
所述对数据表中的数据进行映射的步骤具体包括:根据输入的数据表的输入路径和替换表的输入路径判断数据行在所述数据表中还是在所述替换表中;若所述数据行在数据表中,则将数据行记录作为映射的输入值,然后根据所述待替换字段序号查找到字段中的数据,并作为映射的输出值,将数据行记录的非待替换字段作为映射的输出值;若所述数据行不在数据表中,则说明所述数据行在替换表中,将数据行记录作为映射的输入值,将所述第一个字段和加上标识符的第二个字段一起作为映射的输出值。
所述替换需求还包括:是否进行筛选的标志位;相应地,所述判断字段序列中的数据对是否需要替换的步骤还包括:若所述数据对不需要替换,则根据所述是否进行筛选的标志位来判断数据对是否需要筛选;若数据对需要筛选,则将数据对舍弃;若数据对不需要筛选,则去掉数据对中包含标识符的值,并对去掉包含标识符的值的数据对进行保存。
在所述将数据对中的键替换成替换表中相应的数据之后,判断所述字段序列中的数据对是否都进行了替换检查;若字段序列中的数据对都进行了替换检查,则将替换后的字段序列根据所述替换表的输出路径输出到指定位置;若字段序列中的数据对没有都进行替换检查,则对字段序列中未替换的数据对进行替换操作。
本发明的有益效果在于:
本发明提供的基于MapReduce的字段整体替换方法,在Hadoop的基础上,先将数据表数据和替换表数据存储在文件系统中,将数据字段化,再通过输入的替换需求将替换表中的数据替换数据表中的数据,从而方便地、自行地对数据中某一字段进行了整体替换,提高了数据的处理效率。
附图说明
图1为本发明实施例提供的基于MapReduce的字段整体替换方法的流程图;
图2是基于本发明实施例提供的基于MapReduce的字段整体替换方法的数据处理平台的结构示意图;
图3为本发明实施例提供的基于MapReduce的字段整体替换方法中数据存储的流程图。
具体实施方式
为进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的基于MapReduce的字段整体替换方法的具体实施方式及工作原理进行详细说明。
参见图1,本发明实施例提供的基于MapReduce的字段整体替换方法包括:
将数据表和替换表存储在文件系统中;具体的,根据存储指令将数据表和替换表存储在文件系统的指定位置,并为数据表和替换表中的数据添加字段序号;其中,替换表中每行数据有两个字段,且用制表符分开,第一个字段是被替换的数据,第二个字段则是替换后的数据。
通过确定输入的替换需求的合法性来判断是否对字段进行替换;其中,替换需求包括:替换表的输出路径和输入路径、数据表的输入路径、待替换字段序号以及是否进行筛选的标志位;具体的,先判断输入的替换需求是否为5个字符串,这5个字符串依次对应着数据表的输入路径、替换表的输入路径、替换表的输出路径、需要替换的字段序号以及是否进行筛选的标志位。若替换需求不是5个字符串,则提示用户重新输入,然后继续等待用户的字段替换需求。若替换需求为5个字符串,则获取这5个字符串,并判断替换表的输出路径在文件系统中是否存在;若替换表的输出路径在文件系统中存在,则提示用户重新输入,然后继续等待用户的字段替换需求。若替换表的输出路径在文件系统中不存在,则判断替换表的输入路径在文件系统中是否存在;若替换表的输入路径在文件系统中不存在,则提示用户重新输入,然后继续等待用户的字段替换需求。若替换表的输入路径在文件系统中存在,则判断数据表的输入路径在文件系统中是否存在;若数据表的输出路径在文件系统中不存在,则提示用户重新输入,然后继续等待用户的字段替换需求。若数据表的输入路径在文件系统中存在,则获取数据表中的字段总个数,并判断待替换字段序号是否在数据表的字段序号的范围之内;若待替换字段序号在数据表的字段序号的范围之内,则说明替换需求是合法的。
若替换需求是合法的,则对字段进行整体替换。具体的,若替换需求是合法的,先对数据行进行映射过程,形成由数据对组成的字段序列;其中,数据对包括键和值;再判断字段序列中的数据对是否需要替换;若数据对需要替换,则将数据对中的键替换成替换表中相应的数据。若数据对不需要替换,则根据是否进行筛选的标志位来判断数据对是否需要筛选;若数据对需要筛选,则将数据对舍弃;若数据对不需要筛选,则去掉数据对中包含标识符的值,并对去掉包含标识符的值的数据对进行保存。
在本实施例中,对数据行进行映射过程包括:先根据输入的数据表的输入路径和替换表的输入路径判断数据行在数据表中还是在替换表中;若数据行在数据表中,则将数据行记录作为映射的输入值,然后根据待替换字段序号查找到字段中的数据,并作为映射的输出值,将数据行记录的非待替换字段作为映射的输出值;若数据行不在数据表中,则说明数据行在替换表中,将数据行记录作为映射的输入值,再将第一个字段和加上标识符的第二个字段一起作为映射的输出值。
接着,判断字段序列中的数据对是否都进行了替换检查;若字段序列中的数据对都进行了替换检查,则将替换后的字段序列根据替换表的输出路径输出到指定位置;若字段序列中的数据对没有都进行替换检查,则对字段序列中未替换的数据对进行替换操作。
参见图2,基于本发明实施例提供的基于MapReduce的字段整体替换方法的数据处理平台101是由界面显示模块103、操作处理模块104及数据存储模块105组成的。用户操作需求102是用户对平台数据的处理要求。
用户使用数据处理平台101对数据进行相关操作,用户提出操作需求102,如登录、访问数据、查找等操作需求,都是在界面显示模块103上进行的。界面显示模块103能够以文件系统的形式显示存储的数据,用户通过在指定窗口输入关键字或者点击界面上相关的按钮,界面显示模块103就会将用户输入的数据转交给操作处理模块104。操作处理模块104根据用户的操作需求来使用相应的程序,如用户登录、访问数据、存储数据、删除数据这些简单的功能,也有字段整体替换这样的复杂操作。在完成用户提出的要求的过程中,操作处理模块104需要访问数据存储模块105中的数据,数据是以Hadoop中HDFS的形式存储的。在完成数据处理之后,操作处理模块104将结果保存在数据存储模块105中的用户指定的位置,这样用户就能使用访问文件系统的方式查看结果。
通过本发明实施例提供的基于MapReduce的字段整体替换方法对字段进行替换。由图3可知,在步骤201中,用户先在界面显示模块103中输入命令,要求向数据处理平台101存储数据表和替换表;随后操作处理模块104得到用户存储数据的需求。在步骤202中,系统会获取到用户需要存储的数据以及存储的目标路径;在步骤203中,将数据存放在用户指定的目标路径中。在步骤204中,系统会为数据中的字段添加序号,序号是从1开始的,即第一个字段序号是1,第二个字段序号是2,随后以此类推。接着,用户在界面显示模块103中对应着字段整体替换功能的窗口中填写筛选关键字,点击确定提交字段替换需求。操作处理模块104就能够获取到用户的字段替换需求。随后系统判断替换需求的合法性;若替换需求是合法的,则准备进行数据的替换。
在数据的替换过程中,是以MapReduce框架为基础的。首先根据用户键入的数据表的输入路径与替换表的输入路径,来判断某一行记录是数据表中的还是替换表中的。对于数据表中的每行记录,先将一行记录作为Map的输入value,然后根据用户键入的字段序号找到该字段中的数据,并作为Map的输出key,该行记录的其余字段作为Map的输出value。而对于替换表中的每行记录,先以一行记录作为Map的输入value进行Map过程,然后将第一个字段作为Map的输出key,在第二个字段前加上标识符一起作为Map的输出value,其中这里的标识符选用由几个不常用的字符组成的字符串。在两个表中的所有行都进行完Map过程之后,MapReduce会将map的输出进行整合,将具有相同的key值的value合并成values序列,然后以<key,values>对作为Reduce的输入,再进行Reduce过程。Reduce过程是针对每一对<key,values>对进行处理的,先判断values序列中是否有包含标识符的value,方便起见,这里将包含标识符的value简称为fvalue。如果values序列中存在fvalue,那么就说明这个<key,values>对的key需要进行替换,因此在将该<key,values>对中的key替换成fvalue中标识符后面的数据,并在values序列中去掉fvalue。随后对values序列中的每一个value按照<key,value>对的格式作为Reduce的输出,这样就完成了字段的替换。如果对于这个key没有替换的要求,然后就需要根据用户是否有筛选的要求来决定是否舍弃这一<key,values>对。如果用户不需要筛选,希望保留这些记录,因此只需要将该<key,values>对的values序列中去掉fvalue,再对values序列中的每一个value,按照<key,value>对的格式作为Reduce的输出,就可以输出数据表中的原始记录,也就保留了这一记录。如果用户需要筛选,则说明用户希望舍弃掉这些记录,再将这一<key,values>对舍弃掉了。在所有的<key,values>对都进行了Reduce过程之后,将Reduce的输出结果按照替换前的数据表格式存放在用户指定的输出路径中,以供用户之后的查看和其他操作。
本发明实施例提供的基于MapReduce的字段整体替换方法,在Hadoop的基础上,先将数据表数据和替换表数据存储在文件系统中,将数据字段化,再通过输入的替换需求将替换表中的数据替换数据表中的数据,从而方便地、自行地对数据中某一字段进行了整体替换,提高了处理数据的效率。
最后所应说明的是,以上具体实施方式仅用以说明本发明的技术方案而非限制,尽管参照实例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (3)
1.一种基于MapReduce的字段整体替换方法,其特征在于,包括:
将数据表和替换表存储在文件系统中;
通过确定输入的替换需求的合法性来判断是否对字段进行替换;其中,所述替换需求包括:所述替换表的输出路径和输入路径、所述数据表的输入路径及待替换字段序号;所述通过确定输入的替换需求的合法性来判断是否对字段进行替换的步骤具体包括:先判断输入的替换需求是否为所需的字符串;若替换需求为所需的字符串,则判断所述替换表的输出路径在文件系统中是否存在;若所述替换表的输出路径在文件系统中不存在,则判断所述替换表的输入路径在文件系统中是否存在;若所述替换表的输入路径在文件系统中存在,则判断所述数据表的输入路径在文件系统中是否存在;若所述数据表的输入路径在文件系统中存在,则判断待替换字段序号是否在数据表的字段序号的范围之内;若待替换字段序号在数据表的字段序号的范围之内,则说明替换需求是合法的;
对所述数据表中的数据进行映射,形成由数据对组成的字段序列;其中,所述数据对包括键和值;判断所述字段序列中的数据对是否需要替换;若数据对需要替换,则将数据对中的键替换成所述替换表中相应的数据,从而方便地、自行地对数据中某一字段进行了整体替换;
所述将数据表和替换表存储在文件系统中的步骤具体包括:根据存储指令将数据表和替换表存储在文件系统的指定位置,并为所述数据表和替换表中的数据添加字段序号;其中,所述替换表中每行数据有两个字段,且用制表符分开;
所述对数据表中的数据进行映射的步骤具体包括:根据输入的数据表的输入路径和替换表的输入路径判断数据行在所述数据表中还是在所述替换表中;若所述数据行在数据表中,则将数据行记录作为映射的输入值,然后根据所述待替换字段序号查找到字段中的数据,并作为映射的输出值,将数据行记录的非待替换字段作为映射的输出值;若所述数据行不在数据表中,则说明所述数据行在替换表中,将数据行记录作为映射的输入值,将第一个字段和加上标识符的第二个字段一起作为映射的输出值,其中,所述第一个字段是被替换的数据,所述第二个字段是替换后的数据。
2.如权利要求1所述的基于MapReduce的字段整体替换方法,其特征在于,所述替换需求还包括:是否进行筛选的标志位;相应地,所述判断字段序列中的数据对是否需要替换的步骤还包括:若所述数据对不需要替换,则根据所述是否进行筛选的标志位来判断数据对是否需要筛选;若数据对需要筛选,则将数据对舍弃;若数据对不需要筛选,则去掉数据对中包含标识符的值,并对去掉包含标识符的值的数据对进行保存。
3.如权利要求2所述的基于MapReduce的字段整体替换方法,其特征在于,在所述将数据对中的键替换成替换表中相应的数据之后,判断所述字段序列中的数据对是否都进行了替换检查;若字段序列中的数据对都进行了替换检查,则将替换后的字段序列根据所述替换表的输出路径输出到指定位置;若字段序列中的数据对没有都进行替换检查,则对字段序列中未替换的数据对进行替换操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310101969.3A CN103150401B (zh) | 2013-03-27 | 2013-03-27 | 一种基于MapReduce的字段整体替换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310101969.3A CN103150401B (zh) | 2013-03-27 | 2013-03-27 | 一种基于MapReduce的字段整体替换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103150401A CN103150401A (zh) | 2013-06-12 |
CN103150401B true CN103150401B (zh) | 2017-03-08 |
Family
ID=48548478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310101969.3A Active CN103150401B (zh) | 2013-03-27 | 2013-03-27 | 一种基于MapReduce的字段整体替换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103150401B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701215B (zh) * | 2016-01-13 | 2019-03-22 | 北京中交兴路信息科技有限公司 | 基于Hadoop MapReduce的数据连接方法及装置 |
CN110019486B (zh) * | 2018-07-19 | 2023-04-11 | 平安科技(深圳)有限公司 | 数据采集方法、装置、设备及存储介质 |
CN113434641B (zh) * | 2021-07-26 | 2022-10-11 | 广州四三九九信息科技有限公司 | 一种多线程屏蔽字查询替换方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799808A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 一种数据处理方法及其系统 |
CN101799807A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 一种异构数据表的合并方法及其系统 |
CN102508639A (zh) * | 2011-10-10 | 2012-06-20 | 北京邮电大学 | 一种基于卫星遥感数据特征的分布式并行处理方法 |
CN102567329A (zh) * | 2010-12-15 | 2012-07-11 | 金蝶软件(中国)有限公司 | 一种数据查询方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7213227B2 (en) * | 2002-08-29 | 2007-05-01 | Sap Aktiengesellschaft | Rapid application integration using an integrated development environment |
US20090193043A1 (en) * | 2008-01-29 | 2009-07-30 | Inventec Corporation | Method and system for transforming database and compressible database structure |
US9355145B2 (en) * | 2011-01-25 | 2016-05-31 | Hewlett Packard Enterprise Development Lp | User defined function classification in analytical data processing systems |
CN102208062A (zh) * | 2011-06-03 | 2011-10-05 | 用友软件股份有限公司 | 数据对象替代装置和数据对象替代方法 |
-
2013
- 2013-03-27 CN CN201310101969.3A patent/CN103150401B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799808A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 一种数据处理方法及其系统 |
CN101799807A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 一种异构数据表的合并方法及其系统 |
CN102567329A (zh) * | 2010-12-15 | 2012-07-11 | 金蝶软件(中国)有限公司 | 一种数据查询方法及系统 |
CN102508639A (zh) * | 2011-10-10 | 2012-06-20 | 北京邮电大学 | 一种基于卫星遥感数据特征的分布式并行处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103150401A (zh) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10169433B2 (en) | Systems and methods for an SQL-driven distributed operating system | |
US10853356B1 (en) | Persistent metadata catalog | |
US20160342645A1 (en) | Efficient storage using automatic data translation | |
US8782762B2 (en) | Building data security in a networked computing environment | |
KR101445950B1 (ko) | 스케일러블 데이터 구조를 이용하기 위한 방법 및 장치 | |
US9519801B2 (en) | Systems, methods, and apparatuses for implementing data masking via compression dictionaries | |
US20180025113A1 (en) | Event detail processing at run-time | |
US10742714B2 (en) | Method and system for re-deploying metadata and associated data from a source organization to a destination organization | |
US20200120072A1 (en) | Client fingerprinting for information system security | |
US10936308B2 (en) | Multi-tenant collaborative learning | |
CN111241138B (zh) | 数据匹配方法及装置 | |
JP7157141B2 (ja) | ゲノム・ファイルのためのコンテキスト・アウェア差分アルゴリズム | |
JP2015118609A (ja) | 予め決められた複数のビット幅のデータに対して操作を行う命令を使用してツリーの検索を行うための方法、並びに、当該命令を使用してツリーの検索を行うためのコンピュータ及びそのコンピュータ・プログラム | |
JP5392439B2 (ja) | 暗号化検索データベース装置、暗号化検索用データの追加削除方法および追加削除プログラム | |
US20220365872A1 (en) | Intelligent generation of page objects for user interface testing | |
US9626410B2 (en) | Vertically partitioned databases | |
CN103150401B (zh) | 一种基于MapReduce的字段整体替换方法 | |
KR20180022889A (ko) | 프라이버시가 강화된 개인 서치 인덱스 | |
WO2022156588A1 (zh) | 一种数据管理的方法、设备及系统 | |
CN106599241A (zh) | 一种gis软件中针对大数据的可视化管理方法 | |
US11693853B2 (en) | Capture and replay of user requests for performance analysis | |
US10248813B2 (en) | Organizing key-value information sets into hierarchical representations for efficient signature computation given change information | |
US11847121B2 (en) | Compound predicate query statement transformation | |
US20220414261A1 (en) | Masking sensitive data for logging | |
US11120015B2 (en) | Importing data using a mobile computing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |