Hive的定义:
Hive是建立在 Hadoop 上的数据仓库基础构架。
提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。
Hive的特点:
Hive 不适合那些需要低延迟的应用,例如,联机事务处理(OLTP),设计模式遵循联机分析处理(OLAP)
Hive 不提供实时查询和基于行级的数据更新操作
Hive 的最佳使用场合是大数据集的批处理作业
Hive提供了一套类SQL的语言(HiveQL or HQL),用于执行查询,类SQL 的查询方式,将SQL 查询转换为MapReduce 的job 在Hadoop集群上执行
Hive 的数据存储在Hadoop 兼容的文件系统中(例如,Amazon S3、HDFS)
Hive 不支持对数据的改写和添加,所有的数据都是在加载的时候确定的
hive数据加载过程采用“读时模式”,传统的关系型数据库在进行数据加载时,必须验证数据格式是否符合表字段定义,如果不符合,数据将无法插入至数据库表中,即采用“写时模式”。
Hive的架构(五部分):
用户接口(User Interface)主要有三个:Web UI 、command line和HiveHD Insight(在Windows服务器);
元数据:Hive 将元数据metadata存储在数据库中,如 mysql、derby。元数据包含:表的信息、databases信息、表的列信息、字段类型信息和HDFS mapping(映射);