论文部分内容阅读
从20世纪40年代第一台计算机出现发展到现在,计算机的硬件、软件系统都取得了突飞猛进的进步。用于存储数据的计算机硬盘从1956年的5M到现在的动辙上TB的容量已极其平常。硬件的巨大发展,在很大程序上推动了整个行业乃至影响到其它相关行业的发展。因此处于大数据时代的各行业的大小企业怎么应对TB、PB级别的商业数据处理呢?答案是建立企业级的大数据处理平台。然而大数据处理对于普通程序员而言都不是一件简单的事情,因此,搭建一个面向企业普通管理者和数据分析人员的数据管理系统,是本文主要研究的内容。Hadoop从2005年发展至今,已吸引了许多关注大数据人士的眼球。作为开源的大数据处理平台技术的hadoop,是受美国谷歌公司发表的关于分布式处理技术文章的启发而诞生的。它功能强大,专为大数据处理挖掘而设计,具有良好的稳定性和可扩展性。更为吸引人的是,hadoop对机器硬件配置要求不高,一台普通配置的PC主机便能顺利流畅地运行hadoop平台。因此hadoop成为实现此web管理系统的不二选择。Hadoop的主要关键技术是hdfs文件系统、map/reduce编程模型。前者主要负责存储超大数据文件,是map/reduce程序运行的数据来源;而后者则是大数据处理分析的数学模型,通过编程实现map和reduce两个函数,在hadoop集群上遍历hdfs文件块,运行map/reduce任务而得到用户想要获取的数据信息。然而让一个普通的用户去完成相应的程序编写未免不太现实。为了让一般用户使用hadoop平台,封装map/reduce编程实现代码,因此本文使用了基于hadoop的数据仓库:hive这一工具。利用Hive的类SQL的HQL语句查询功能,用户可以进行对大数据集的简单逻辑查询。Hadoop集群主要运行在linux系统上,linux对于一般用户而言还是比较难亲近。为此本文开发了一个基于web的管理系统,用户只需要打开浏览器,输入管理系统网址,便能通过网页查看存储于hadoop集群上的hdfs文件块,也能通过指定查询参数、过滤条件而对hdfs文件系统上的数据进行分析处理,因此web服务器主机与hadoop主机的通信也是本文详细讨论的关键技术。由以上可知,要搭建一个基于hadoop的web管理系统,本文主要研究的两个方面是hadoop平台与web管理网站开发。Hadoop平台主要负责大数据文件的存储、大数据查询操作,而web管理网站提供用户操作查看的界面。用户通过web界面输入信息,web服务器主机取得用户的输入,通过socket的Tcp协议,向hadoop主机发送用户想要查看的数据参数,hadoop主机上运行的客户端程序通过tcp接收到查询请求后,按照通信协议解析查询指令,生成正确的HQL语句,hive执行HQL语句之后得到的查询结果通过socket被传送回web服务器主机,最后通过浏览器web网页显示出来呈现在用户的面前。以上就是本文主要研究的系统通信过程。