CN110569224A - 一种数据去重方法及装置 - Google Patents
一种数据去重方法及装置 Download PDFInfo
- Publication number
- CN110569224A CN110569224A CN201910756841.8A CN201910756841A CN110569224A CN 110569224 A CN110569224 A CN 110569224A CN 201910756841 A CN201910756841 A CN 201910756841A CN 110569224 A CN110569224 A CN 110569224A
- Authority
- CN
- China
- Prior art keywords
- data
- deduplication
- rows
- row
- deduplicated
- 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.)
- Withdrawn
Links
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/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种数据去重方法及装置,所述方法包括:获得待去重的多个数据行和去重字段;基于所述去重字段和所述多个数据行,生成所述多个数据行各自对应的数据行标识;基于所述多个数据行各自对应的数据行标识,对所述多个数据行中具有相同的数据行标识的数据行进行去重处理,获得去重结果。如此,能够大大减少冗余数据,节约存储空间。
Description
技术领域
本申请涉及数据存储领域,尤其涉及一种数据去重方法及装置。
背景技术
随着计算机技术和互联网技术的不断发展,数据存储量成指数倍地增长。而分布式文件***,如HDFS(Hadoop Distributed File System,Hadoop分布式文件***),是对超大规模数据集提供可靠存储功能的***,被广泛应用于高效存储和读取海量分布式数据的应用当中。
但是,在大数据时代,随着存储数据量的激增,如果不对分布式文件***中的数据量进行缩减,会大大地降低分布式文件***的性能。因此,如何去除分布式文件***中的海量数据中重复的内容,减少冗余数据对存储容量的占用是急需解决的问题。
发明内容
有鉴于此,本申请实施例提供一种数据去重方法及装置,通过对多个数据行中的具有相同数据行标识的数据行进行去重处理,能够实现大大减少冗余数据,节约存储空间。
本申请实施例主要提供如下技术方案:
第一方面,本申请实施例提供了一种数据去重方法,所述方法包括:获得待去重的多个数据行和去重字段;基于所述去重字段和所述多个数据行,生成所述多个数据行各自对应的数据行标识;基于所述多个数据行各自对应的数据行标识,对所述多个数据行中具有相同的数据行标识的数据行进行去重处理,获得去重结果。
第二方面,本申请实施例提供了一种数据去重装置,所述装置包括:第一获得单元,用于获得待去重的多个数据行和去重字段;生成单元,用于基于所述去重字段和所述多个数据行,生成所述多个数据行各自对应的数据行标识;第二获得单元,用于基于所述多个数据行各自对应的数据行标识,对所述多个数据行中具有相同的数据行标识的数据行进行去重处理,获得去重结果。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在计算机设备执行上述的数据去重方法的步骤。
第四方面,本申请实施例提供了一种计算机设备,所述计算机设备包括:至少一个处理器;以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述的数据去重方法的步骤。
本申请实施例提供的数据去重方法及装置,在获得待去重的多个数据行和去重字段后,就可以根据该去重字段和多个数据行,生成多个数据行各自对应的数据行标识,最后,基于多个数据行各自对应的数据行标识,对多个数据行中具有相同的数据行标识的数据行进行去重处理,获得去重结果。这样,由于是以多个数据行为单位来进行去重处理,通过对多个数据行中的具有相同数据行标识的数据行进行去重处理,能够实现对分布式文件***所存储的文件的内部数据进行局部去重,能够大大减少冗余数据,从而,能够节约存储空间,提升分布式文件***的性能。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书、权利要求书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例中的数据去重方法的流程示意图一;
图2为本申请实施例中的配置界面的示意图;
图3为本申请实施例中的数据去重方法的流程示意图二;
图4为本申请实施例中的数据去重装置的结构示意图;
图5为本申请实施例中的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例提供一种数据去重方法。图1为本申请实施例中的数据去重方法的流程示意图一,参见图1所示,该数据去重方法可以包括:
S101:获得待去重的多个数据行和去重字段;
这里,待去重的多个数据行可以为分布式文件***中所存储的文件内部的原始数据,其中,一个数据行是指一个数据表中的一行数据。例如,待去重的多个数据行可以为HDFS中所存储的数据。
在具体实施过程中,根据去重维度的不同,去重字段的数量可以为一个或多个。示例性地,当需要按照多维度对分布式文件***中的数据进行去重时,就可以获得多个去重字段;当需要按照单一维度对分布式文件***中的数据进行去重时,就可以获得一个去重字段。这里,本申请实施例不做具体限定。
举例来说,假设待去重的多行数据所在的数据表如下表1所示,那么,所获得的待去重的多个数据行包括:第一个数据行为“编号1张三男24账号1号码1”,第二个数据行为“编号2李四男20账号2号码2”,第三个数据行可以为“编号2王五女22账号3号码3”,第四个数据行可以为“编号3张三男24账号4号码4”。这样,去重字段可以为数据行的以下属性:ID、姓名、性别、年龄、社交账号、联系电话中的一个或多个。例如,当根据应用场景需要去重维度为2时,可以以姓名和年龄作为去重字段。
ID | 姓名 | 性别 | 年龄 | 社交账号 | 联系电话 |
编号1 | 张三 | 男 | 24 | 账号1 | 号码1 |
编号2 | 李四 | 男 | 20 | 账号2 | 号码2 |
编号2 | 王五 | 女 | 22 | 账号3 | 号码3 |
编号3 | 张三 | 男 | 24 | 账号4 | 号码4 |
表1
在本申请其它实施例中,为了便于用户灵活地根据应用场景来对分布式文件***中的数据进行去重,就需要用户可以自定义设置去重字段以及待去重的数据行范围,那么,在具体实施过程中,上述S101可以包括以下步骤1011~1013:
步骤1011:展示配置界面;
在实际应用中,为了便于用户灵活地根据应用场景来对分布式文件***中的数据进行去重,该配置界面可以便于用户增加和删除去重字段,也可以便于用户指定待去重的源数据在分布式文件***中的存储路径,当然,还可以为其它用途,可由本领域技术人员自行设定,这里,本申请实施例不做具体限定。
步骤1012:获取用户通过配置界面所设置的待去重数据路径和去重字段;
其中,上述待去重数据路径为分布式文件***中的数据存储路径。
步骤1013:基于待去重数据路径,从分布式文件***中读取多个数据行。
举例来说,参见如图2所示的配置界面,该配置界面可以显示用于设置获取待去重的数据行的待去重数据路径的可操作控件,如文本输入控件201。那么,当用户需要设置待去重数据路径时,用户可以通过文本输入控件201来输入该待去重数据路径“hdfs://192.168.XXX.Y:ZZZZ/data/input/part-r-00000”。这样,所获取到的用户通过配置界面所设置的待去重数据路径可以为:hdfs://192.168.XXX.Y:ZZZZ/data/input/part-r-00000。
进一步地,仍然参见图2所示的配置界面,该配置界面可以显示用于设置去重字段的可操作控件,如文本输入控件202。那么,当用户需要设置去重字段时,用户可以通过文本输入控件202来输入去重字段“姓名”、“年龄”。这样,所获取到的用户通过配置界面所设置的去重字段可以为:姓名和年龄。
因此,在实际应用中,针对不同的应用场景,用户完全可以通过该配置界面实现个性化自定义设置待去重的数据行的数据路径,并自行增加或删除去重字段,能够实现灵活地进行数据去重。
S102:基于去重字段和多个数据行,生成多个数据行各自对应的数据行标识;
这里,数据行标识能够确定一条数据行,可以用于区别数据行之间是否相同。如果两个数据行各自对应的数据行标识相同,则说明此两个数据行是重复数据,需要进行去重处理。否则,说明此两个数据行为不重复数据,无需进行去重处理。
在具体实施过程中,上述S102可以包括以下步骤1021~1022:
步骤1021:从多个数据行中,筛选出与去重字段匹配的数据列;
这里,数据列为一个数据表中的一列数据。其中,数据列包括每个数据行对应的去重字段值。
步骤1022:基于每个数据行对应的去重字段值,确定每个数据行对应的数据行标识。
在实际应用中,若去重字段的数量为一个,对应地,每个数据行所对应的去重字段值的数量也为一个,从而,每个数据行对应的数据行标识可以为去重字段值本身;若去重字段的数量为多个,对应地,每个数据行所对应的去重字段值的数量也为多个,从而,每个数据行对应的数据行标识可以为由多个去重字段值所组合的新字段。
那么,在本申请其它实施例中,上述步骤1022可以包括:若去重字段为多个,数据列包括每个数据行对应的多个去重字段值,针对每个数据行,分别将每个数据行对应的多个去重字段值进行组合,获得每个数据行对应的数据行标识。
举例来说,仍然以待去重的多行数据所在的数据表如上表1所示,并以去重字段为姓名和年龄为例,那么,所获得的待去重的多行数据包括:第一个数据行可以为“编号1张三男24账号1号码1”,第二个数据行可以为“编号2李四男20账号2号码2”,第三个数据行可以为“编号2王五女22账号3号码3”,第四个数据行可以为“编号3张三男24账号4号码4”。这样,根据去重字段:姓名和年龄,可以筛选出与去重字段匹配的数据列包括:与姓名匹配的数据列为“张三李四王五张三”,与年龄匹配的数据列为“24 20 22 24”,其中,第一个数据行对应的去重字段值包括“张三、24”,其中,张三为第一个数据行对应的与去重字段“姓名”所对应的去重字段值,24为第一个数据行对应的与去重字段“年龄”所对应的去重字段值,其它数据行的去重字段值可以此类推,分别得到第二个数据行对应的去重字段值包括“李四、20”、第三个数据行对应的去重字段值包括“王五、22”、第四个数据行对应的去重字段值包括“张三、24”。
接下来,将每个数据行对应地的去重字段值进行组合,即可得到能够唯一标识该数据行的数据行标识,那么,第一个数据行对应的数据行标识可以为“张三-24”,第二个数据行对应的数据行标识可以为“李四-20”、第四个数据行对应的数据行标识可以为“王五-22”、第四个数据行对应的数据行标识可以为“张三-24”。
在本申请其它实施例中,上述步骤1022也可以包括:若去重字段为一个,数据列包括每个数据行对应的一个去重字段值,针对每个数据行,分别将每个数据行对应的一个去重字段值确定为每个数据行对应的数据行标识。
举例来说,仍然以待去重的多行数据所在的数据表如上表1所示,并以去重字段为年龄为例,那么,所获得的待去重的多行数据包括:第一个数据行可以为“编号1张三男24账号1号码1”,第二个数据行可以为“编号2李四男20账号2号码2”,第三个数据行可以为“编号2王五女22账号3号码3”,第四个数据行可以为“编号3张三男24账号4号码4”。这样,根据去重字段:年龄,可以筛选出与去重字段匹配的数据列包括:与年龄匹配的数据列为“24 2022 24”,其中,第一个数据行对应的去重字段值为24,第二个数据行对应的去重字段值为20、第三个数据行对应的与去重字段值为22、第四个数据行对应的与去重字段值为24。从而,第一个数据行对应的与数据行标识为24,第二个数据行对应的与数据行标识为20、第三个数据行对应的与数据行标识为22、第四个数据行对应的与数据行标识为24。
S103:基于多个数据行各自对应的数据行标识,对多个数据行中具有相同的数据行标识的数据行进行去重处理,获得去重结果。
具体来说,在获得多个数据行一一对应的多个数据行标识后,就可以将这些多个数据行标识进行比较,然后,对多个数据行中具有相同的数据行标识的数据行进行去重处理来得到去重结果。
那么,在具体实施过程中,上述S103可以包括:将多个数据行各自对应的数据行标识进行比较;根据比较结果,确定多个数据行各自对应的数据行标识中是否存在相同的数据行标识;若存在,将多个数据行中具有相同的数据行标识的数据行中的一个数据行保留,并将具有相同的数据行标识的数据行中的除了保留的一个数据行之外的其它数据行删除,获得去重结果。
举例来说,仍然以待去重的多行数据所在的数据表如上表1所示,并以去重字段为姓名和年龄为例,那么,所获得的待去重的多行数据包括:第一个数据行可以为“编号1张三男24账号1号码1”,第二个数据行可以为“编号2李四男20账号2号码2”,第三个数据行可以为“编号2王五女22账号3号码3”,第四个数据行可以为“编号3张三男24账号4号码4”。这样,根据去重字段:姓名和年龄,可以确定出每个数据行对应的数据行标识分别为:第一个数据行对应的数据行标识可以为“张三-24”,第二个数据行对应的数据行标识可以为“李四-20”、第四个数据行对应的数据行标识可以为“王五-22”、第四个数据行对应的数据行标识可以为“张三-24”。可见,第一个数据行对应的数据行标识与第四个数据行对应的数据行标识是相同的,那么,就可以从多个数据行中将第一个数据行与第二个数据行两者之间仅保留一个,实现对多个数据行进行去重处理。从而,若保留第一个数据行则可以得到如下表2所示的去重结果,若保留第四个数据行则可以得到如下表3所示的去重结果。
ID | 姓名 | 性别 | 年龄 | 社交账号 | 联系电话 |
编号1 | 张三 | 男 | 24 | 账号1 | 号码1 |
编号2 | 李四 | 男 | 20 | 账号2 | 号码2 |
编号2 | 王五 | 女 | 22 | 账号3 | 号码3 |
表2
ID | 姓名 | 性别 | 年龄 | 社交账号 | 联系电话 |
编号2 | 李四 | 男 | 20 | 账号2 | 号码2 |
编号2 | 王五 | 女 | 22 | 账号3 | 号码3 |
编号3 | 张三 | 男 | 24 | 账号4 | 号码4 |
表3
需要说明的是,当去重的数据行集合中包含多个具有相同数据行标识的数据行时,如何确定要保留哪一个数据行,可由本领域技术人员自行设定,例如,根据数据行写入分布式文件***的时间先后确定在后的保留,这里,本申请实施例不做具体限定。
在本申请其它实施例中,为了便于用户自定义设定去重结果的存储路径,在S103之后,上述方法还可以包括:获取用户通过配置界面所设置的用于指示如何存储去重结果的存储路径;将去重结果存储至分布式文件***中存储路径所指示的存储空间中。
举例来说,仍然参见图2所示的配置界面,该配置界面可以显示用于设置去重结果的存储路径的可操作控件,如文本输入控件203。例如,当用户需要设置去重结果的存储路径时,用户可以通过文本输入控件203来输入该存储路径“hdfs://192.168.LLL.M:NNNN/data/input/part-r-00000”。这样,在获得去重结果后,就会将去重结果存储至分布式文件***中存储路径所指示的存储空间中。
在实际应用中,若用户设置的待去重数据对应的待去重数据路径与去重结果的存储路径是相同的,则在获得去重结果后,可以通过去重结果来覆盖去重之前的多个数据行。
在本申请其它实施例中,为了便于用户自定义控制在分布式文件***中是否保留去重前的原始数据,即上述待去重的多个数据行,在S103之后,上述方法还可以包括:获取用户通过配置界面所设置的用于指示是否保留多个数据行的存储规则;若存储规则指示不保留多个数据行,从分布式文件***中删除多个数据行。
当然,为了便于用户在自定义设定去重结果的存储路径的同时,还能够自定义控制在分布式文件***中是否保留去重前的原始数据,在S103之后,上述方法还可以包括:获取用户通过配置界面所设置的用于指示如何存储去重结果的存储路径和用于指示是否保留多个数据行的存储规则;若存储规则指示保留多个数据行,将去重结果存储至分布式文件***中存储路径所指示的存储空间中;或者,若存储规则指示不保留多个数据行,将去重结果存储至分布式文件***中存储路径所指示的存储空间中,并从分布式文件***中删除多个数据行。
举例来说,仍然参见图2所示的配置界面,该配置界面可以显示用于设置是否保留非去重数据,即待去重的多个数据行的可操作控件。例如,如果用户选择用于表示“是”的可操作控件204a,表明用户通过该配置界面所设置的存储规则用于指示在去重之后保留原来的非去重数据,并将去重后的所得到的去重结果另存为一份新的数据;如果选择用于表示“否”的可操作控件204b,表明用户通过该配置界面所设置的存储规则用于指示在去重之后只保留所得到的去重结果,非去重数据则不保留。
至此,便完成了对多个数据行进行去重的过程。
由上述内容可知,本申请实施例提供的数据去重方法,在获得待去重的多个数据行和去重字段后,就可以根据该去重字段和多个数据行,生成多个数据行各自对应的数据行标识,最后,基于多个数据行各自对应的数据行标识,对多个数据行中具有相同的数据行标识的数据行进行去重处理,获得去重结果。这样,由于是以多个数据行为单位来进行去重处理,通过对多个数据行中的具有相同数据行标识的数据行进行去重处理,能够实现对分布式文件***所存储的文件的内部数据进行局部去重,能够大大减少冗余数据,从而,能够节约存储空间,提升分布式文件***的性能。
基于前述实施例,本申请实施例提供了一种数据去重方法。在实际应用中,该数据去重方法可以应用于以下场景:用户根据应用场景,通过配置界面自定义设置待去重的多个数据行、去重字段、去重结果的存储方式。
图3为本申请实施例中的数据去重方法的流程示意图二,参见图3所示,该方法可以包括:
S301:展示配置界面;
S302:获取用户通过配置界面所设置的待去重数据路径和去重字段;
其中,待去重数据路径为分布式文件***中的数据存储路径。
S303:基于待去重数据路径,从分布式文件***中读取待去重的多个数据行;
S304:从多个数据行中,筛选出与去重字段匹配的数据列;
其中,数据列包括每个数据行对应的去重字段值。
S305:基于数据列,生成多个数据行各自对应的数据行标识;
S306:基于多个数据行各自对应的数据行标识,对多个数据行中具有相同的数据行标识的数据行进行去重处理,获得去重结果;
S307:获取用户通过配置界面所设置的用于指示如何存储去重结果的存储路径和用于指示是否保留多个数据行的存储规则;
若存储规则指示保留多个数据行,执行S308a;若存储规则指示不保留多个数据行,执行S308b。
S308a:将去重结果存储至分布式文件***中存储路径所指示的存储空间中;
S308b:将去重结果存储至分布式文件***中存储路径所指示的存储空间中,并从分布式文件***中删除多个数据行。
由上述内容可知,本申请实施例提供的数据去重方法,在根据用户设置的待去重数据路径获取到待去重的多个数据行后,可以根据用户自定义的去重字段来从该多个数据行中筛选出与去重字段匹配的数据列。接下来,可以根据该数据列来生成各个数据行所一一对应的数据行标识,然后,由于数据行标识是否相同能够表示数据行标识所对应的数据行是否相同,那么,就可以基于多个数据行各自对应的数据行标识,对多个数据行中具有相同的数据行标识的数据行进行去重处理,获得去重结果。最后,在获得去重结果后,还可以根据设置的用于指示如何存储去重结果的存储路径和用于指示是否保留多个数据行的存储规则,将去重结果存储至分布式文件***中存储路径所指示的存储空间中,或者,将去重结果存储至分布式文件***中存储路径所指示的存储空间中,并从分布式文件***中删除去重之前的多个数据行。这样,由于是以数据表中的多个数据行为单位来进行去重处理的,那么,通过对多个数据行中的具有相同数据行标识的数据行进行去重处理,能够实现对分布式文件***所存储的文件的内部数据进行局部去重,能够大大减少冗余数据,从而,能够节约存储空间,提升分布式文件***的性能。而且,由于用户可以根据不同应用场景,通过配置界面自定义设置对应的待去重数据路径、去重字段、用于指示如何存储去重结果的存储路径和用于指示是否保留多个数据行的存储规则,从而,还能够更灵活地对数据行进行去重,更适应用户场景。
基于同一发明构思,作为对上述方法的实现,本申请实施例提供了一种数据去重装置。图4为本申请实施例中的数据去重装置的结构示意图,参见图4所示,该装置40可以包括:第一获得单元401,用于获得待去重的多个数据行和去重字段;生成单元402,用于基于去重字段和多个数据行,生成多个数据行各自对应的数据行标识;第二获得单元403,用于基于多个数据行各自对应的数据行标识,对多个数据行中具有相同的数据行标识的数据行进行去重处理,获得去重结果。
在本申请实施例中,上述生成单元,用于从多个数据行中,筛选出与去重字段匹配的数据列,其中,数据列包括每个数据行对应的去重字段值;基于每个数据行对应的去重字段值,确定每个数据行对应的数据行标识。
在本申请实施例中,上述生成单元,用于若去重字段为多个,数据列包括每个数据行对应的多个去重字段值,针对每个数据行,分别将每个数据行对应的多个去重字段值进行组合,获得每个数据行对应的数据行标识。
在本申请实施例中,上述生成单元,用于若去重字段为一个,数据列包括每个数据行对应的一个去重字段值,针对每个数据行,分别将每个数据行对应的一个去重字段值确定为每个数据行对应的数据行标识。
在本申请实施例中,上述第二获得单元,用于将多个数据行各自对应的数据行标识进行比较;根据比较结果,确定多个数据行各自对应的数据行标识中是否存在相同的数据行标识;若存在,将多个数据行中具有相同的数据行标识的数据行中的一个数据行保留,并将具有相同的数据行标识的数据行中的除了保留的一个数据行之外的其它数据行删除,获得去重结果。
在本申请实施例中,上述第一获得单元,用于展示配置界面;获取用户通过配置界面所设置的待去重数据路径和去重字段,其中,待去重数据路径为分布式文件***中的数据存储路径;基于待去重数据路径,从分布式文件***中读取多个数据行。
在本申请实施例中,上述装置还包括:
获取单元,用于获取用户通过配置界面所设置的用于指示如何存储去重结果的存储路径和用于指示是否保留多个数据行的存储规则;
存储单元,用于若存储规则指示保留多个数据行,将去重结果存储至分布式文件***中存储路径所指示的存储空间中;或者,若存储规则指示不保留多个数据行,将去重结果存储至分布式文件***中存储路径所指示的存储空间中,并从分布式文件***中删除多个数据行。
基于同一发明构思,本申请实施例提供一种计算机设备。图5为本申请实施例中的计算机设备的结构示意图,参见图5所示,该计算机设备50包括:至少一个处理器51;以及与处理器51连接的至少一个存储器52、总线53;其中,处理器51、存储器52通过总线53完成相互间的通信;处理器51用于调用存储器52中的程序指令,以执行上述一个或多个实施例中的数据去重方法的步骤。
相应地,基于同一发明构思,本申请实施例还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述一个或多个实施例中的数据去重方法的步骤。
上述处理器可由中央处理器(Central Processing Unit,CPU)、微处理器(MicroProcessor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。存储器可能包括计算机可读介质中的非永久性存储器,随机存储器(Random Access Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash RAM),存储器包括至少一个存储芯片。
需要说明的是,在本申请实施例中,如果以软件功能模块的形式实现上述一个或多个实施例中的数据去重方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例方法的全部或部分。
相应地,基于同一发明构思,本申请实施例再提供一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在程序运行时控制存储介质所在计算机设备执行上述一个或多个实施例中的数据去重方法的步骤。
这里需要指出的是:以上装置、计算机设备或计算机可读存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置、计算机设备或计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种数据去重方法,其特征在于,所述方法包括:
获得待去重的多个数据行和去重字段;
基于所述去重字段和所述多个数据行,生成所述多个数据行各自对应的数据行标识;
基于所述多个数据行各自对应的数据行标识,对所述多个数据行中具有相同的数据行标识的数据行进行去重处理,获得去重结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述去重字段和所述多个数据行,生成所述多个数据行各自对应的数据行标识,包括:
从所述多个数据行中,筛选出与所述去重字段匹配的数据列,其中,所述数据列包括每个数据行对应的去重字段值;
基于每个数据行对应的去重字段值,确定每个数据行对应的数据行标识。
3.根据权利要求2所述的方法,其特征在于,所述基于每个数据行对应的去重字段值,确定每个数据行对应的数据行标识,包括:
若所述去重字段为多个,所述数据列包括每个数据行对应的多个去重字段值,针对每个数据行,分别将每个数据行对应的多个去重字段值进行组合,获得所述每个数据行对应的数据行标识。
4.根据权利要求2所述的方法,其特征在于,所述基于每个数据行对应的去重字段值,确定每个数据行对应的数据行标识,包括:
若所述去重字段为一个,所述数据列包括每个数据行对应的一个去重字段值,针对每个数据行,分别将每个数据行对应的一个去重字段值确定为所述每个数据行对应的数据行标识。
5.根据权利要求1所述的方法,其特征在于,所述基于所述多个数据行各自对应的数据行标识,对所述多个数据行中具有相同的数据行标识的数据行进行去重处理,获得去重结果,包括:
将所述多个数据行各自对应的数据行标识进行比较;
根据比较结果,确定所述多个数据行各自对应的数据行标识中是否存在相同的数据行标识;
若存在,将所述多个数据行中具有相同的数据行标识的数据行中的一个数据行保留,并将所述具有相同的数据行标识的数据行中的除了保留的一个数据行之外的其它数据行删除,获得去重结果。
6.根据权利要求1所述的方法,其特征在于,所述获得待去重的多个数据行和去重字段,包括:
展示配置界面;
获取用户通过所述配置界面所设置的待去重数据路径和所述去重字段,其中,所述待去重数据路径为分布式文件***中的数据存储路径;
基于所述待去重数据路径,从分布式文件***中读取所述多个数据行。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取用户通过所述配置界面所设置的用于指示如何存储所述去重结果的存储路径和用于指示是否保留所述多个数据行的存储规则;
若所述存储规则指示保留所述多个数据行,将所述去重结果存储至所述分布式文件***中所述存储路径所指示的存储空间中;
或者,若所述存储规则指示不保留所述多个数据行,将所述去重结果存储至所述分布式文件***中所述存储路径所指示的存储空间中,并从所述分布式文件***中删除所述多个数据行。
8.一种数据去重装置,其特征在于,所述装置包括:
第一获得单元,用于获得待去重的多个数据行和去重字段;
生成单元,用于基于所述去重字段和所述多个数据行,生成所述多个数据行各自对应的数据行标识;
第二获得单元,用于基于所述多个数据行各自对应的数据行标识,对所述多个数据行中具有相同的数据行标识的数据行进行去重处理,获得去重结果。
9.一种计算机可读存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在计算机设备执行如权利要求1至7任一项所述的数据去重方法的步骤。
10.一种计算机设备,其特征在于,所述计算机设备包括:
至少一个处理器;
以及与所述处理器连接的至少一个存储器、总线;
其中,所述处理器、存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如1至7任一项所述的数据去重方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910756841.8A CN110569224A (zh) | 2019-08-16 | 2019-08-16 | 一种数据去重方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910756841.8A CN110569224A (zh) | 2019-08-16 | 2019-08-16 | 一种数据去重方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110569224A true CN110569224A (zh) | 2019-12-13 |
Family
ID=68775621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910756841.8A Withdrawn CN110569224A (zh) | 2019-08-16 | 2019-08-16 | 一种数据去重方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110569224A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111311381A (zh) * | 2020-04-07 | 2020-06-19 | 广州翼云科技有限公司 | 一种商品推荐方法及*** |
CN111444167A (zh) * | 2020-03-25 | 2020-07-24 | 厦门市美亚柏科信息股份有限公司 | 一种基于数据摘要去重数据的方法、装置及存储介质 |
CN114386423A (zh) * | 2022-01-18 | 2022-04-22 | 平安科技(深圳)有限公司 | 文本去重方法和装置、电子设备、存储介质 |
CN115631866A (zh) * | 2022-12-19 | 2023-01-20 | 成都瑞华康源科技有限公司 | 一种针对医疗大数据采集的快速精准去重方法 |
-
2019
- 2019-08-16 CN CN201910756841.8A patent/CN110569224A/zh not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444167A (zh) * | 2020-03-25 | 2020-07-24 | 厦门市美亚柏科信息股份有限公司 | 一种基于数据摘要去重数据的方法、装置及存储介质 |
CN111311381A (zh) * | 2020-04-07 | 2020-06-19 | 广州翼云科技有限公司 | 一种商品推荐方法及*** |
CN114386423A (zh) * | 2022-01-18 | 2022-04-22 | 平安科技(深圳)有限公司 | 文本去重方法和装置、电子设备、存储介质 |
CN114386423B (zh) * | 2022-01-18 | 2023-07-14 | 平安科技(深圳)有限公司 | 文本去重方法和装置、电子设备、存储介质 |
CN115631866A (zh) * | 2022-12-19 | 2023-01-20 | 成都瑞华康源科技有限公司 | 一种针对医疗大数据采集的快速精准去重方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107609186B (zh) | 信息处理方法及装置、终端设备及计算机可读存储介质 | |
CN110569224A (zh) | 一种数据去重方法及装置 | |
CN105893084B (zh) | 版本升级方法及终端设备 | |
CN106031127B (zh) | 用于应用的管理的方法和装置 | |
CN107480205B (zh) | 一种进行数据分区的方法和装置 | |
US9473619B2 (en) | Systems and methods for contacts management | |
CN109086456B (zh) | 数据索引方法及装置 | |
CN109522332A (zh) | 客户信息数据合并方法、装置、设备及可读存储介质 | |
CN111782728B (zh) | 一种数据同步方法、装置、电子设备及介质 | |
CN110232156B (zh) | 基于长文本的信息推荐方法及装置 | |
WO2021047021A1 (zh) | 信息挖掘方法、装置、设备和存储介质 | |
US10007692B2 (en) | Partition filtering using smart index in memory | |
CN109325015B (zh) | 一种领域模型的特征字段的提取方法及装置 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN104077053B (zh) | 终端信息的操作方法、装置及移动终端 | |
KR20190002627A (ko) | 파일 저장 방법 및 전자 디바이스 | |
CN116010345A (zh) | 一种实现流批一体数据湖的表服务方案的方法、装置及设备 | |
CN110413603B (zh) | 重复数据的确定方法、装置、电子设备及计算机存储介质 | |
CN112632266B (zh) | 数据写入方法、装置、计算机设备及可读存储介质 | |
CN112612865A (zh) | 一种基于Elasticsearch的文档存储方法和装置 | |
CN107833259B (zh) | 基于智能终端的动态漫画引擎处理方法及*** | |
CN110751204A (zh) | 数据融合的方法及装置、存储介质和电子装置 | |
CN111752912A (zh) | 数据处理方法及装置 | |
CN112783840B (zh) | 一种存储文档的方法、装置、电子设备及存储介质 | |
CN109688266B (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20191213 |