CN109977160A - 数据操作方法、装置、设备和存储介质 - Google Patents

数据操作方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN109977160A
CN109977160A CN201910246230.9A CN201910246230A CN109977160A CN 109977160 A CN109977160 A CN 109977160A CN 201910246230 A CN201910246230 A CN 201910246230A CN 109977160 A CN109977160 A CN 109977160A
Authority
CN
China
Prior art keywords
data
spark
record
data manipulation
hbase
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
Application number
CN201910246230.9A
Other languages
English (en)
Inventor
王成龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Tunji Network Technology Co Ltd
Shanghai Zhongtongji Network Technology Co Ltd
Original Assignee
Shanghai Tunji Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Tunji Network Technology Co Ltd filed Critical Shanghai Tunji Network Technology Co Ltd
Priority to CN201910246230.9A priority Critical patent/CN109977160A/zh
Publication of CN109977160A publication Critical patent/CN109977160A/zh
Pending legal-status Critical Current

Links

Abstract

本发明涉及一种数据操作方法、装置、设备和存储介质。其中的方法包括:基于Spark读取HBase数据库中HBase表的数据,在Spark中接收到包含待查询的N条记录对应的N个RowKey字段的数据查询指令时,通过预先生成的基于Spark操作HBase数据库的API,可以直接对HBase数据库执行数据查询指令,查询到N条记录,查询到的每条记录都包含1个RowKey字段及对应的M个column字段。构建Java类,Java类的一个实例对象与一条记录对应,一个实例对象中的各属性分别与一条记录中的各column字段一一对应,将Java类的各实例对象自动转换成RDD对象,即得到查询结果。

Description

数据操作方法、装置、设备和存储介质
技术领域
本发明涉及数据处理技术领域,具体涉及一种数据操作方法、装置、设备和存储介质。
背景技术
随着信息技术的不断发展,人类已经进入大数据时代,大数据处理成为重要的信息来源。Spark是专为大规模数据处理而设计的快速通用的计算引擎,HBase数据库是一个分布式的、面向列的开源数据库,专为大数据的存储而生,两者一直以来都是大数据处理的理想合作者,但直接使用Spark提供的API或HBase提供的API对HBase数据库中的数据进行操作都较为繁琐,插入和读取操作过程中,每一个字段就需要一行代码对应,也就是说如果HBase表的字段有几百个,那么就需要重复写几百行对应的代码,如果HBase表的字段成千上万,就相应地需要大量的代码,使开发难度大,程序维护较为困难。
发明内容
有鉴于此,本发明的目的在于克服现有技术的不足,提供一种数据操作方法、装置、设备和存储介质,简化代码,降低开发难度,使程序便于维护。
为实现以上目的,本发明采用如下技术方案:
一种数据操作方法,包括:基于Spark,接收第一数据操作指令;所述第一数据操作指令为针对HBase数据库中HBase表的数据查询指令;所述数据查询指令中包含待查询的N条记录对应的N个RowKey字段;
通过预先生成的基于所述Spark操作所述HBase数据库的API,对所述HBase数据库执行所述第一数据操作指令,查询到N条记录;查询到的每条记录包含一个RowKey字段及对应的M个column字段;
构建Java类;Java类的一个实例对象与一条记录对应;一个实例对象中的各属性分别与一条记录中的各column字段一一对应;
将Java类的各实例对象转换成RDD对象,得到查询结果。
可选的,构建的Java类继承自预先构建的抽象父类,所述抽象父类包括RowKey和构造RowKey的方法。
可选的,一个实例对象中的各属性的属性名与一条记录的各column的名称相同。
可选的,一个实例对象中的各属性的属性名与一条记录的各column的名称不同,所述的数据操作方法还包括:
为所述属性添加注解;所述注解指示所述属性对应的column。
可选的,还包括:在所述Spark中预先生成基于所述Spark操作所述HBase数据库的API。
可选的,所述在所述Spark中预先生成基于所述Spark操作所述HBase数据库的API,包括:
创建继承自HBaseContext的对象,所述继承自HBaseContext的对象中包含所述HBaseContext中操作所述HBase数据库的API;
为所述Spark的RDD注册隐式转换,使所述继承自HBaseContext的对象成为RDD的成员变量。
可选的,还包括:基于所述Spark,接收第二数据操作指令;所述第二数据操作指令为针对所述HBase数据库中HBase表的数据插入指令;所述数据插入指令中包含待插入的X条记录对应的Y个column字段;待插入的X条记录是以RDD格式存储的;
生成X条记录对应的X个Java类的实例对象;Java类的每个实例对象中包括一个RowKey字段;
调用从所述Java父类继承而来的构建rowKey方法,为RowKey字段赋值;
基于预先生成的基于所述Spark操作所述HBase数据库的API,将以RDD格式存储的X个Java类实例对象,转换成所述HBase表所需的对象类型,插入到所述HBase表中,完成RDD数据的一键插入。
一种数据操作装置,包括:
第一接收模块,用于基于Spark,接收第一数据操作指令;所述第一数据操作指令为针对HBase数据库中HBase表的数据查询指令;所述数据查询指令中包含待查询的N条记录对应的N个RowKey字段;
查询模块,用于通过预先生成的基于所述Spark操作所述HBase数据库的API,对所述HBase数据库执行所述第一数据操作指令,查询到N条记录;查询到的每条记录包含RowKey字段及对应的M个column字段;
第一构建模块,用于构建Java类;Java类的一个实例对象与一条记录对应;一个实例对象中的各属性分别与一条记录中的各column字段一一对应;
第一转换模块,用于将Java类的各实例对象转换成RDD对象,得到查询结果。
一种数据操作设备,包括:
处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序;
所述处理器用于调用并执行所述存储器中的所述计算机程序,以执行所述的方法。
一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现所述的方法中各个步骤。
本发明提供的技术方案可以包括以下有益效果:
本发明的方案中,基于Spark读取HBase数据库中HBase表的数据,在Spark中接收到包含待查询的N条记录对应的N个RowKey字段的数据查询指令时,通过预先生成的基于Spark操作HBase数据库的API,可以直接对HBase数据库执行数据查询指令,查询到N条记录,查询到的每条记录都包含1个RowKey字段及对应的M个column字段。如果采用上述相关技术中的方案,读取查询到的N条记录需要N*M条代码,效率非常低。而本发明的方案中,基于查询结果,构建了Java类,Java类的一个实例对象与一条记录对应,一个实例对象中的各属性分别与一条记录中的各column字段一一对应,如此,查询到的记录通过反射赋值给Java类,就将HBase表格式的数据转换成了Java类格式的数据,读取查询到的N条记录时,只需要读取N条记录对应的Java类的实例对象,基于Java类的实例对象的调用的特性,只需要一行代码就可以完成读取,与上述相关技术中采用N*M条代码相比,极大减少了代码数量,提高了数据读写的效率,然后将读取的Java类的各实例对象自动转换成RDD对象,即得到查询结果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种数据操作方法的流程图。
图2是本发明另一个实施例提供的一种数据操作方法中的数据插入方法的流程图。
图3是本发明另一个实施例提供的一种数据操作装置的结构图。
图4是本发明另一个实施例提供的一种数据操作设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
实施例
参见图1,图1是本发明一个实施例提供的一种数据操作方法的流程图。
如图1所示,本实施例提供的方法具体可以包括如下步骤:
S110、基于Spark,接收第一数据操作指令;第一数据操作指令为针对HBase数据库中HBase表的数据查询指令;数据查询指令中包含待查询的N条记录对应的N个RowKey字段;
HBase表在创建时,预先设计好RowKey和构建RowKey的规则,每一个RowKey字段对应着HBase表中的一行记录,作为该行记录的标识。在对表中的记录进行查询的时候,一般有两种方式,一种是通过get()方法指定RowKey字段获取唯一对应的一条记录,另一种是通过scan()方法设置诸如startRow和endRow的参数规定RowKey的范围进行匹配查找,所以只需在Spark中输入包含RowKey字段的数据查询指令,即可发起数据查询过程。
S120、通过预先生成的基于Spark操作HBase数据库的API(ApplicationProgramming Interface,应用程序编程接口),对HBase数据库执行第一数据操作指令,查询到N条记录;查询到的每条记录包含RowKey字段及对应的M个column字段;
S130、构建Java类;Java类的一个实例对象与一条记录对应;一个实例对象中的各属性分别与一条记录中的各column字段一一对应;
S140、将Java类的各实例对象转换成RDD(Resilient Distributed Datasets,弹性分布式数据集)对象,得到查询结果。
基于Spark读取HBase数据库中HBase表的数据,在Spark中接收到包含待查询的N条记录对应的N个RowKey字段的数据查询指令时,通过预先生成的基于Spark操作HBase数据库的API,可以直接对HBase数据库执行数据查询指令,查询到N条记录,查询到的每条记录都包含1个RowKey字段及对应的M个column字段。如果采用上述相关技术中的方案,读取查询到的N条记录需要N*M条代码,效率非常低。而本发明的方案中,基于查询结果,构建了Java类,Java类的一个实例对象与一条记录对应,一个实例对象中的各属性分别与一条记录中的各column字段一一对应,如此,查询到的记录通过反射赋值给Java类,就将HBase表格式的数据转换成了Java类格式的数据,读取查询到的N条记录时,只需要读取N条记录对应的Java类的实例对象,基于Java类的实例对象的调用的特性,只需要一行代码就可以完成读取,与上述相关技术中采用N*M条代码相比,极大减少了代码数量,提高了数据读写的效率,然后将读取的Java类的各实例对象自动转换成RDD对象,即得到查询结果,如此,就实现了通过上述API将赋值后的Java类的实例对象转换成RDD中的成员变量,即完成了从HBase数据库中查询数据并读取到Spark当中的过程。
Spark和HBase数据库提供给Spark的原始API使用比较复杂,为了简化使用,可以预先对这个原始API进行包装,基于此,本发明实施例提供的方法还可以包括:在Spark中预先生成基于Spark操作HBase数据库的API。
由于Spark的编程语言一般为Scala,Scala具有隐式转换的能力,通过隐式转换能够将某一个类转换成一个具有目标方法的类同时获得该目标方法。HBaseContext是HBase提供的具有操作HBase能力的一个类,可以提供我们需要的直接操作HBase的方法;RDD弹性分布式数据集是一个数据存储单元,可以看做是Spark的对象。因此,在Spark中预先生成基于Spark操作HBase数据库的API,具体的一种实现方式可以是:创建继承自HBaseContext的对象,继承自HBaseContext的对象中包含HBaseContext中操作HBase数据库的API;为Spark的RDD注册隐式转换,使继承自HBaseContext的对象成为RDD的成员变量。由于HBaseContext具有操作HBase的能力,通过继承得到的API也就具有了操作HBase的能力,并通过隐式转换使RDD具备了直接操作HBase的能力。
一般,Java类的实例对象对应有相应的父类。基于此,本发明实施例的方案还可以包括预先构建Java抽象父类,相应的,这个抽象父类中包括RowKey和构造RowKey的方法,新建的Java类继承自这个抽象父类,也就继承了父类中声明的“RowKey”这个成员变量和构造RowKey的方法。在构建Java类与HBase表的映射的时候,在类头添加注解,注解的内容是该Java类对应的HBase表的名称。构建Java类的过程中,可以将待查询的记录的column名也就是列名作为构建的Java实例对象的各属性的属性名,如此,实现简单,也可以自定义各属性的属性名,实现灵活,这时,一个实例对象中的各属性的属性名可以与一条记录的各column的名称不同,则需要为属性添加注解,该注解指示属性对应的column,注解的内容为与该属性对应的列族和列名信息,实现Java类与HBase表的绑定关系,每个Java的实例对象都对应着HBase表中的一行记录。根据数据查询指令查找到待查询的记录时,会通过反射根据column字段对应的列名和上述绑定关系,查找对应类中各属性的注解信息,并将查询到的记录中的值赋值为属性值。
一般对HBase数据库的数据操作除了数据查询之外,还包括数据插入,下面基于以上数据查询的实现方案,进一步介绍数据插入的方案。
参见图2,图2是本发明另一个实施例提供的一种数据操作方法中的数据插入方法的流程图。
如图2所示,本实施例提供的数据操作方法还可以包括如下步骤:
S210、基于所述Spark,接收第二数据操作指令;所述第二数据操作指令为针对所述HBase数据库中HBase表的数据插入指令;所述数据插入指令中包含待插入的X条记录对应的Y个column字段;待插入的X条记录是以RDD格式存储的;
与数据查询过程类似的,在Spark中输入包含Y个column字段的数据插入指令,即可发起数据插入过程。待插入的X条记录是RDD对象的格式。
S220、生成X条记录对应的X个Java类的实例对象;Java类的每个实例对象中包括一个RowKey字段;
将待插入的X条记录转换成为Java对象,Y个column字段成为X个Java对象的成员变量,同时对应生成X个空的RowKey字段,此时Java对象依然是RDD格式,且实现与HBase表的关系绑定,
S230、调用从所述Java父类继承而来的构建rowKey方法,为RowKey字段赋值;
根据构建RowKey的方法为X个空的RowKey字段赋值,根据RowKey的值可以快速在HBase表中找到待插入数据的X条记录的位置。
S240、基于预先生成的基于所述Spark操作所述HBase数据库的API,将以RDD格式存储的X个Java类实例对象,转换成所述HBase表所需的对象类型,插入到所述HBase表中,完成RDD数据的一键插入。
基于Spark对HBase表插入数据,在Spark中接收到包含待插入的X条记录对应的Y个column字段的数据插入指令时,生成X条记录对应的X个Java类的实例对象,调用从所述Java父类继承而来的构建rowKey方法,为RowKey字段赋值;通过预先生成的基于Spark操作HBase数据库的API,可以直接对HBase数据库执行数据插入指令,首先根据生成的X个RowKey字段查询到待插入的X条记录在HBase表中的位置,查询到的每条记录都包含1个RowKey字段及对应的M个column字段。如果采用上述相关技术中的方案,插入X条记录需要Y条代码,效率非常低。而本发明的方案中,基于查询结果,构建了Java类,Java类的一个实例对象与一条记录对应,一个实例对象中的各属性分别与一条记录中的各column字段一一对应,如此,将待插入的Y个column字段值赋值给Java类,然后利用反射将Java类的值赋值给查询到的HBase表中的记录,就将Java类格式的数据转换成了HBase表格式的数据,插入X条记录时,只需要插入X条记录对应的Java类的实例对象,基于Java类的实例对象的调用的特性,只需要一行代码就可以完成插入,与上述相关技术中采用Y条代码相比,极大减少了代码数量,提高了数据读写的效率。
参见图3,图3是本发明另一个实施例提供的一种数据操作装置的结构图。
如图3所示,本实施例提供的一种数据操作装置具体可以包括:
第一接收模块310,用于基于Spark,接收第一数据操作指令;第一数据操作指令为针对HBase数据库中HBase表的数据查询指令;数据查询指令中包含待查询的N条记录对应的N个RowKey字段;
查询模块320,用于通过预先生成的基于Spark操作HBase数据库的API,对HBase数据库执行第一数据操作指令,查询到N条记录;查询到的每条记录包含一个RowKey字段及对应的M个column字段;
第一构建模块330,用于构建Java类;Java类的一个实例对象与一条记录对应;一个实例对象中的各属性分别与一条记录中的各column字段一一对应;
第一转换模块340,用于将Java类的各实例对象转换成RDD对象,得到查询结果。
本发明实施例提供的数据操作装置的具体实施方案可以参考以上任意实施例的数据操作方法的实施方式,产生相同的有益效果,此处不再赘述。
可选的,构建的Java类继承自预先构建的抽象父类,抽象父类包括RowKey和构造RowKey的方法。
可选的,一个实例对象中的各属性的属性名与一条记录的各column的名称相同。
可选的,一个实例对象中的各属性的属性名与一条记录的各column的名称不同,本发明实施例的数据操作装置还可以包括添加注解模块;
添加注解模块,用于为属性添加注解;注解指示属性对应的column。
可选的,本发明实施例的数据操作装置,还可以包括API生成模块;
API生成模块,用于在Spark中预先生成基于Spark操作HBase数据库的API。
可选的,API生成模块,具体用于:
创建继承自HBaseContext的对象,继承自HBaseContext的对象中包含HBaseContext中操作HBase数据库的API;
为Spark的RDD注册隐式转换,使继承自HBaseContext的对象成为RDD的成员变量。
可选的,本发明实施例的数据操作装置,还可以包括:
第二接收模块,用于基于所述Spark,接收第二数据操作指令;所述第二数据操作指令为针对所述HBase数据库中HBase表的数据插入指令;所述数据插入指令中包含待插入的X条记录对应的Y个column字段;待插入的X条记录是以RDD格式存储的;
第二构建模块,用于生成X条记录对应的X个Java类的实例对象;Java类的每个实例对象中包括一个RowKey字段;
赋值模块,用于调用从所述Java父类继承而来的构建rowKey方法,为RowKey字段赋值;
第二转换模块,用于基于预先生成的基于所述Spark操作所述HBase数据库的API,将以RDD格式存储的X个Java类实例对象,转换成所述HBase表所需的对象类型,插入到所述HBase表中,完成RDD数据的一键插入。
本发明实施例提供的数据操作装置的具体实施方案可以参考以上任意实施例的数据操作方法的实施方式,此处不再赘述。
参见图4,图4是本发明另一个实施例提供的一种数据操作设备的结构示意图。
如图4所示,本发明实施例提供的一种数据操作设备,包括:
处理器410,以及与处理器410相连接的存储器420;
存储器420用于存储计算机程序;
处理器410用于调用并执行存储器420中的计算机程序,以执行如以上任意实施例的方法。
本发明实施例提供的数据操作设备的具体实施方案可以参考以上任意实施例的数据操作方法的实施方式,此处不再赘述。
本发明另一个实施例提供一种存储介质,存储介质存储有计算机程序,计算机程序被处理器执行时,实现如以上任意实施例的方法中各个步骤。
本发明实施例提供的存储介质的具体实施方案可以参考以上任意实施例的数据操作方法的实施方式,此处不再赘述。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种数据操作方法,其特征在于,包括:
基于Spark,接收第一数据操作指令;所述第一数据操作指令为针对HBase数据库中HBase表的数据查询指令;所述数据查询指令中包含待查询的N条记录对应的N个RowKey字段;
通过预先生成的基于所述Spark操作所述HBase数据库的API,对所述HBase数据库执行所述第一数据操作指令,查询到N条记录;查询到的每条记录包含一个RowKey字段及对应的M个column字段;
构建Java类;Java类的一个实例对象与一条记录对应;一个实例对象中的各属性分别与一条记录中的各column字段一一对应;
将Java类的各实例对象转换成RDD对象,得到查询结果。
2.根据权利要求1所述的数据操作方法,其特征在于,构建的Java类继承自预先构建的抽象父类,所述抽象父类包括RowKey和构造RowKey的方法。
3.根据权利要求1所述的数据操作方法,其特征在于,一个实例对象中的各属性的属性名与一条记录的各column的名称相同。
4.根据权利要求1所述的数据操作方法,其特征在于,一个实例对象中的各属性的属性名与一条记录的各column的名称不同,所述的数据操作方法还包括:
为所述属性添加注解;所述注解指示所述属性对应的column。
5.根据权利要求1所述的数据操作方法,其特征在于,还包括:
在所述Spark中预先生成基于所述Spark操作所述HBase数据库的API。
6.根据权利要求5所述的数据操作方法,其特征在于,所述在所述Spark中预先生成基于所述Spark操作所述HBase数据库的API,包括:
创建继承自HBaseContext的对象,所述继承自HBaseContext的对象中包含所述HBaseContext中操作所述HBase数据库的API;
为所述Spark的RDD注册隐式转换,使所述继承自HBaseContext的对象成为RDD的成员变量。
7.根据权利要求2所述的数据操作方法,其特征在于,还包括:
基于所述Spark,接收第二数据操作指令;所述第二数据操作指令为针对所述HBase数据库中HBase表的数据插入指令;所述数据插入指令中包含待插入的X条记录对应的Y个column字段;待插入的X条记录是以RDD格式存储的;
生成X条记录对应的X个Java类的实例对象;Java类的每个实例对象中包括一个RowKey字段;
调用从所述Java父类继承而来的构建rowKey方法,为RowKey字段赋值;
基于预先生成的基于所述Spark操作所述HBase数据库的API,将以RDD格式存储的X个Java类实例对象,转换成所述HBase表所需的对象类型,插入到所述HBase表中,完成RDD数据的一键插入。
8.一种数据操作装置,其特征在于,包括:
第一接收模块,用于基于Spark,接收第一数据操作指令;所述第一数据操作指令为针对HBase数据库中HBase表的数据查询指令;所述数据查询指令中包含待查询的N条记录对应的N个RowKey字段;
查询模块,用于通过预先生成的基于所述Spark操作所述HBase数据库的API,对所述HBase数据库执行所述第一数据操作指令,查询到N条记录;查询到的每条记录包含RowKey字段及对应的M个column字段;
第一构建模块,用于构建Java类;Java类的一个实例对象与一条记录对应;一个实例对象中的各属性分别与一条记录中的各column字段一一对应;
第一转换模块,用于将Java类的各实例对象转换成RDD对象,得到查询结果。
9.一种数据操作设备,其特征在于,包括:
处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序;
所述处理器用于调用并执行所述存储器中的所述计算机程序,以执行如权利要求1-7任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-7任一项所述的方法中各个步骤。
CN201910246230.9A 2019-03-28 2019-03-28 数据操作方法、装置、设备和存储介质 Pending CN109977160A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910246230.9A CN109977160A (zh) 2019-03-28 2019-03-28 数据操作方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910246230.9A CN109977160A (zh) 2019-03-28 2019-03-28 数据操作方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN109977160A true CN109977160A (zh) 2019-07-05

Family

ID=67081432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910246230.9A Pending CN109977160A (zh) 2019-03-28 2019-03-28 数据操作方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN109977160A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111125156A (zh) * 2019-12-17 2020-05-08 网银在线(北京)科技有限公司 数据的查询方法、装置和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182484A (zh) * 2014-08-07 2014-12-03 北京京东尚科信息技术有限公司 一种实现HBase数据与Java域对象映射的方法和装置
CN104298598A (zh) * 2014-10-01 2015-01-21 东北大学 分布式环境下rdfs本体的调试方法
CN104573022A (zh) * 2015-01-12 2015-04-29 浪潮软件股份有限公司 一种HBase的数据查询方法及装置
CN109271365A (zh) * 2018-09-19 2019-01-25 浪潮软件股份有限公司 一种基于Spark内存技术对HBase数据库加速读写的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182484A (zh) * 2014-08-07 2014-12-03 北京京东尚科信息技术有限公司 一种实现HBase数据与Java域对象映射的方法和装置
CN104298598A (zh) * 2014-10-01 2015-01-21 东北大学 分布式环境下rdfs本体的调试方法
CN104573022A (zh) * 2015-01-12 2015-04-29 浪潮软件股份有限公司 一种HBase的数据查询方法及装置
CN109271365A (zh) * 2018-09-19 2019-01-25 浪潮软件股份有限公司 一种基于Spark内存技术对HBase数据库加速读写的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111125156A (zh) * 2019-12-17 2020-05-08 网银在线(北京)科技有限公司 数据的查询方法、装置和电子设备
CN111125156B (zh) * 2019-12-17 2023-09-26 网银在线(北京)科技有限公司 数据的查询方法、装置和电子设备

Similar Documents

Publication Publication Date Title
CN107391653B (zh) 一种分布式NewSQL数据库系统及图片数据储存方法
CN105574093B (zh) 一种在基于HDFS的spark-sql大数据处理系统上建立索引的方法
CN108304463A (zh) 一种用于数据库的数据管理方法及其数据库应用组件
JPH10505440A (ja) プログラミング言語−具体的データファイルのsqlベースの操作を可能にするコンピュータベースの情報アクセス方法および装置
CN110990402B (zh) 由行存储到列存储的格式转化方法、查询方法及装置
CN102467521A (zh) 一种易扩展的多级分类检索方法及系统
CN101840400A (zh) 一种多级分类检索方法及系统
US10585871B2 (en) Database engine for mobile devices
Bancilhon et al. Design of a backend processor for a data base machine
CN109977160A (zh) 数据操作方法、装置、设备和存储介质
JP5108252B2 (ja) インデクス更新方法及びそのシステム
CN101000621A (zh) 一种ims数据库互动式访问方法和工具
CN110020001A (zh) 字符串数据的存储、查询方法以及相应的设备
CN110019306A (zh) 一种基于xml格式文件的sql语句查找方法及系统
CN103294714A (zh) 索引字段的字段属性值的存储位置的确定方法以及装置
CN113821508B (zh) 一种数组索引的实现方法和系统
CN114817402A (zh) 分布式数据库于多region部署场景下的SQL执行优化方法
CN114461712A (zh) 一种多源异构数据源与图数据库导入导出的方法及装置
Khurana An introduction to temporal graph data management
CN107515867A (zh) 一种NoSQL数据库的数据存储、查询方法和装置以及一种rowKey全组合的生成方法和装置
CN106155878A (zh) 用于在数据库中创建供软件测试用的测试环境的方法和装置
KR101642072B1 (ko) 하이브리드스토리지장치 및 방법
CN113377721B (zh) 一种数据库中存储文件的文件表设计方法
CN112035554B (zh) 一种结构化数据版本管理方法与系统
CN109976799B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190705