一种Hadoop平台下的数据处理方法和系统技术方案

技术编号:13075184 阅读:67 留言:0更新日期:2016-03-30 10:48
本申请提供了一种Hadoop平台下的数据处理方法,属于数据处理领域,包括:获取Hadoop平台存量数据的Hive表结构信息,将待存储数据的结构信息与所述Hive表结构信息进行比较,获得数据结构变化信息;根据获得的所述数据结构变化信息和获取的所述存量数据的Hive表结构信息,更新Hive表结构;按照更新后的Hive表结构格式化所述待存储数据,并存储格式化后的所述待存储数据。采用本申请公开的方法,有效地保证了存储数据的数据结构的兼容性,在需要对归档存储的数据进行分析和查询时,不需要对数据格式进行统计和转换,不仅节省了计算资源,还可以快速反馈分析、查询结果,提高数据查询和分析效率。

【技术实现步骤摘要】

本申请涉及数据处理领域,特别是涉及一种Hadoop平台下的数据处理方法和系统
技术介绍
随着计算机技术的发展,需要存储和处理的数据越来越多,并且,不同时期、不同终端或业务产生的数据的结构也可能不同。例如,在利用Hadoop集群进行数据管理时,业务系统的历史数据需要在归档系统中归档保存,现有技术中,来自业务系统的海量数据需要采用Hive表进行存储,便于数据的管理、查询。然而,由于业务需求的变化等原因,业务系统的某些表难免会发生表结构变化,进而使得各个期间归档源数据的数据格式不匹配。在利用Hive表进行数据存储、管理等数据归档操作的同时,必须要考虑数据结构变化导致归档数据文件与Hive表结构模式之间的匹配问题,既要确保归档数据的高效方便使用,又要确保历史存储的归档数据能以历史任一时点的数据结构进行分析。现有技术中通常的做法是,归档数据按照自身格式进行存储,当需要对归档的数据进行分析时,获取所有归档数据的数据结构,根据获取的所有的数据结构,确定一通用数据结构,并根据通用数据结构,修改历史归档数据,之后,再以确定的通用数据结构对所有数据进行分析。现有技术中的做法存在的缺陷是:在需要进行归档数据查询、分析时,要对已经归档的数据进行格式统计和转换,计算量非常大,结果反馈不及时。
技术实现思路
本申请所要解决的技术问题是提供一种Hadoop平台下的数据处理的方法和系统,解决数据归档数据查询和分析时计算量大、结果反馈不及时。为了解决上述问题,本申请提供了一种Hadoop平台下的数据处理方法,包括:获取Hadoop平台存量数据的Hive表结构信息,将待存储数据的结构信息与所述Hive表结构信息进行比较,获得数据结构变化信息;根据获得的所述数据结构变化信息和获取的所述存量数据的Hive表结构信息,更新Hive表结构;按照更新后的Hive表结构格式化所述待存储数据,并存储格式化后的所述待存储数据。所述数据结构变化信息包括:无变化,或者:新增列、删除列、列位置调整任意一个或多个标识的组合。在本申请的一个实施例中,所述根据获得的所述数据结构变化信息和获取的所述存量数据的Hive表结构信息,更新Hive表结构,包括:当所述数据结构变化信息为无变化时,更新后的Hive表结构与获取的所述存量数据的Hive表结构相同;当所述数据结构变化信息包括删除列时,更新后的Hive表结构与获取的所述存量数据的Hive表结构相同;当所述数据结构变化信息包括新增列时,在获取的所述存量数据的Hive表结构之后增加相应数据列,更新Hive表结构;当所述数据结构变化信息包括列位置调整时,更新后的Hive表结构与获取的所述存量数据的Hive表结构相同。进一步的,所述按照更新后的Hive表结构格式化所述待存储数据,包括:当所述数据结构变化信息包括删除列时,在待存储数据中增加相应数据列,并设置该列数据为空值;当所述数据结构变化信息包括新增列时,将所述待存储数据中的新增的数据列移动到其它数据列之后;当所述数据结构变化信息包括列位置调整时,按照Hive表各数据列的位置调整所述待存储数据的相应数据列的位置。在本申请的另一个实施例中,所述Hadoop平台下的数据处理方法还包括:确定数据查询指令中指定的时间点对应的已存储数据的Hive表结构;读取已经存储的数据,并根据确定的Hive表结构在已存储数据末尾增加空值数据列或删除多余数据列,得到查询数据。在本申请的又一实施例中,所述Hadoop平台下的数据处理方法还包括:按照更新后的Hive表结构,重新存储已存储数据。为了解决上述问题,本申请还公开了一种Hadoop平台下的数据处理系统,包括:数据结构提取模块,用于获取Hadoop平台存量数据的Hive表结构信息,将待存储数据的结构信息与所述Hive表结构信息进行比较,获得数据结构变化信息;Hive表更新模块,用于根据获得的所述数据结构变化信息和获取的所述存量数据的Hive表结构信息,更新Hive表结构;数据存储模块,用于按照所述更新后的Hive表结构格式化所述待存储数据,并存储格式化后的所述待存储数据。其中,所述数据结构变化信息包括:无变化,或者:新增列、删除列、列位置调整任意一个或多个标识的组合。所述Hive表更新模块进一步包括:删除列子模块,用于当判断所述数据结构变化信息包括删除列时,更新后的Hive表结构与获取的所述存量数据的Hive表结构相同;新增列子模块,用于当判断所述数据结构变化信息包括新增列时,在获取的所述存量数据的Hive表结构之后增加相应数据列,更新Hive表结构;列位置调整子模块,用于当判断所述数据结构变化信息包括列位置调整时,更新后的Hive表结构与获取的所述存量数据的结构相同;不变化子模块,用于当判断所述数据结构变化信息为无变化时,更新后的Hive表结构与获取的所述存量数据的Hive表结构相同。进一步的,所述数据存储模块进一步包括:数据列调整子模块,用于:当所述数据结构变化信息包括删除列时,在待存储数据中增加相应数据列,并设置该列数据为空值;当所述数据结构变化信息包括新增列时,将所述待存储数据中的新增的数据列移动到其它数据列之后;当所述数据结构变化信息包括列位置调整时,按照Hive表各数据列的位置调整所述待存储数据的相应数据列的位置。与现有技术相比,本申请具有以下优点:通过获取存量数据的结构信息,将待存储数据的结构信息与所述存量数据的结构信息进行比较,获得数据结构变化信息;并根据获得的所述数据结构变化信息和获取的所述存量数据的结构信息,更新Hive表的数据结构;然后,按照更新后的Hive表的数据结构存储所述待存储数据,有效地保证了存储数据的数据结构的兼容性,在需要对归档存储的数据进行分析和查询时,不需要对数据格式进行统计和转换,不仅节省了计算资源,还可以快速反馈分析、查询结果,提高数据查询和分析效率。【附图说明】图1是本申请实施例一的数据处理方法流程图;图2是本申请实施例三的数据处理方法流程图;图3是本申请实施例四的存量数据结构示意图;图4是本申请实施例四的待存储数据结构示意图;图5是本申请实施例四调整后的Hive表数据结构示意图;图6是本申请实施例五的数据处理系统的结构示意图。【具体实施方式】为使本申请的上述目当前第1页1 2 3 4 本文档来自技高网...

【技术保护点】
一种Hadoop平台下的数据处理方法,其特征在于,包括:获取Hadoop平台存量数据的Hive表结构信息,将待存储数据的结构信息与所述Hive表结构信息进行比较,获得数据结构变化信息;根据获得的所述数据结构变化信息和获取的所述存量数据的Hive表结构信息,更新Hive表结构;按照更新后的Hive表结构格式化所述待存储数据,并存储格式化后的所述待存储数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:朱大勇完献忠滕一勤
申请(专利权)人:北京先进数通信息技术股份公司
类型:发明
国别省市:北京;11

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

1