CN107301208A - 一种数据表处理方法和装置 - Google Patents
一种数据表处理方法和装置 Download PDFInfo
- Publication number
- CN107301208A CN107301208A CN201710408911.1A CN201710408911A CN107301208A CN 107301208 A CN107301208 A CN 107301208A CN 201710408911 A CN201710408911 A CN 201710408911A CN 107301208 A CN107301208 A CN 107301208A
- Authority
- CN
- China
- Prior art keywords
- data
- tables
- extended field
- key
- value
- 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
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/18—File system types
- G06F16/182—Distributed file systems
-
- 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/14—Details of searching files based on file metadata
- G06F16/148—File search processing
- G06F16/152—File search processing using file content signatures, e.g. hash values
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)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据表处理方法和装置。所述方法包括:构建数据表,所述数据表中按行存储用户数据,一列对应一个字段,且所述数据表中包含扩展字段,扩展字段用于保存用户属性信息,所述用户属性信息用一个或多个键值对组成的字符串表示;针对所述数据表的扩展字段建立分类标签表;在所述分类标签表中定义所述扩展字段中保存的各键值对分别对应的标签值;在所述数据表的扩展字段中,保存用所定义的标签值表示的用户属性信息,以替换所述数据表的扩展字段中的一个或多个键值对。该技术方案可以利用扩展字段存储大量不适合单独建列的数据,并通过单独设立的分类标签表节约了数据在数据表中存储所占用的空间,减少了数据表中的数据冗余。
Description
技术领域
本发明涉及数据库技术领域,具体涉及一种数据表处理方法和装置。
背景技术
数据库中的数据表通常包括多个字段,字段通常是根据数据统计的需求而设置的。但在大数据场景下,尤其是用户数据的统计数据表中,并不是所有类型的数据都适合单独列为一个字段。这是因为获取到的数据通常是一组或一条数据,这组或这条数据中并不一定包含某一个特定类型的数据,举例来说,对于某一会员数据表格,“姓名”这一类型的数据可能是每条数据中都包含的,但对于“终端系统版本号”这一类型的数据,可能只在获取到的部分数据中存在。那么将“姓名”单独作为数据表的一个字段没有问题,而如果将“终端系统版本号”作为一个字段,显然在数据表中就会存在大量的空白,浪费了存储空间。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据表处理方法和装置。
依据本发明的一个方面,提供了一种数据表处理方法,包括:
构建数据表,所述数据表中按行存储用户数据,一列对应一个字段,且所述数据表中包含扩展字段,扩展字段用于保存用户属性信息,所述用户属性信息用一个或多个键值对组成的字符串表示;
针对所述数据表的扩展字段建立分类标签表;
在所述分类标签表中定义所述扩展字段中保存的各键值对分别对应的标签值;
在所述数据表的扩展字段中,保存用所定义的标签值表示的用户属性信息,以替换所述数据表的扩展字段中的一个或多个键值对。
可选地,在所述数据表的扩展字段中,保存用所定义的标签值表示的用户属性信息包括:
在所述数据表的扩展字段中,直接保存组成表示用户属性信息的字符串的一个或多个键值对所对应的一个或多个标签值;
或者,
在所述数据表的扩展字段中,保存组成表示用户属性信息的字符串的一个或多个键值对,其中,各键值对中的值由对应的标签值替代。
可选地,该方法进一步包括:
将所述数据表的扩展字段中的数据导入分布式文件系统中;
在分布式任务运行系统中部署查询任务,由所述查询任务对导入分布式文件系统中的扩展字段数据进行查询。
可选地,所述分布式文件系统为Hadoop分布式文件系统HDFS;
所述分布式任务运行系统为MapReduce系统;
所述查询任务,利用Hive对导入分布式文件系统中的扩展字段数据进行查询。
可选地,该方法进一步包括:在分布式任务运行系统中为所述查询任务部署查询条件配置文件和查询模型;
由所述查询任务对导入分布式文件系统中的扩展字段数据进行查询包括:所述查询任务根据所述查询条件配置文件从分布式文件系统中的扩展字段数据中筛选出部分符合查询条件的数据作为训练数据输入到所述查询模型中,同时将当前的分类标签表输入到所述查询模型中;在查询模型训练完毕后,所述查询任务再利用训练后的查询模型从分布式文件系统中的扩展字段数据中查询出符合查询条件的结果数据。
可选地,在所述分类标签表中,为各标签值增加时间戳,所述时间戳表示添加或修改标签值的时间点;
所述查询模型根据分类标签表中的时间戳感知标签值的变化。
依据本发明的另一方面,提供了一种数据表处理装置,包括:
数据表构建单元,适于构建数据表;其中,所述数据表中按行存储用户数据,一列对应一个字段,且所述数据表中包含扩展字段,扩展字段用于保存用户属性信息,所述用户属性信息用一个或多个键值对组成的字符串表示;
标签表处理单元,适于针对所述数据表的扩展字段建立分类标签表,在所述分类标签表中定义所述扩展字段中保存的各键值对分别对应的标签值;
数据表处理单元,适于在所述数据表的扩展字段中,保存用所定义的标签值表示的用户属性信息,以替换所述数据表的扩展字段中的一个或多个键值对。
可选地,所述数据表处理单元,适于在所述数据表的扩展字段中,直接保存组成表示用户属性信息的字符串的一个或多个键值对所对应的一个或多个标签值;或者,适于在所述数据表的扩展字段中,保存组成表示用户属性信息的字符串的一个或多个键值对,其中,各键值对中的值由对应的标签值替代。
可选地,该装置进一步包括:
查询处理单元,适于将所述数据表的扩展字段中的数据导入分布式文件系统中;以及适于在分布式任务运行系统中部署查询任务,由所述查询任务对导入分布式文件系统中的扩展字段数据进行查询。
可选地,所述分布式文件系统为Hadoop分布式文件系统HDFS;
所述分布式任务运行系统为MapReduce系统;
查询处理单元适于将所述查询任务配置为:所述查询任务利用Hive对导入分布式文件系统中的扩展字段数据进行查询。
可选地,所述查询处理单元,适于在分布式任务运行系统中为所述查询任务部署查询条件配置文件和查询模型;
以及,所述查询处理单元适于将所述查询任务配置为:所述查询任务根据所述查询条件配置文件从分布式文件系统中的扩展字段数据中筛选出部分符合查询条件的数据作为训练数据输入到所述查询模型中,同时将当前的分类标签表输入到所述查询模型中,在查询模型训练完毕后,所述查询任务再利用训练后的查询模型从分布式文件系统中的扩展字段数据中查询出符合查询条件的结果数据。
可选地,所述标签表处理单元,进一步适于在所述分类标签表中,为各标签值增加时间戳;其中,所述时间戳表示添加或修改标签值的时间点;
所述查询模型根据分类标签表中的时间戳感知标签值的变化。
由上述可知,本发明的技术方案,在行式数据库的数据表中,构建一个用于保存用户属性信息扩展字段,该字段中的数据呈现为一个或多个键值对组成的字符串形式。针对这一扩展字段,建立一个分类标签表,在其中定义扩展字段中保存的各键值对分别对应的标签值,并在数据表的扩展字段中,保存用所定义的标签值表示的用户属性信息,以替换数据表的扩展字段中的一个或多个键值对。该技术方案可以利用扩展字段存储大量不适合单独建列的数据,并通过单独设立的分类标签表,节约了数据在数据表中存储所占用的空间,减少了数据表中的数据冗余。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种数据表处理方法的流程示意图;
图2示出了根据本发明一个实施例的一种数据表处理装置的结构示意图;
图3示出了根据本发明一个实施例的另一种数据表处理装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种数据表处理方法的流程示意图,如图1所示,该方法包括:
步骤S110,构建数据表,数据表中按行存储用户数据,一列对应一个字段,且数据表中包含扩展字段,扩展字段用于保存用户属性信息,用户属性信息用一个或多个键值对组成的字符串表示。
在本实施例中使用行式存储,数据表中的每个列对应一个字段。扩展字段(Extension,EXT)中保存的用户属性信息可以是根据用户需求设置的。一般而言,互联网产品可以在法律许可的范围内获取有效的用户信息,用于改善产品。产品经理往往会对产品提出不同的功能性需求,这都需要依赖于对产品进行数据分析。一般而言,产品会根据需求获取特定类型的数据,其中就可以包括用户属性信息,例如:终端型号、操作系统版本信息、产品版本信息,等等。普遍来说,用户属性信息还可以包括姓名、性别、年龄,这些可以单独作为一个字段,也可以根据实际情况保存在扩展字段中;细化而言,用户属性信息还可以包括爱好、喜欢的餐厅、手机中安装的应用APP、经常打开的APP,种类繁多在此不再一一列举。这些通常不是对每个用户都能够获取到的用户属性信息,适合在扩展字段中进行保存。
扩展字段在数据表中同样是单独的一列。在数据表中,如果是“姓名”列,则该列的数据属性是有长度限制的字符型数据;如果是“年龄”列,则该列的数据属性是有上下限的整型数据。而对于扩展字段来说,由于其存储的数据繁杂,因此在本实施例中采取了键值对的方式,并以字段名为键,以字段内容为值。例如,键key为位置position,值value为海淀区,则键值对为position:海淀区。那么如果用户属性信息有很多,相应的键值对就有很多,字符串最终呈现为<K1:V1,K2:V2……Kn,Vn>的样式。
如果数据表中没有所述扩展字段,则在用户希望对数据表新增一列数据,也就是添加一个字段时,就必须将数据表锁定,这时其他用户都不能读取该数据表。因此,上述存储方式的优势在于,可以通过对扩展字段的修改来增加数据而不用单独建列。而如果不单独建列,那么修改就不是对数据表本身的修改,而是对扩展字段这一列中的数据的修改,就不需要将数据表进行锁定。
步骤S120,针对数据表的扩展字段建立分类标签表。
以key=postion为例,“position”占四个字节,如果一万行数据中的扩展字段都包含postion这个类型的用户属性信息,那么都需要记录“position=某某”,这就需要占用四万个字节的空间。在本实施例中,采取了建立分类标签表的方式来减少数据表的冗余。
具体地,在步骤S130中,在分类标签表中定义扩展字段中保存的各键值对分别对应的标签值。
例如,将“position=海淀”记录为1,“position=朝阳”记录为2。这样在数据表中,扩展字段记录的字符串中,与“position=海淀”对应的信息就可以为记录为“1”,取代了记录为“position=海淀”,这样节约了极大的空间。
具体的做法就是步骤S140,在数据表的扩展字段中,保存用所定义的标签值表示的用户属性信息,以替换数据表的扩展字段中的一个或多个键值对。
可见,图1所示的方法,在行式数据库的数据表中,构建一个用于保存用户属性信息扩展字段,该字段中的数据呈现为一个或多个键值对组成的字符串形式。针对这一扩展字段,建立一个分类标签表,在其中定义扩展字段中保存的各键值对分别对应的标签值,并在数据表的扩展字段中,保存用所定义的标签值表示的用户属性信息,以替换数据表的扩展字段中的一个或多个键值对。该技术方案可以利用扩展字段存储大量不适合在数据表中单独建列的数据,并通过单独设立的分类标签表,节约了数据在数据表中存储所占用的空间,减少了数据表中的数据冗余。
在本发明的一个实施例中,上述方法中,在数据表的扩展字段中,保存用所定义的标签值表示的用户属性信息包括:在数据表的扩展字段中,直接保存组成表示用户属性信息的字符串的一个或多个键值对所对应的一个或多个标签值;或者,在数据表的扩展字段中,保存组成表示用户属性信息的字符串的一个或多个键值对,其中,各键值对中的值由对应的标签值替代。
在上面的方法中,将“position=海淀”记录为1可以节约很大部分空间。但是考虑到数据表往往需要用户阅读,而扩展字段中存储的内容可能很多,正如前面所说过的,用户属性信息可能有很多,那么最终在数据表的扩展字段中记录的数据可能为<1,3,5,7……>这样的一个可读性较差的字符串,使得用户的体验较差。一种折中的方法为,不对键值对的key做替换,而是将value进行替换。例如在分类标签表中定义性别的男为1,女为2,那么与性别对应的键值对只需要记录“sex=1”或“sex=2”,而不是“sex=男”或“sex=女”,由于汉字占两个字节,而数字只占一个字节,因而依然可以节约一半空间。
数据表使用最多的场景就是用于数据的查询。在本发明的一个实施例中,上述方法进一步包括:将数据表的扩展字段中的数据导入分布式文件系统中;在分布式任务运行系统中部署查询任务,由查询任务对导入分布式文件系统中的扩展字段数据进行查询。
本实施例针对大数据场景进行了设计,将单机数据库与分布式系统进行了有机结合。其中,将扩展字段的数据导入到分布式文件系统后,可以利用分布式系统中的计算资源快速处理大数据。具体地,分布式文件系统可以为Hadoop分布式文件系统HDFS,分布式任务运行系统可以为MapReduce系统,那么相应的查询任务就是一个MapReduce任务,特别地,查询任务可以利用Hive对导入分布式文件系统中的扩展字段数据进行查询。
Hive可以实现将数据查询的sql语句转化为MapReduce任务,实现数据表的查询。而由于该实施例中的需求在于扩展字段中存储的数据,那么就只需要将数据表的扩展字段中的数据导入分布式文件系统中。
如果是普通的数据表,那么可以根据索引和sql语句可以方便地进行查询,但在上述实施例中,由于扩展字段中的数据是一个字符串,不能够建立合适的索引,增加了查询的难度。因此在本发明的一个实施例中,上述方法还包括:在分布式任务运行系统中为查询任务部署查询条件配置文件和查询模型;由查询任务对导入分布式文件系统中的扩展字段数据进行查询包括:查询任务根据查询条件配置文件从分布式文件系统中的扩展字段数据中筛选出部分符合查询条件的数据作为训练数据输入到查询模型中,同时将当前的分类标签表输入到查询模型中;在查询模型训练完毕后,查询任务再利用训练后的查询模型从分布式文件系统中的扩展字段数据中查询出符合查询条件的结果数据。
在本实施例中,通过预先训练查询模型的方式,提高了查询效率。首先,需要利用样本数据来训练模型,也就是根据查询条件配置文件从分布式文件系统中的扩展字段数据中筛选出部分符合查询条件的数据作为训练数据,训练数据可以根据实际情况设定为几百或几千条。举例来说,查询条件可以为:在北京地区经常去某知名饭店的男性。根据这一查询条件,可以先筛选出一部分数据,由MapReduce任务的Map部分完成聚合,再由Reduce任务实现分类。
训练出的查询模型往往会随着扩展字段中数据的改变也发生变化。在本发明的一个实施例中,上述方法进一步包括:在分类标签表中,为各标签值增加时间戳,时间戳表示添加或修改标签值的时间点;查询模型根据分类标签表中的时间戳感知标签值的变化。
举例而言,在某次训练查询模型时,找到了“position=3”,由于在上一次训练查询模型的时候也找到了,在这个地方记录了版本号(例如为4),这次找到时,发现版本号为7,通过对比版本号发现版本号被修改过,说明“position=3”这个条件已经被修改了。
图2示出了根据本发明一个实施例的数据表处理装置的结构示意图,如图2所示,数据表处理装置200包括:
数据表构建单元210,适于构建数据表;其中,数据表中按行存储用户数据,一列对应一个字段,且数据表中包含扩展字段,扩展字段用于保存用户属性信息,用户属性信息用一个或多个键值对组成的字符串表示。
在本实施例中使用行式存储,数据表中的每个列对应一个字段。扩展字段(Extension,EXT)中保存的用户属性信息可以是根据用户需求设置的。一般而言,互联网产品可以在法律许可的范围内获取有效的用户信息,用于改善产品。产品经理往往会对产品提出不同的功能性需求,这都需要依赖于对产品进行数据分析。一般而言,产品会根据需求获取特定类型的数据,其中就可以包括用户属性信息,例如:终端型号、操作系统版本信息、产品版本信息,等等。普遍来说,用户属性信息还可以包括姓名、性别、年龄,这些可以单独作为一个字段,也可以根据实际情况保存在扩展字段中;细化而言,用户属性信息还可以包括爱好、喜欢的餐厅、手机中安装的应用APP、经常打开的APP,种类繁多在此不再一一列举。这些通常不是对每个用户都能够获取到的用户属性信息,适合在扩展字段中进行保存。
扩展字段在数据表中同样是单独的一列。在数据表中,如果是“姓名”列,则该列的数据属性是有长度限制的字符型数据;如果是“年龄”列,则该列的数据属性是有上下限的整型数据。而对于扩展字段来说,由于其存储的数据繁杂,因此在本实施例中采取了键值对的方式,并以字段名为键,以字段内容为值。例如,键key为位置position,值value为海淀区,则键值对为position:海淀区。那么如果用户属性信息有很多,相应的键值对就有很多,字符串最终呈现为<K1:V1,K2:V2……Kn,Vn>的样式。
如果数据表中没有所述扩展字段,则在用户希望对数据表新增一列数据,也就是添加一个字段时,就必须将数据表锁定,这时其他用户都不能读取该数据表。因此,上述存储方式的优势在于,可以通过对扩展字段的修改来增加数据而不用单独建列。而如果不单独建列,那么修改就不是对数据表本身的修改,而是对扩展字段这一列中的数据的修改,就不需要将数据表进行锁定。
标签表处理单元220,适于针对数据表的扩展字段建立分类标签表,在分类标签表中定义扩展字段中保存的各键值对分别对应的标签值。
以key=postion为例,“position”占四个字节,如果一万行数据中的扩展字段都包含postion这个类型的用户属性信息,那么都需要记录“position=某某”,这就需要占用四万个字节的空间。在本实施例中,采取了建立分类标签表的方式来减少数据表的冗余。例如,将“position=海淀”记录为1,“position=朝阳”记录为2。这样在数据表中,扩展字段记录的字符串中,与“position=海淀”对应的信息就可以为记录为“1”,取代了记录为“position=海淀”,这样节约了极大的空间。
数据表处理单元230,适于在数据表的扩展字段中,保存用所定义的标签值表示的用户属性信息,以替换数据表的扩展字段中的一个或多个键值对。
可见,图2所示的装置,通过各单元的相互配合,在行式数据库的数据表中,构建一个用于保存用户属性信息扩展字段,该字段中的数据呈现为一个或多个键值对组成的字符串形式。针对这一扩展字段,建立一个分类标签表,在其中定义扩展字段中保存的各键值对分别对应的标签值,并在数据表的扩展字段中,保存用所定义的标签值表示的用户属性信息,以替换数据表的扩展字段中的一个或多个键值对。该技术方案可以利用扩展字段存储大量不适合单独建列的数据,并通过单独设立的分类标签表,节约了数据在数据表中存储所占用的空间,减少了数据表中的数据冗余。
在本发明的一个实施例中,上述装置中,数据表处理单元230,适于在数据表的扩展字段中,直接保存组成表示用户属性信息的字符串的一个或多个键值对所对应的一个或多个标签值;或者,适于在数据表的扩展字段中,保存组成表示用户属性信息的字符串的一个或多个键值对,其中,各键值对中的值由对应的标签值替代。
图3示出了根据本发明一个实施例的另一种数据表处理装置的结构示意图,如图3所示,数据表处理装置300除了包括图2中所示出的数据表构建单元210、标签表处理单元220、数据表处理单元230外,还进一步包括:查询处理单元340,适于将数据表的扩展字段中的数据导入分布式文件系统中;以及适于在分布式任务运行系统中部署查询任务,由查询任务对导入分布式文件系统中的扩展字段数据进行查询。其中数据表构建单元210、标签表处理单元220、数据表处理单元230的结构和功能与前述实施例中相同,在此不再赘述。
在本发明的一个实施例中,上述装置中,分布式文件系统为Hadoop分布式文件系统HDFS;分布式任务运行系统为MapReduce系统;查询处理单元适于将查询任务配置为:查询任务利用Hive对导入分布式文件系统中的扩展字段数据进行查询。
在本发明的一个实施例中,上述装置中,查询处理单元340,适于在分布式任务运行系统中为查询任务部署查询条件配置文件和查询模型;以及,查询处理单元340适于将查询任务配置为:查询任务根据查询条件配置文件从分布式文件系统中的扩展字段数据中筛选出部分符合查询条件的数据作为训练数据输入到查询模型中,同时将当前的分类标签表输入到查询模型中,在查询模型训练完毕后,查询任务再利用训练后的查询模型从分布式文件系统中的扩展字段数据中查询出符合查询条件的结果数据。
在本发明的一个实施例中,上述装置中,标签表处理单元220,进一步适于在分类标签表中,为各标签值增加时间戳;其中,时间戳表示添加或修改标签值的时间点;查询模型根据分类标签表中的时间戳感知标签值的变化。
需要说明的是,上述各装置实施例的具体实施方式与前述对应方法实施例的具体实施方式相同,在此不再赘述。
综上所述,本发明的技术方案,在行式数据库的数据表中,构建一个用于保存用户属性信息扩展字段,该字段中的数据呈现为一个或多个键值对组成的字符串形式。针对这一扩展字段,建立一个分类标签表,在其中定义扩展字段中保存的各键值对分别对应的标签值,并在数据表的扩展字段中,保存用所定义的标签值表示的用户属性信息,以替换数据表的扩展字段中的一个或多个键值对。该技术方案可以利用扩展字段存储大量不适合单独建列的数据,并通过单独设立的分类标签表,节约了数据在数据表中存储所占用的空间,减少了数据表中的数据冗余。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据表处理装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明的实施例公开了A1、一种数据表处理方法,包括:
构建数据表,所述数据表中按行存储用户数据,一列对应一个字段,且所述数据表中包含扩展字段,扩展字段用于保存用户属性信息,所述用户属性信息用一个或多个键值对组成的字符串表示;
针对所述数据表的扩展字段建立分类标签表;
在所述分类标签表中定义所述扩展字段中保存的各键值对分别对应的标签值;
在所述数据表的扩展字段中,保存用所定义的标签值表示的用户属性信息,以替换所述数据表的扩展字段中的一个或多个键值对。
A2、如A1所述的方法,其中,在所述数据表的扩展字段中,保存用所定义的标签值表示的用户属性信息包括:
在所述数据表的扩展字段中,直接保存组成表示用户属性信息的字符串的一个或多个键值对所对应的一个或多个标签值;
或者,
在所述数据表的扩展字段中,保存组成表示用户属性信息的字符串的一个或多个键值对,其中,各键值对中的值由对应的标签值替代。
A3、如A1或A2所述的方法,进一步包括:
将所述数据表的扩展字段中的数据导入分布式文件系统中;
在分布式任务运行系统中部署查询任务,由所述查询任务对导入分布式文件系统中的扩展字段数据进行查询。
A4、如A3所述的方法,其中,
所述分布式文件系统为Hadoop分布式文件系统HDFS;
所述分布式任务运行系统为MapReduce系统;
所述查询任务,利用Hive对导入分布式文件系统中的扩展字段数据进行查询。
A5、如A3所述的方法,进一步包括:
在分布式任务运行系统中为所述查询任务部署查询条件配置文件和查询模型;
由所述查询任务对导入分布式文件系统中的扩展字段数据进行查询包括:所述查询任务根据所述查询条件配置文件从分布式文件系统中的扩展字段数据中筛选出部分符合查询条件的数据作为训练数据输入到所述查询模型中,同时将当前的分类标签表输入到所述查询模型中;在查询模型训练完毕后,所述查询任务再利用训练后的查询模型从分布式文件系统中的扩展字段数据中查询出符合查询条件的结果数据。
A6、如A5所述的方法,进一步包括:
在所述分类标签表中,为各标签值增加时间戳,所述时间戳表示添加或修改标签值的时间点;
所述查询模型根据分类标签表中的时间戳感知标签值的变化。
本发明的实施例还公开了B7、一种数据表处理装置,包括:
数据表构建单元,适于构建数据表;其中,所述数据表中按行存储用户数据,一列对应一个字段,且所述数据表中包含扩展字段,扩展字段用于保存用户属性信息,所述用户属性信息用一个或多个键值对组成的字符串表示;
标签表处理单元,适于针对所述数据表的扩展字段建立分类标签表,在所述分类标签表中定义所述扩展字段中保存的各键值对分别对应的标签值;
数据表处理单元,适于在所述数据表的扩展字段中,保存用所定义的标签值表示的用户属性信息,以替换所述数据表的扩展字段中的一个或多个键值对。
B8、如B7所述的装置,其中,
所述数据表处理单元,适于在所述数据表的扩展字段中,直接保存组成表示用户属性信息的字符串的一个或多个键值对所对应的一个或多个标签值;或者,适于在所述数据表的扩展字段中,保存组成表示用户属性信息的字符串的一个或多个键值对,其中,各键值对中的值由对应的标签值替代。
B9、如B7或B8所述的装置,进一步包括:
查询处理单元,适于将所述数据表的扩展字段中的数据导入分布式文件系统中;以及适于在分布式任务运行系统中部署查询任务,由所述查询任务对导入分布式文件系统中的扩展字段数据进行查询。
B10、如B9所述的装置,其中,
所述分布式文件系统为Hadoop分布式文件系统HDFS;
所述分布式任务运行系统为MapReduce系统;
查询处理单元适于将所述查询任务配置为:所述查询任务利用Hive对导入分布式文件系统中的扩展字段数据进行查询。
B11、如B10所述的装置,其中,
所述查询处理单元,适于在分布式任务运行系统中为所述查询任务部署查询条件配置文件和查询模型;
以及,所述查询处理单元适于将所述查询任务配置为:所述查询任务根据所述查询条件配置文件从分布式文件系统中的扩展字段数据中筛选出部分符合查询条件的数据作为训练数据输入到所述查询模型中,同时将当前的分类标签表输入到所述查询模型中,在查询模型训练完毕后,所述查询任务再利用训练后的查询模型从分布式文件系统中的扩展字段数据中查询出符合查询条件的结果数据。
B12、如B11所述的装置,其中,
所述标签表处理单元,进一步适于在所述分类标签表中,为各标签值增加时间戳;其中,所述时间戳表示添加或修改标签值的时间点;
所述查询模型根据分类标签表中的时间戳感知标签值的变化。
Claims (10)
1.一种数据表处理方法,包括:
构建数据表,所述数据表中按行存储用户数据,一列对应一个字段,且所述数据表中包含扩展字段,扩展字段用于保存用户属性信息,所述用户属性信息用一个或多个键值对组成的字符串表示;
针对所述数据表的扩展字段建立分类标签表;
在所述分类标签表中定义所述扩展字段中保存的各键值对分别对应的标签值;
在所述数据表的扩展字段中,保存用所定义的标签值表示的用户属性信息,以替换所述数据表的扩展字段中的一个或多个键值对。
2.如权利要求1所述的方法,其中,在所述数据表的扩展字段中,保存用所定义的标签值表示的用户属性信息包括:
在所述数据表的扩展字段中,直接保存组成表示用户属性信息的字符串的一个或多个键值对所对应的一个或多个标签值;
或者,
在所述数据表的扩展字段中,保存组成表示用户属性信息的字符串的一个或多个键值对,其中,各键值对中的值由对应的标签值替代。
3.如权利要求1或2所述的方法,进一步包括:
将所述数据表的扩展字段中的数据导入分布式文件系统中;
在分布式任务运行系统中部署查询任务,由所述查询任务对导入分布式文件系统中的扩展字段数据进行查询。
4.如权利要求3所述的方法,其中,
所述分布式文件系统为Hadoop分布式文件系统HDFS;
所述分布式任务运行系统为MapReduce系统;
所述查询任务,利用Hive对导入分布式文件系统中的扩展字段数据进行查询。
5.如权利要求3所述的方法,进一步包括:
在分布式任务运行系统中为所述查询任务部署查询条件配置文件和查询模型;
由所述查询任务对导入分布式文件系统中的扩展字段数据进行查询包括:所述查询任务根据所述查询条件配置文件从分布式文件系统中的扩展字段数据中筛选出部分符合查询条件的数据作为训练数据输入到所述查询模型中,同时将当前的分类标签表输入到所述查询模型中;在查询模型训练完毕后,所述查询任务再利用训练后的查询模型从分布式文件系统中的扩展字段数据中查询出符合查询条件的结果数据。
6.如权利要求5所述的方法,进一步包括:
在所述分类标签表中,为各标签值增加时间戳,所述时间戳表示添加或修改标签值的时间点;
所述查询模型根据分类标签表中的时间戳感知标签值的变化。
7.一种数据表处理装置,包括:
数据表构建单元,适于构建数据表;其中,所述数据表中按行存储用户数据,一列对应一个字段,且所述数据表中包含扩展字段,扩展字段用于保存用户属性信息,所述用户属性信息用一个或多个键值对组成的字符串表示;
标签表处理单元,适于针对所述数据表的扩展字段建立分类标签表,在所述分类标签表中定义所述扩展字段中保存的各键值对分别对应的标签值;
数据表处理单元,适于在所述数据表的扩展字段中,保存用所定义的标签值表示的用户属性信息,以替换所述数据表的扩展字段中的一个或多个键值对。
8.如权利要求7所述的装置,其中,
所述数据表处理单元,适于在所述数据表的扩展字段中,直接保存组成表示用户属性信息的字符串的一个或多个键值对所对应的一个或多个标签值;或者,适于在所述数据表的扩展字段中,保存组成表示用户属性信息的字符串的一个或多个键值对,其中,各键值对中的值由对应的标签值替代。
9.如权利要求7或8所述的装置,进一步包括:
查询处理单元,适于将所述数据表的扩展字段中的数据导入分布式文件系统中;以及适于在分布式任务运行系统中部署查询任务,由所述查询任务对导入分布式文件系统中的扩展字段数据进行查询。
10.如权利要求9所述的装置,其中,
所述分布式文件系统为Hadoop分布式文件系统HDFS;
所述分布式任务运行系统为MapReduce系统;
查询处理单元适于将所述查询任务配置为:所述查询任务利用Hive对导入分布式文件系统中的扩展字段数据进行查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710408911.1A CN107301208A (zh) | 2017-06-02 | 2017-06-02 | 一种数据表处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710408911.1A CN107301208A (zh) | 2017-06-02 | 2017-06-02 | 一种数据表处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107301208A true CN107301208A (zh) | 2017-10-27 |
Family
ID=60134615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710408911.1A Pending CN107301208A (zh) | 2017-06-02 | 2017-06-02 | 一种数据表处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107301208A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019206302A1 (zh) * | 2018-04-27 | 2019-10-31 | 杭州海康威视数字技术股份有限公司 | 一种获取数据库类型的方法及装置 |
CN113297197A (zh) * | 2020-02-21 | 2021-08-24 | 北京沃东天骏信息技术有限公司 | 标签管理系统、标签操作方法以及数据表操作方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080126298A1 (en) * | 2006-11-23 | 2008-05-29 | Samsung Electronics Co., Ltd. | Apparatus and method for optimized index search |
CN101799808A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 一种数据处理方法及其系统 |
CN102609433A (zh) * | 2011-12-16 | 2012-07-25 | 北京大学 | 基于用户日志进行查询推荐的方法及系统 |
CN103729478A (zh) * | 2014-01-26 | 2014-04-16 | 重庆邮电大学 | 基于MapReduce的LBS兴趣点发现方法 |
CN104111936A (zh) * | 2013-04-18 | 2014-10-22 | 阿里巴巴集团控股有限公司 | 数据查询方法和系统 |
CN105912723A (zh) * | 2016-05-09 | 2016-08-31 | 统通信(苏州)有限公司 | 一种自定义字段的存储方法 |
CN106775696A (zh) * | 2016-12-08 | 2017-05-31 | 蓝信工场(北京)科技有限公司 | 数据处理方法及装置 |
-
2017
- 2017-06-02 CN CN201710408911.1A patent/CN107301208A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080126298A1 (en) * | 2006-11-23 | 2008-05-29 | Samsung Electronics Co., Ltd. | Apparatus and method for optimized index search |
CN101799808A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 一种数据处理方法及其系统 |
CN102609433A (zh) * | 2011-12-16 | 2012-07-25 | 北京大学 | 基于用户日志进行查询推荐的方法及系统 |
CN104111936A (zh) * | 2013-04-18 | 2014-10-22 | 阿里巴巴集团控股有限公司 | 数据查询方法和系统 |
CN103729478A (zh) * | 2014-01-26 | 2014-04-16 | 重庆邮电大学 | 基于MapReduce的LBS兴趣点发现方法 |
CN105912723A (zh) * | 2016-05-09 | 2016-08-31 | 统通信(苏州)有限公司 | 一种自定义字段的存储方法 |
CN106775696A (zh) * | 2016-12-08 | 2017-05-31 | 蓝信工场(北京)科技有限公司 | 数据处理方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019206302A1 (zh) * | 2018-04-27 | 2019-10-31 | 杭州海康威视数字技术股份有限公司 | 一种获取数据库类型的方法及装置 |
CN113297197A (zh) * | 2020-02-21 | 2021-08-24 | 北京沃东天骏信息技术有限公司 | 标签管理系统、标签操作方法以及数据表操作方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147437B (zh) | 一种基于知识图谱的搜索方法及装置 | |
US11068439B2 (en) | Unsupervised method for enriching RDF data sources from denormalized data | |
EP2565802B1 (en) | Data masking setup | |
Page | Towards a biodiversity knowledge graph | |
US11093461B2 (en) | Method for computing distinct values in analytical databases | |
CN103455589B (zh) | 产品工厂模式下的产品数据迁移方法、装置及系统 | |
Díaz-Millón et al. | Towards a definition of transcreation: a systematic literature review | |
US9406018B2 (en) | Systems and methods for semantic data integration | |
CN104462504A (zh) | 基于搜索中提供推理过程数据的方法和装置 | |
CN104462512A (zh) | 基于知识图谱的汉语信息搜索方法和装置 | |
US20110264703A1 (en) | Importing Tree Structure | |
CN107301208A (zh) | 一种数据表处理方法和装置 | |
US10108742B1 (en) | Apparatus and method for data redaction in a semi-structured document database | |
Kuć et al. | Elasticsearch Server | |
CN113239063A (zh) | 一种图数据库更新方法及装置 | |
Bardi et al. | Coping with interoperability and sustainability in cultural heritage aggregative data infrastructures | |
CN106933928B (zh) | 基于外部数据文件的任务存储方法及装置 | |
CN105426541B (zh) | 一种通用数据的存储方法和装置 | |
Vorndran et al. | Metadata Sharing–How to Transfer Metadata Information among Work Cluster Members | |
Kimura | A comparison of recorded authority data elements and the RDA framework in Chinese character cultures | |
KR101813540B1 (ko) | 인공지능을 활용한 방송통신융합 일자리 창출 시스템 | |
Tsvetovat et al. | NetIntel: A database for manipulation of rich social network data | |
CA2988688A1 (en) | Rdb system | |
CN114553954B (zh) | 信息推送方法、非易失性存储介质及电子设备 | |
Guerrini | Metadata: The Dimension of Cataloging in the Digital Age |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171027 |