欢迎投稿

今日深度:

hive 实践(二):hive基本原理,

hive 实践(二):hive基本原理,


Hive基本原理

       hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

       Hive将元数据存储在数据库(RDBMS)中,比如MySQL、Derby中。Hive有三种模式连接到数据,其方式是:单用户模式,多用户模式和远程服务模式。(也就是内嵌模式
、本地模式、远程模式)。


一、Hive体系结构:

Hive体系结构图:主要分为:用户接口、Thrift服务器、元数据存储、解析器、Hadoop



二、 Hive数据类型

Hive的存储是建立在Hadoop文件系统之上的,它本身没有专门的数据存储格式,其主要包括四类数据模型:
表(Table)
分区(Partition)
桶(Bucket)
外部表(External Table)



Hive的内置数据类型可以分为两大类:(1)、基础数据类型;(2)、复杂数据类型。其中,基础数据类型包括:TINYINT,SMALLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBLE,STRING,BINARY,TIMESTAMP,DECIMAL,CHAR,VARCHAR,DATE。


三、Hive的执行流程要点
操作符(Operator)是Hive的最小处理单位;
每个操作符处理代表HDFS操作或MR作业;
编译器把Hive SQL转换成一组操作符;
Hive通过ExecMapper和ExecReducer来执行MapReduce任务;
执行MapReduce时有两种模式:本地模式和分布式模式;

常见的Hive操作符(部分)如下:


四、 Hive的HQL操作

hive基本的运行操作其实和sql差不多,例如:

  1. select u.name, o.orderid from order o join user u on o.uid = u.uid;  
  2.   
  3. select dealid, count(distinct uid), count(distinct date) from order group by dealid;  

简单Hive表语句:
create table student
(
    name string,
    sex string,
    age int
);

www.htsjk.Com true http://www.htsjk.com/hive/31372.html NewsArticle hive 实践(二):hive基本原理, Hive基本原理        hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转...
相关文章
    暂无相关文章
评论暂时关闭