Hive是一个数据仓库基础工具,它是建立在Hadoop之上的数据仓库,在某种程度上可以把它看做用户编程接口(API),本身也并不存储和处理数据,依赖于HDFS存储数据,依赖MR处理数据。它提供了一系列对数据进行提取、转换、加载的工具。依赖于HDFS存储数据,依赖MR处理数据。
1
Q:Hive是什么?
A:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。本质是将HQL转换为MapReduce程序。
Q:Hive的设计目标是什么?
A:1、Hive的设计目标是使Hadoop上的数据操作与传统SQL相结合,让熟悉SQL编程开发人员能够轻松向Hadoop平台迁移
2、Hive提供类似SQL的查询语言HQL,HQL在底层被转换为相应的MapReduce操作
3、Hive在HDFS上构建数据仓库来存储结构化的数据,这些数据一般来源与HDFS上的原始数据,使用Hive可以对这些数据执行查询、分析等操作。
Q:Hive的数据模型是怎样的?
A:Hive数据库
内部表
外部表
分区
桶
Hive的视图
Hive在创建内部表时,会将数据移动到数据仓库指向的路径,若创建外部表,仅记录数据所在的路径,不对数据位置做任何改变,在删除表的时候,内部表的元数据和数据会被一起删除,外部表只会删除元数据,不删除数据。这样来说,外部表要比内部表安全,数据组织液更加灵活,方便共享源数据。
Q:Hive都有哪些调用方式?
A:1、Hive Shell
2、Thrift
3、JDBC
4、ODBC
Q:Hive的运行机制是什么?
A:1、将sql转换成抽象语法树
2、将抽象语法树转化成查询块
3、将查询块转换成逻辑查询计划(操作符树)
4、将逻辑计划转换成物理计划(M\Rjobs)
福利
扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!
推荐阅读: