[发明专利]一种基于hive的历史数据存档与查询方法在审
申请号: | 201410321111.2 | 申请日: | 2014-07-07 |
公开(公告)号: | CN104102701A | 公开(公告)日: | 2014-10-15 |
发明(设计)人: | 卢军佐;曹连超;辛国茂;亓开元;赵仁明;房体盈 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 王丹;李丹 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hive 历史数据 存档 查询 方法 | ||
技术领域
本发明涉及计算机存储技术领域,具体涉一种基于hive的历史数据存档与查询方法。
背景技术
大数据(big data),或称巨量资料,指的是所涉及的资料规模巨大到无法透过目前主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯。近年大数据技术在互联网上的应用逐渐成熟,在不知不觉中已开始改变我们的生活。同时大数据技术的应用范围也开始向其它行业扩充,当然这也带来新的技术问题。
Hadoop Distributed File System(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在C++,Java,Python,PHP,Ruby,Erlang,Perl,Haskell,C#,Cocoa,JavaScript,Node.js,Smalltalk,and OCaml这些编程语言间无缝结合的、高效的服务。
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。并且它仍然利用HDFS文件系统作为底层文件存储系统,这就保证了存储系统的稳定性和易扩展性。
随着金融、电信、能源等传统产业在运营、管理过程中产生的数据量逐年增多,这些数据的大小超出了典型数据库软件工具收集、存储、管理和分析的能力,大数据技术在传统产业中的应用也提到了日程。特别是金融行业亟需一种高效、安全的方法存储他们日益增加的交易和管理数据。
发明内容
为了解决上述技术问题,本发明提出一种基于hive的历史数据存档与查询方法,包括:
1)建立hive表,并在hive表中建立分区;
2)使用ETL工具从其它数据库中导出源数据,将源数据作为文件中的记录保存在文件中,即从其他数据库中导出的一条源数据对应于文件中的一条记录;
3)对文件中的记录进行验证;
4)通过验证后,将文件中的记录导入临时表,再将临时表中的数据插入有分区结构的hive表;
5)基于Thrift接口从hive表中查询历史数据。
特别地,所述步骤2)还包括:文件中的记录的每列采用‘|+|’进行分隔,记录的每行之间采用‘|-|’标记结尾,并跟上回车符;上述‘|+|’称为分隔符,‘|-|’称为分行符。
特别地,所述步骤3)中所述验证过程具体为:根据步骤1)中建立的hive表的列数信息统计文件中记录的列数信息是否正确,并且验证所述分隔符和分行符是否无误。
特别地,所述步骤4)中所述将临时表中的数据插入有分区结构的hive表之前还包括去除所述分行符的步骤。
特别地,所述步骤4)中所述将临时表中的数据插入有分区结构的hive表包括:使用java调用shell脚本,在脚本中采用add jar语句将更改后的hive jar包导入hive中。
特别地,所述步骤5)中基于Thrift接口执行历史数据查询,具体为:客户端将查询请求翻译成thrift格式的命令,通过hive server2连接方式将所述thrift格式的命令发送到服务器,所述服务器将所述thrift格式的命令翻译成服务器可以识别的命令格式并执行,返回查询数据。
本发明提出的方法,能够向其它软件提供接口,并完成定制化历史数据导入和数据查询的功能。
附图说明
图1为本发明提出的一种基于hive的历史数据存档与查询方法流程图。
图2为本发明提出的hive server2运行原理示意图。
具体实施方式
下面参照附图1,描述实现本发明一个实施例提出的方法,步骤如下:
(一)数据导入存储方法
包含如下三个步骤:(1)建立hive表;(2)检验ETL导出数据的正确性;(3)数据导入。本技术大部分的功能使用脚本语言实现,整体代码有着方便、简洁的特点。
1)建立hive表
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410321111.2/2.html,转载请声明来源钻瓜专利网。