图2-1 HDFS图示
Namenode和Datanode被设计成可以在普通的商用机器上运行。这些机器一般运行着GNU/Linux操作系统(OS)。HDFS采用Java语言开发,因此任何支持Java的机器都可以部署Namenode或Datanode。由于采用了可移植性极强的Java语言,使得HDFS可以部署到多种类型的机器上。一个典型的部署场景是一台机器上只运行一个Namenode实例,而集群中的其它机器分别运行一个Datanode实例。这种架构并不排斥在一台机器上运行多个Datanode,只不过这样的情况比较少见。
集群中单一Namenode的结构大大简化了系统的架构。Namenode是所有HDFS元数据的仲裁者和管理者,这样,用户数据永远不会流过Namenode。
Hive简介
行业内对SQL和NOSQL的辩论过程中,陆续推出了集成了SQL语言引擎和MapReduce的大规模并行系统,Hive便是Facebook的开源项目,Hive 在Hadoop 之上提供了类似于SQL 的查询语言(HQL),使不熟悉map/reduce 的用户很方便的利用SQL 语言查询,汇总,分析数据。而map/reduce开发人员可以把自己写的mapper 和reducer 作为插件来支持Hive 做更复杂的数据分析。
 
图2-2 Hive设计框架图
    Hive是基于Hadoop开发的数据仓库封装,将结构化的数据文件映射成一张数据库表,并提供完整的SQL查询功能,以数据库的方式去管理HDFS,十分适合数据仓库的统计分析
开发语言的技术背景
Hadoop提供了一个API来运行MapReduce,并允许用除Java以外的语言来编写自己的map和reduce函数。Hadoop流使用Unix标准流作为Hadoop和程序之间的接口,所以可以使用任何语言,只要编写的MapReduce程序能够读取标准输入,并写入到标准输出。
本课题将使用Python语言来编写MapReduce程序。
Python的技术背景
Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。使用Python时,无需考虑如何管理程序使用的内存这类底层细节,是一门高层语言,具有可移植性,只要避免使用依赖于系统的特性,那么Python程序不需要进行修改就可以在任何平台上运行。
Python语言写的程序不需要编译成二进制代码。可以直接从源代码运行程序。在计算机内部,解释器把源代码转换成字节码的中间行驶,然后再把它翻译成计算机使用的机器语言并运行。事实上,不需要担心如何编译程序、如何确保连接转载正确的库等问题,这一切让使用Python变得更加简单。
Python即支持面向过程的编程也支持面向对象的编程。在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程,具有可扩展性:可以把你的部分程序用C或C++编写,然后在Python程序中使用它们;可嵌入性:把Python嵌入C/C++程序,从而向程序用户提供脚本功能;具有丰富的库:可以处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作
WxPython的技术背景
使用Python的GUI库——你需要使用这些库来用Python语言创建你自己的图形程序。使用GUI库和它们的Python绑定,可以创建IrfanView、Kuickshow软件或者任何别的类似的东西。能够使用Python语言编写程序,而使用的库本身是用C、C++或者别的语言编写的。有许多可供选择的使用Python的GUI,WxPython就是其中之一。其他的GUI有:PyQt、PyGTK、TkInter。
上一篇:ASP+access社区爱心网建设+流程图+ER图
下一篇:GTK+OpenSSL数字签名算法设计及实现

基于Apriori算法的电影推荐

基于PageRank算法的网络数据分析

基于神经网络的验证码识别算法

基于网络的通用试题库系...

python基于决策树算法的球赛预测

基于消费者个性特征的化...

基于网络的通用试题库系统的整体规划与设计

10万元能开儿童乐园吗,我...

医院财务风险因素分析及管理措施【2367字】

国内外图像分割技术研究现状

神经外科重症监护病房患...

中国学术生态细节考察《...

C#学校科研管理系统的设计

志愿者活动的调查问卷表

AT89C52单片机的超声波测距...

承德市事业单位档案管理...

公寓空调设计任务书