hive 数据模型架构 简述hive数据模型_数据

Hive是一个数据仓库基础工具,它是建立在Hadoop之上的数据仓库,在某种程度上可以把它看做用户编程接口(API),本身也并不存储和处理数据,依赖于HDFS存储数据,依赖MR处理数据。它提供了一系列对数据进行提取、转换、加载的工具。依赖于HDFS存储数据,依赖MR处理数据。



hive 数据模型架构 简述hive数据模型_数据仓库_02

1


Q:Hive是什么?


A:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。本质是将HQL转换为MapReduce程序。




hive 数据模型架构 简述hive数据模型_数据_03

2


Q:Hive的设计目标是什么?


A:1、Hive的设计目标是使Hadoop上的数据操作与传统SQL相结合,让熟悉SQL编程开发人员能够轻松向Hadoop平台迁移

2、Hive提供类似SQL的查询语言HQL,HQL在底层被转换为相应的MapReduce操作

3、Hive在HDFS上构建数据仓库来存储结构化的数据,这些数据一般来源与HDFS上的原始数据,使用Hive可以对这些数据执行查询、分析等操作。




hive 数据模型架构 简述hive数据模型_数据仓库_04

3


Q:Hive的数据模型是怎样的?


A:Hive数据库

内部表

外部表

分区

Hive的视图

Hive在创建内部表时,会将数据移动到数据仓库指向的路径,若创建外部表,仅记录数据所在的路径,不对数据位置做任何改变,在删除表的时候,内部表的元数据和数据会被一起删除,外部表只会删除元数据,不删除数据。这样来说,外部表要比内部表安全,数据组织液更加灵活,方便共享源数据。




hive 数据模型架构 简述hive数据模型_数据仓库_05

4


Q:Hive都有哪些调用方式?


A1、Hive Shell

2、Thrift

3、JDBC

4、ODBC




hive 数据模型架构 简述hive数据模型_Hive_06

5


Q:Hive的运行机制是什么?


A:1、将sql转换成抽象语法树

2、将抽象语法树转化成查询块

3、将查询块转换成逻辑查询计划(操作符树)

4、将逻辑计划转换成物理计划(M\Rjobs)



hive 数据模型架构 简述hive数据模型_数据_07