您的位置:首页 > 运维架构 > 网站架构

hive的功能架构

2017-01-18 20:24 162 查看



hive可以做什么?

hive本质上是Hadoop数据仓库工具。用于解决海量结构化的日志的数据统计。可以将结构化的数据文件映射成一张表,并提供SQL查询。

hive可以通过一种基于SQL的数据操纵语言来简化对mapreduce的访问。通过编写SQL语句,优化后自动生成mapreduce任务,并执行任务。

适合离线数据处理,因为hive的执行延迟比较高。

hive是构架在hadoop之上的数据仓库

一个hive表是一个逻辑概念,物理上由一些HDFS中的文件构成。表可以是内部的,hive在数据仓库里面以目录的形式组织它们,数据仓库的路径由hive.metastore.warehouse.dir属性控制,默认的是在HDFS系统上的/user/hive/warehouse。表也可以是外部的,此时hive并不管理它们。

表中的数据数据使用MapReduce来计算

表中的数据使用HQL作为查询接口。

优势

● 容易上手。

hive原本是Facebook的内部的项目,由它贡献出来,最终成为一个成熟的Apache的顶级项目。我觉得它现在流行的原因是,很大的成都要看到它语言的本质,就是SQL。DBA或者有过数据库开发经验的人,都可以很容易上手。

● 提高效率

在业务逻辑不是很强的情况下,可以不用八股文模版编写job任务。我在看《Hadoop 硬实战》中有个很好的例子,利用相同的时间,hive可以能够在很短的时间内写完并执行MapReduce任务,如果用java去做相同的功能,在相同的时间内,可能连java的main方法都没写完,显然提高了效率。

● 统一的元数据管理。

● 已扩展。

hive组织架构图(使用团队组织结构图模版画的)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: