欢迎投稿

今日深度:

初识HIVE,

初识HIVE,


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

  1)数据计算是MapReduce

  2)数据存储是HDFS 

 

 

认识 Hive

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

 

 

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的组成部分

  1、用户接口

       CLI、JDBC/ODBC、WebUI

  2、元数据存储(MetaStore)

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

  3、驱动器(Driver)

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

  4、hadoop分布式集群

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

 

 

 

Hive工作原理

  

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

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



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


www.htsjk.Com true http://www.htsjk.com/hive/35472.html NewsArticle 初识HIVE, Hive 是构建在hadoop之上的数据仓库。 不是用来增删改查的那种数据库,那是数据库。 1) 数据计算是MapReduce 2) 数据存储是HDFS      认识 Hive         Hive 是基于 Hadoop 构建...
相关文章
    暂无相关文章
评论暂时关闭