基于Hive的数据管理图形化界面的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
服务端组件和客户端组件。
1.1 服务端组件
(1)Driver组件:该组件包括Complier、Optimizer 和Executor,它的作用是将HQL(类SQL)语句进行解析、编译优化,生成执行计划,然后调用底层的MapReduce计算框架。
(2)Metastore组件:元数据服务组件,所谓元数据,指的是Hive数据库或者数据表的属性信息,包括表结构,表名以及字段名等等信息。Metastore这个组件用来管理Hive的元数据,Hive的元数据信息持久化在关系数据库里,目前最新版本Hive-0.12.0支持的关系数据库有Derby、Mysql。元数据对于Hive十分重要,因此Hive支持把Metastore服务独立出来,安1.2 客户端组件
(1)CLI:
用于操作
(2)Thrift
Thrift客户端,但是
立在Thrift
(3)WEBGUI
的方式访问
hwi组件(Hive web interface)服务。
2 平台设计的实现
图1[2][3] Hive系统框架图
的形式存在,由于Hadoop 不支持对文件数据的随机修改,因此对于Hive 表数据的添加只能以整个文件的形式上传,不支持对Hive 表数据单条数据的插入,数据的删除同样不支持对单条数据记录的删除。Hive 表的原数据包含的是数据表的属性,数据表是否是外部表,所谓外部表,就是修改的内容仅限于元数据,存储的位置,列名,列的类型,数据间隔等等。数据表的操作,包含清空,创建,删除,更改。
(2) 数据的展示,数据展示所需要的是Hadoop 集群上的数据,如果文件中数据需要正确展示,那么它数据的格式必须得匹配数据表的元数据,否则数据无法正确显示,例如,当文件中数据间隔以“\t”为间隔,而元数据设置数据表的格式以“\u0001”为间隔,在客户端就不能显示正确的数据。数据显示一次性显示100条数据,随着滚动条下拉,每次增量显示200条数据。数(4)TProtocol,定义数据格式协议,包含二进制编码协议TBinaryProtocol 和高效率的、密集的二进制编码格式进行数据传输TCompactProtocol 。(5)TTransports,定义数据传输方式,包含阻塞式I/O 进行传输TSocket 和非阻塞方式TFramed Transport,底层只有一个服务,所以传输方式选择的事阻塞式I/O。
图2 基于Hive操作的图形化平台系统架构
图3 Thrift的整体架构