基于MapReduce实现分析函数的方法及系统技术方案

技术编号:10184604 阅读:169 留言:0更新日期:2014-07-03 15:08
本发明专利技术公开了一种基于MapReduce实现分析函数的方法及系统,涉及数据库领域,用于解决现有技术中基于MapReduce框架的分布式数据仓库无法使用分析函数进行数据进行分析处理的问题。本发明专利技术提供的处理数据的方法包括:表扫描算子从文件块获取数据行,将所述数据行发送至映射算子;所述映射算子接收所述数据行,确定分析函数的归约键、分割键和排序键,通过MapReduce框架将所述数据行发送至分析算子;所述分析算子接收所述数据行,对所述数据行进行分析得到分析结果,并将所述数据行和分析结果转发至后继算子。本发明专利技术适用于基于MapReduce框架的数据仓库领域,用于实现分析函数。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种基于MapReduce实现分析函数的方法及系统,涉及数据库领域,用于解决现有技术中基于MapReduce框架的分布式数据仓库无法使用分析函数进行数据进行分析处理的问题。本专利技术提供的处理数据的方法包括:表扫描算子从文件块获取数据行,将所述数据行发送至映射算子;所述映射算子接收所述数据行,确定分析函数的归约键、分割键和排序键,通过MapReduce框架将所述数据行发送至分析算子;所述分析算子接收所述数据行,对所述数据行进行分析得到分析结果,并将所述数据行和分析结果转发至后继算子。本专利技术适用于基于MapReduce框架的数据仓库领域,用于实现分析函数。【专利说明】基于MapReduce实现分析函数的方法及系统
本专利技术涉及数据仓库领域,尤其涉及一种基于MapReduce实现分析函数的方法及系统。
技术介绍
数据仓库(Data Warehouse)是按照数据结构来组织、存储和管理数据的仓库。随着计算机的推广,数据仓库已经广泛的应用于工作和生活中。目前,随着互联网及信息技术的快速发展,数据仓库不仅仅是存储和管理数据,且具备了较强的分析数据的能力。常用的数据库,例如ORACLE、PostgreSQL等,均提供了多个分析函数,可以根据用户需求对数据进行分析,向用户提供分析结果。分析函数用于计算基于数据组的某种聚集值,与聚集函数不同,分析函数对数据组进行处理后返回多行数据,而聚集函数对数据组进行处理后返回一行数据。MapReduce是一种编程模型,用于大规模数据集的并行运算。在实现本专利技术的过程中,专利技术人发现目前基于MapReduce框架的分布式数据仓库(例如Hive数据仓库)无法进行实现分析函数进行数据处理,在数据库的使用过程中带来诸多不便。
技术实现思路
本专利技术的实施例提供一种基于MapReduce实现分析函数的方法及系统,能够解决基于MapReduce框架的分布式数据库无法实现分析函数进行数据处理的问题。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,本专利技术实施例提供了一种基于MapReduce实现分析函数的方法,所述方法包括:表扫描算子从文件块获取数据行,将所述数据行发送至映射算子;所述映射算子接收所述数据行,确定分析函数的归约键、分割键和排序键,通过MapReduce框架将所述数据行发送至分析算子,所述分析算子属于所述MapReduce框架的Reduce 端;所述分析算子接收所述数据行,对所述数据行进行分析得到分析结果,并将所述数据行和分析结果转发至后继算子。第二方面,本专利技术实施例还提供了一种基于MapReduce实现分析函数的系统,所述系统包括扫描算子、映射算子和分析算子,其中:所述扫描算子用于从文件块获取数据行,将所述数据行发送至映射算子;所述映射算子用于接收所述数据行,确定分析函数的归约键、分割键和排序键,通过MapReduce框架将所述数据行发送至分析算子,所述分析算子属于所述MapReduce框架的 Reduce 端;所述分析算子用于接收所述数据行,对所述数据行进行分析得到分析结果,并将所述数据行和分析结果转发至后继算子。本专利技术实施例提供的基于MapReduce实现分析函数的方法及系统,能够应用于基于MapReduce框架的分布式数据库(例如腾讯分布式数据仓库、Hive数据库等)以实现数据分析,增加基于MapReduce框架的分布式数据库的功能,从而使得用户在基于MapReduce框架的分布式数据库中进行数据分析。【专利附图】【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例一提供的基于MapReduce实现分析函数的方法的流程示意图;图2为本专利技术实施例二提供的基于MapReduce实现分析函数的方法的流程示意图;图3为本专利技术实施例二提供的分析算子缓冲区的结构示意图;图4为本专利技术实施例二提供的分析器缓冲区的结构示意图;图5、图6为本专利技术实施例三提供的基于MapReduce实现分析函数的系统的结构示意图;图7-图14为本专利技术实施例二提供的基于MapReduce实现分析函数的方法中针对窗口字句的8种模式示意图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一本专利技术实施例提供了一种基于MapReduce实现分析函数的方法,适用于基于MapReduce框架的分布式数据仓库进行数据分析,如图1所示,所述方法包括:101、表扫描算子(TableScanOperator)从文件块获取数据行,将所述数据行发送至映射算子。102、所述映射算子(ReduceSinkOperator)接收所述数据行,确定分析函数的归约键、分割键和排序键,通过MapReduce框架将所述数据行发送至分析算子,所述分析算子属于所述MapReduce框架的Reduce端。103、所述分析算子(AnalysisOperator)接收所述数据行,对所述数据行进行分析得到分析结果,并将所述数据行和分析结果转发至后继算子。其中,后继算子可以根据具体情况需要的操作进行确定,例如:聚合算子、过滤算子、或写文件算子等,但不仅限于此。本专利技术实施例提供的基于MapReduce实现分析函数的方法,能够应用于基于MapReduce框架的分布式数据仓库(例如腾讯分布式数据仓库、Hive数据仓库等)进行数据分析分析函数,增加基于MapReduce框架的分布式数据库的功能,从而使得在基于MapReduce框架的分布式数据库中使用分析函数进行数据分析。实施例二本专利技术实施例提供了一种基于MapReduce实现分析函数的方法,适用于基于MapReduce框架的分布式数据库进行数据分析,如图2所示,所述方法包括:201、表扫描算子从文件块获取数据行,将所述数据行发送至映射算子。值得说明的是,本实施例提供的方法可以预设多种不同的分析函数对数据进行分析,常用的分析函数包括 LAG、LEAD、RANK、DENSE_RANK、R0W_NUMBER、SUM、COUNT、AVG, MAX、MIN、RAT10_T0_REP0RT等。可选的,本实施例提供的方法可以根据用户需要添加新的分析函数。202、所述映射算子接收所述数据行,确定分析函数的归约键、分割键和排序键,通过MapReduce框架将所述数据行发送至分析算子,所述分析算子属于所述MapReduce框架的Reduce端。例如,所述映射算子可以通过如下方法确定分析函数的归约键、分割键和排序键,具体包括:(I)将所述分析函数的分区子句中的列以及排序子句中的列作为归约键;或者当所述分析函数没有排序子句但有distinct关键字时,以distinct列作为归约键;或者当分析函数不含分区子句、排序子句,也不含distinct关本文档来自技高网
...
基于MapReduce实现分析函数的方法及系统

【技术保护点】
一种基于MapReduce实现分析函数的方法,其特征在于,包括:表扫描算子从文件块获取数据行,将所述数据行发送至映射算子;所述映射算子接收所述数据行,确定分析函数的归约键、分割键和排序键,通过MapReduce框架将所述数据行发送至分析算子,所述分析算子属于所述MapReduce框架的Reduce端;所述分析算子接收所述数据行,对所述数据行进行分析得到分析结果,并将所述数据行和分析结果转发至后继算子。

【技术特征摘要】

【专利技术属性】
技术研发人员:张书彬田万鹏肖品鲍春健郭玮
申请(专利权)人:深圳市腾讯计算机系统有限公司
类型:发明
国别省市:广东;44

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

1