hive学习(1)——hive简介

Hive的简介

Hive 是建立在 Hadoop  上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL ),这是一种可以存储、查询和分析存储在 Hadoop  中的大规模数据的机制。Hive 定义了简单的类 SQL  查询语言,称为 HQL ,它允许熟悉 SQL  的用户查询数据。同时,这个语言也允许熟悉 MapReduce  开发者的开发自定义的 mapper  和 reducer  来处理内建的 mapper 和 reducer  无法完成的复杂的分析工作。

hive是SQL解析引擎,它将SQL语句转译成M/R Job然后在Hadoop执行。HIve的表对应着是HDFS的目录,按表名把文件夹分开。如果是分区表,则分区值是子文件夹,可以直接在M/R Job里使用这些数据。Hive相当于hadoop的客户端工具,部署时不一定放在集群管理节点中,可以放在某个节点上。

Hive的数据存储基于Hadoop HDFS
Hive没有专门的数据存储格式
存储结构主要包括:数据库、文件、表、视图、索引
Hive默认可以直接加载文本文件(TextFile),还支持SequenceFile、RCFile 

创建表时,指定Hive数据的列分隔符与行分隔符,Hive即可解析数据。

        Hive的metastore

        metastore是hive元数据的集中存放地。默认存放在内嵌的derby数据库,内嵌的derby数据库只能为每个metastore打开一个会话,使用mysql存放hive的元数据,可允许多用户访问,比较受欢迎。

       读模式和写模式

      传统的数据库表的模式实在加载数据的时候强制确定的,如果加载数据时不符合数据模式,则拒绝加载,因为数据在写入数据时进行数据检查,因此称为“写模式”.

      Hive对数据的验证不是在加载数据的时候进行,而是在读取数据的时候进行,所以称为读模式。

      写模式有利于提升查询性能,因为数据库可以对列进行索引,并对是数据进行压缩,但是同时加载数据会消耗更多的时间。一般加载模式未知的情况下,因为查询不确定导致索引也不确定,采用写模式,效果更好。

      Hive的数据类型

      

   

你可能感兴趣的:(Hive)