初识HIVE

Hive是构建在hadoop之上的数据仓库。不是用来增删改查的那种数据库,那是数据库。

  1)数据计算是MapReduce

  2)数据存储是HDFS 

 

 

认识 Hive

       Hive 是基于 Hadoop 构建的一套数据仓库分析系统,它提供了丰富的 SQL 查询方式来分析存储在 Hadoop  分布式文件系统中的数据, 可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运行,通过自己的 SQL 去 查询分析需要的内容,这套 SQL 简称 Hive SQL,使不熟悉 MapReduce 的用户很方便地利用 SQL 语言查询、汇总、分析。核心仍然是mapreduce作业

初识HIVE

 

 

Hive常见的应用场景

  1、日志分析

      1)统计网站一个时间段内的pv、uv

      2)从不同维度进行数据分析

  2、海量结构化数据离线分析

 

 

Hive的优点

  1、简单容易入手

  2、它是为超大数据集而设计的计算和扩展能力

  3、提供统一的元数据管理

 

 

Hive的缺点

  1、Hive的HQL的表达能力有限

      1)迭代式算法无法表达,比如pagerank。

      2)数据挖掘方面,比如kmeans。

  2、Hive的效率比较低

      1)hive自动生成的MapReduce作业,通常情况下不够智能化。

      2)hive调优比较困难

      3)hive可控性比较差

 

 

 

Hive的基本框架

  初识HIVE

 

  初识HIVE

  初识HIVE

 

 

 

 

Hive的组成部分

  1、用户接口

       CLI、JDBC/ODBC、WebUI

  2、元数据存储(MetaStore)

       默认derby数据库,真实环境一般使用mysql数据库

  3、驱动器(Driver)

       解释器、编译器、优化器、执行器

  4、hadoop分布式集群

      利用MapReducer分布式计算,利用HDFS分布式存储

 

 

 

Hive工作原理

  初识HIVE

  MapReduce 开发人员可以把自己写的 Mapper 和 Reducer 作为插件支持 Hive 做更复杂的数据分析。 它与关系型数据库的 SQL 略有不同,但支持了绝大多数的语句(如 DDL、DML)以及常见的聚合函数、连接查询、条件查询等操作。

  Hive 不适合用于联机(online) 事务处理,也不提供实时查询功能。它最适合应用在基于大量不可变数据的批处理作业。Hive 的特点是可 伸缩(在Hadoop 的集群上动态的添加设备),可扩展、容错、输入格式的松散耦合。Hive 的入口是DRIVER ,执行的 SQL 语句首先提交到 DRIVER 驱动,然后调用 COMPILER 解释驱动, 最终解释成 MapReduce 任务执行,最后将结果返回。



作者:大数据躺过的坑
出处:http://www.cnblogs.com/zlslch/