一种半结构化数据快速联合处理的方法及系统技术方案

技术编号:13797151 阅读:209 留言:0更新日期:2016-10-06 17:40
本发明专利技术公开了一种半结构化数据快速联合处理的方法及系统,其中,所述方法包括:从待处理数据中提取半结构化数据,将所述半结构化数据区分为用结构化数据+非结构化数据模式描述的数据;对用所述结构化数据+非结构化数据模式描述的数据采用MPP+HADOOP混合体系进行处理。

【技术实现步骤摘要】

本专利技术涉及数据处理技术,尤其涉及一种半结构化数据快速联合处理的方法及系统
技术介绍
本申请专利技术人在实现本申请实施例技术方案的过程中,至少发现相关技术中存在如下技术问题:大数据时代,数据呈现4V特点,即:容量大、种类多、大规模和有价值的信息少,尤其是种类比较多。众所周知,传统的RDMBS主要处理结构化数据,如目前的Oracle等数据库系统,但是其无法处理大数据时代的半结构、非结构化数据,如Twitter聊天记录,微博上的沟通信息等。对于非结构化的大数据,目前基本上采用Hadoop体系进行处理,如Hive、Hbase、HDFS等,而结构化数据基本上采用基于Share-Nothing的MPP新型数据库处理,目前技术比较成熟。而半结构化的大数据处理,目前基本上采用非结构化的数据处理技术,如Hadoop进行处理,主要的方法包括HDFS、Hive、Hbase以及MapReduce等,其中HDFS是大数据体系下的分布式文件系统,而Hive是类SQL技术的数据仓库系统,Hbase是非结构化的NoSQL数据库,MapReduce是大规模并行计算框架。对于Hadoop的体系结构而言,如图1所示,Hadoop的体系中,Hbase是大数据体系中处理半结构化数据、非结构化数据的核心系统之一。Hbase不同于一般的关系数据库,其不遵循ACID要求,而采用NoSQL技术,因此它是一个适合于非结构化数据存储的数据库;另一个不同的是Hbase基于列的而不是
基于行的模式。而且其只能表示很简单的键-数据的映射关系。目前处理非结构化、半结构化的NoSQL数据库不仅包括Hbase,还有目前比较成熟的MongoDB、Neo4j、MemcacheDB、CouchDB、Cassandra等等。现有技术存在的缺点为:目前的RDBMS以及MPP数据库技术无法处理半结构化数据,只能采用NoSQL数据库技术,如Hadoop体系下的Hbase等。但是,第一,半结构化数据在结构化方面依然存在较强的规律性,很多半结构化数据依然上可以理解为结构化数据+非结构化数据;第二,传统的RDBMS和MPP数据库,尤其MPP数据库在结构化数据处理、OLTP事务处理,以及查询类操作等方面具有极强的技术优势;第三,半结构化数据在具体操作中存在较多的查询、删除、修改等操作,而且具有反复数据修改等操作,这些是Hadoop下HDFS分布式文件系统和Hbase所不擅长的;第四,Hbase的基础是HDFS分布式文件系统,其主要优点是适合处理超大文件、一次写入多次读取、高可扩性,但是其问题是不适合低延迟数据访问、无法高效存储大量小文件、不支持多用户写入及任意修改文件;第五,Hbase系统的主要问题是其基于HDFS系统构建,HDFS的问题必然导致Hbase在速度、小文件、数据修改等方面存在问题。但是其优点是采用列存储、Key-Value等技术,适合非结构化数据的查询和处理。综上所述,目前的NoSQL技术,尤其Hadoop体系下的HDFS和Hbase在处理半结构数据方面存在较多的问题,其更加适合非结构化数据,尤其是大规模的非结构化数据。同时,MPP技术和系统更加适合处理结构化数据、尤其小规模的结构化数据,也就是说,采用现有技术,对于半结构数据方面的处理都不太适合的,存在比较多的问题。
技术实现思路
有鉴于此,本专利技术实施例希望提供一种半结构化数据快速联合处理的方法及系统,至少解决了现有技术存在的问题。本专利技术实施例的技术方案是这样实现的:本专利技术实施例的一种半结构化数据快速联合处理的方法,所述方法包括:从待处理数据中提取半结构化数据,将所述半结构化数据区分为用结构化数据+非结构化数据模式描述的数据;对用所述结构化数据+非结构化数据模式描述的数据采用MPP+HADOOP混合体系进行处理。上述方案中,对于写操作请求,所述将所述半结构化数据区分为用结构化数据+非结构化数据模式描述的数据,包括:启动数据处理引擎,所述数据处理引擎作为系统架构的中间层,用于对位于所述数据处理引擎上层应用系统的应用数据进行分析,并调用位于所述数据处理引擎下层的所述MPP+HADOOP混合体系进行数据处理;通过所述数据处理引擎对所述半结构化数据进行分拆,得到所述结构化数据和所述非结构化数据;相应的,所述对用所述结构化数据+非结构化数据模式描述的数据采用MPP+HADOOP混合体系进行处理,包括:所述数据处理引擎调用所述MPP+HADOOP混合体系中的MPP数据库接口,将所述结构化数据存储到MPP数据库中并交由MPP数据库单独处理所述结构化数据;所述数据处理引擎调用所述MPP+HADOOP混合体系中的HADOOP Hbase接口,将所述非结构化数据存储到Hbase数据库中并交由Hbase数据库单独处理所述非结构化数据。上述方案中,所述通过所述数据处理引擎对所述半结构化数据进行分拆,得到所述结构化数据和所述非结构化数据,包括:列出所述半结构化数据中所有的分拆行键,按照行标识符和列标识符创建得到的新的非结构化文件和结构化文件;对于所有需要分拆的行继续处理,将所有的分拆行中的所有列读出放到新的非结构化文件,并存放相关的元数据信息到元数据处理模块;将所有的其他行读出放到新的结构化文件,并存放相关的元数据信息到元
数据处理模块。上述方案中,对于读操作请求,所述方法还包括:所述数据处理引擎调用所述MPP+HADOOP混合体系中的MPP数据库接口,将所述结构化数据从MPP数据库中读取出来;所述数据处理引擎调用所述MPP+HADOOP混合体系中的HADOOP Hbase接口,将所述非结构化数据从Hbase数据库中读取出来;将所述结构化数据和所述非结构化数据组合还原为所述半结构化数据。上述方案中,所述将所述结构化数据和所述非结构化数据组合还原为所述半结构化数据,包括:读取Hbase中的非结构化数据;读取MPP中的结构化数据,并得到所有的行数;将结构化数据按照行标识符和列标识符全部存放到非结构化数据中,实现新的非结构化数据的封装。上述方案中,所述方法还包括:在执行所述分拆或所述组合之前,判断当前的数据库和表的类型,如果是非结构化数据则提示进行分拆处理;如果是半结构化数据,则提示需要从所述MPP数据库和所述Hbase数据库中进行数据分别读取以进行组合处理。本专利技术实施例的一种半结构化数据快速联合处理的系统,所述系统包括:数据处理引擎,用于从待处理数据中提取半结构化数据,将所述半结构化数据区分为用结构化数据+非结构化数据模式描述的数据;调用MPP+HADOOP系统层,使得能对用所述结构化数据+非结构化数据模式描述的数据采用MPP+HADOOP混合体系进行处理;上层应用系统层,用于为所述数据处理引擎提供所述待处理数据;MPP+HADOOP系统层,用于接受所述数据处理引擎的调度,对所述结构化数据+非结构化数据模式描述的数据采用MPP+HADOOP混合体系进行处理。上述方案中,所述数据处理引擎,进一步包括:写操作处理引擎,用于对于写操作请求的情况下,对所述半结构化数据进
行分拆,得到所述结构化数据和所述非结构化数据,并分别调用MPP数据库接口和HADOOP Hbase接口触发MPP操作处理模块和Hbase操作处理模块进行本文档来自技高网
...

【技术保护点】
一种半结构化数据快速联合处理的方法,其特征在于,所述方法包括:从待处理数据中提取半结构化数据,将所述半结构化数据区分为用结构化数据+非结构化数据模式描述的数据;对用所述结构化数据+非结构化数据模式描述的数据采用MPP+HADOOP混合体系进行处理。

【技术特征摘要】
1.一种半结构化数据快速联合处理的方法,其特征在于,所述方法包括:从待处理数据中提取半结构化数据,将所述半结构化数据区分为用结构化数据+非结构化数据模式描述的数据;对用所述结构化数据+非结构化数据模式描述的数据采用MPP+HADOOP混合体系进行处理。2.根据权利要求1所述的方法,其特征在于,对于写操作请求,所述将所述半结构化数据区分为用结构化数据+非结构化数据模式描述的数据,包括:启动数据处理引擎,所述数据处理引擎作为系统架构的中间层,用于对位于所述数据处理引擎上层应用系统的应用数据进行分析,并调用位于所述数据处理引擎下层的所述MPP+HADOOP混合体系进行数据处理;通过所述数据处理引擎对所述半结构化数据进行分拆,得到所述结构化数据和所述非结构化数据;相应的,所述对用所述结构化数据+非结构化数据模式描述的数据采用MPP+HADOOP混合体系进行处理,包括:所述数据处理引擎调用所述MPP+HADOOP混合体系中的MPP数据库接口,将所述结构化数据存储到MPP数据库中并交由MPP数据库单独处理所述结构化数据;所述数据处理引擎调用所述MPP+HADOOP混合体系中的HADOOP Hbase接口,将所述非结构化数据存储到Hbase数据库中并交由Hbase数据库单独处理所述非结构化数据。3.根据权利要求2所述的方法,其特征在于,所述通过所述数据处理引擎对所述半结构化数据进行分拆,得到所述结构化数据和所述非结构化数据,包括:列出所述半结构化数据中所有的分拆行键,按照行标识符和列标识符创建得到的新的非结构化文件和结构化文件;对于所有需要分拆的行继续处理,将所有的分拆行中的所有列读出放到新的非结构化文件,并存放相关的元数据信息到元数据处理模块;将所有的其他行读出放到新的结构化文件,并存放相关的元数据信息到元数据处理模块。4.根据权利要求2所述的方法,其特征在于,对于读操作请求,所述方法还包括:所述数据处理引擎调用所述MPP+HADOOP混合体系中的MPP数据库接口,将所述结构化数据从MPP数据库中读取出来;所述数据处理引擎调用所述MPP+HADOOP混合体系中的HADOOP Hbase接口,将所述非结构化数据从Hbase数据库中读取出来;将所述结构化数据和所述非结构化数据组合还原为所述半结构化数据。5.根据权利要求4所述的方法,其特征在于,所述将所述结构化数据和所述非结构化数据组合还原为所述半结构化数据,包括:读取Hbase中的非结构化数据;读取MPP中的结构化数据,并得到所有的行数;将结构化数据按照行标识符和列标识符全部存放到非结构化数据中,实现新的非结构化数据的封装。6.根据权利要求3或5所述的方法,其特征在于,所述方法还包括:在执行所述分拆或所述组合之前,判断当前的数据库和表的类型,如果是非结构化数据则提示进行分拆处理;如果是半结构化数据,则提示需要从所述MPP数据库和所述Hbase数据库中进行数据分别读取以进行组合处理。7.一种半结构化数据快速联合处理的系统,其特征在于,所述系统包括:数据处理引擎,用于从待处...

【专利技术属性】
技术研发人员:鲁瑞侯建卫付长冬
申请(专利权)人:中国移动通信集团山西有限公司
类型:发明
国别省市:山西;14

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

1