Hive基础知识

HIve出现的原因:解决SQL用户从一个现有的基于传统关系型数据库和结构化查询语言的基础架构转移到hadoop上,来通过HiveQL来查询存储在Hadoop集群上的数据。

Hive可以将大多数的查询转换为MapReduce任务(job),进而在介绍一个令人熟悉的SQL的同时,拓宽了Hadoop的可扩展性。

Hive不是一个完整的数据库。Hadoop以及HDFS的设计本身约束和局限性的限制了Hive所能胜任的工作,其中最大的限制就是Hive不支持记录级别的更新、插入或者删除操作。但是用于可以通过查询生成新表或者将查询结果导入文件中。

Hive的查询延时比较严重。这是由于Hadoop是一个面向批处理的系统,而MapReduce任务(Job)在启动过程中需要消耗较长的时间。

Hive不支持事务。

因此,Hive是最适合数据仓库应用程序的,其可以维护海量数据,而且可以对数据进行挖掘,然后形成意见或报告等。

Hive的组成:
CLI:shell
HWi:Hive的网页界面
Thrift Server:帮助开发用户使用JDBC|ODBC来访问Hive 
Driver:通过该模块对输入进行解析编译,对需求的计算进行优化,然后按照指定的步骤执行
Metastore:元数据存储,是一个独立的关系型数据库(通常是一个Mysql实例),Hive会将其中保存表模式和其他系统元数据。

Hive的交互方式:
Cli(命令行)、Hue(图形界面)、Qubole(图形界面)

发布了43 篇原创文章 · 获赞 1 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章