数据存取方法及装置制造方法及图纸

技术编号:24090928 阅读:28 留言:0更新日期:2020-05-09 08:02
本发明专利技术提供了一种数据存取方法及装置,该方法包括:在Phoenix数据库建立需求表;需求表中包括主键和数据块参数;数据块参数用于确定需求表进行数据存取所使用的数据块个数;使用Spark计算引擎根据数据块获取待处理数据;确定待处理数据与需求表的映射关系,并根据映射关系将待处理数据写入需求表,以使查询模块根据主键查询所述Phoenix数据库。本发明专利技术通过Phoenix数据库和Spark计算引擎对Hbase数据库进行数据的写入与查询,提高了数据读取的效率。

Data access methods and devices

【技术实现步骤摘要】
数据存取方法及装置
本专利技术涉及数据处理
,尤其是涉及一种数据存取方法及装置。
技术介绍
目前,物联网大数据业务多使用Hbase数据库进行数据的存取。对于Hbase数据库,在数据写入Hbase这一方面,传统使用的MapReduce方法存在海量数据处理需要几个小时甚至一天等问题,写入效率低下;另外,在数据读取方面,一个简单的查询,需要写Map和reduce函数,复杂且耗费时间。
技术实现思路
本专利技术提供了一种数据存取方法及装置,可以提高数据存储与数据查询的效率。第一方面,本专利技术实施例提供了一种数据存取方法,该方法包括:在Phoenix数据库建立需求表;所述需求表中包括主键和数据块参数;所述数据块参数用于确定所述需求表进行数据存取所使用的数据块个数;使用Spark计算引擎根据所述数据块获取待处理数据;确定所述待处理数据与所述需求表的映射关系,并根据所述映射关系将所述待处理数据写入所述需求表,以使查询模块根据所述主键查询所述Phoenix数据库。第二方面,本专利技术实施例还提供一种数据存取装置,该装置包括:建立模块,用于在Phoenix数据库建立需求表;所述需求表中包括主键和数据块参数;所述数据块参数用于确定所述需求表进行数据存取所使用的数据块个数;获取模块,用于使用Spark计算引擎根据所述数据块获取待处理数据;写入模块,用于确定所述待处理数据与所述需求表的映射关系,并根据所述映射关系将所述待处理数据写入所述需求表,以使查询模块根据所述主键查询所述Phoenix数据库。第三方面,本专利技术实施例还提供一种计算机设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据存取方法。第四方面,本专利技术实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述数据存取方法。本专利技术实施例带来了以下有益效果:本专利技术实施例提供了一种数据存取方案,该方案首先在Phoenix数据库建立需求表,在建立需求表时确定主键和数据块参数,其中,数据块参数用于确定需求表进行数据存取所使用的数据块个数;之后,使用Spark计算引擎根据数据块获取待处理数据,需求表可以通过多个数据块并行进行数据存取,以提高存取效率,另外,还可以缓解写入压力,实现负载均衡;最后,确定待处理数据与需求表的映射关系,并根据该映射关系将待处理数据写入所述需求表,以使查询模块根据主键高效、灵活地查询Phoenix数据库。本专利技术实施例通过Phoenix数据库和Spark计算引擎对Hbase数据库进行数据的写入与查询,提高了数据读取的效率。本专利技术的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的数据存取方法流程图;图2为本专利技术实施例提供的数据块参数设置界面示意图;图3为本专利技术实施例提供的分布式文件系统上每分钟目录示意图;图4为本专利技术实施例提供的分布式文件系统上每分钟目录另一种示意图;图5为本专利技术实施例提供的经Spark处理后的DataFrame部分字段;图6为本专利技术实施例提供的Phoenix数据库中多个需求表的字段信息示意图;图7为本专利技术实施例提供的数据存取方法查询界面示意图;图8为本专利技术实施例提供的二级索引的字段配置参数设置界面示意图;图9为本专利技术实施例提供的一种数据存取装置结构框图;图10为本专利技术实施例提供的另一种数据存取装置结构框图;图11为本专利技术实施例提供的计算机设备结构框图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。目前,物联网大数据业务使用的Hbase数据库,存在JavaAPI或者语法难用,且Hbase不可做JDBC封装服务接口,前台不可调用传统的SQL查询接口直接查询;此外还存在建立二级索引困难,设计Rowkey和Region的预分区策略、均衡负载比较复杂。这将对数据的查询效率和写入效率造成很大的影响。此外,传统使用的MapReduce方法对数据的处理也不灵活,需要写Map和reduce函数进行查询。并且,MapReduce处理的数据源必须是静态的,不支持流计算。物联网DPI(DeepPacketInspection,深度报文检测)数据一直都在产生,需要寻求适配物联网大数据的存取技术实现实时写入并提供前台查询。基于以上问题,本专利技术实施例提供的一种数据存取方法及装置,通过构建基于Hbase之上的Phoenix,并结合Spark计算引擎,对数据进行写入与查询,可以提高数据的存取效率,提高数据写入及查询灵活性。为便于对本实施例进行理解,首先对本专利技术实施例所公开的一种数据存取方法进行详细介绍。本专利技术实施例提供了一种数据存取方法,参见图1所示的一种数据存取方法流程图,该方法包括以下步骤:步骤S102,在Phoenix数据库建立需求表。在本专利技术实施例中,Phoenix数据库基于Hbase数据库之上,是一个具备OLTP(On-LineTransactionProcessing,联机事务处理过程)和业务数据分析能力的引擎,为用户提供操作HBase的SQL接口,Phoenix整合JDBC(JavaDatabaseConnectivity,Java数据库连接)启动服务端口,可以使用标准的JDBCAPI(ApplicationProgrammingInterface,应用程序接口)代替HBase客户端API来创建表、插入数据和查询HBase数据,有JDBC封装即可实现服务接口查询。在Phoenix数据库建立符合业务需求的表;建表语句可参考传统数据库Mysql/Oracle。建表语句中通过PRIMARYKEY可以确定表主键,即确定了Hbase的Rowkey。主键中包括一个或多个字段,该一个或多个字段可以预先根据业务需求确定。数据块个数即为底层数据块Region的存储个数,通过数据块参数可以确定数据块的个数。例如,参见图2所示的数据块参数设置界面示意图,在建表时使用加盐表(SaltedTab本文档来自技高网...

【技术保护点】
1.一种数据存取方法,其特征在于,包括:/n在Phoenix数据库建立需求表;所述需求表中包括主键和数据块参数;所述数据块参数用于确定所述需求表进行数据存取所使用的数据块个数;/n使用Spark计算引擎根据所述数据块获取待处理数据;/n确定所述待处理数据与所述需求表的映射关系,并根据所述映射关系将所述待处理数据写入所述需求表,以使查询模块根据所述主键查询所述Phoenix数据库。/n

【技术特征摘要】
1.一种数据存取方法,其特征在于,包括:
在Phoenix数据库建立需求表;所述需求表中包括主键和数据块参数;所述数据块参数用于确定所述需求表进行数据存取所使用的数据块个数;
使用Spark计算引擎根据所述数据块获取待处理数据;
确定所述待处理数据与所述需求表的映射关系,并根据所述映射关系将所述待处理数据写入所述需求表,以使查询模块根据所述主键查询所述Phoenix数据库。


2.根据权利要求1所述的数据存取方法,其特征在于,使用Spark计算引擎根据所述数据块获取待处理数据,包括:
使用Spark计算引擎在多个所述数据块按照预设时长获取DPI数据;
根据所述DPI数据确定分布式数据集;所述分布式数据集中包括的字段及所述字段的顺序与所述需求表中一致;
将所述分布式数据集作为待处理数据。


3.根据权利要求1或2所述的数据存取方法,其特征在于,还包括:
在所述Phoenix数据库设置代码段,以根据所述代码段配置二级索引建立环境;
在所述二级索引建立环境中生成目标语句,以根据所述目标语句建立二级索引;所述二级索引包括与所述主键不同的字段组合;
根据所述二级索引查询所述Phoenix数据库。


4.根据权利要求3所述的数据存取方法,其特征在于,还包括:
更改所述目标语句中的字段配置参数,以得到不同的二级索引。


5.一种数据存取装置,其特征在于,包括:
建立模块,用于在Phoenix数据库建立需求表;所述需求表中包括主键和数据块参数;所述数据块参数用于确定所述需求表进行数据存取所使用的数据块个数;...

【专利技术属性】
技术研发人员:刘志康
申请(专利权)人:中盈优创资讯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1