Hive面试题*精选*!附答案!!!

HIVE面试

一、Hive的基本概念

1.什么是hive

Hive是一款开源的基于hadoop的用于统计海量结构化数据的一个数据仓库,它定义了简单的类似SQL的查询语言,称为HQL,允许熟悉SQL的用户查询数据。

从本质上讲:Hive是讲HQL语句转换成MapReduce程序的的一个工具

2.什么是数据仓库

数据仓库是一个面向主题的,集成的,相对稳定的,反映历史变化的数据的集合,用于支持管理角色

3.简单说说MapReduce

MP是一个软件框架,基于该框架能够容易的编写应用程序,这些应用程序能够运行在大规模集群上,并以一种可靠的,具有容错能力的方式并行的处理上TB级别的海量数据集。

MR的思想就是“分而治之”,Mapper负责‘分’,即把复杂的任务分解为若干个‘简单的任务’来处理;Reduce负责对map阶段的结果进行汇总。

4Hive的作用

1.可以将结构化的数据文件映射成一张表,并提供类SQL查询功能,方便非java开发人员对hdfs上的数据做MapRedece操作;

2.可以对数据提取转化加载(ETL)

3.构建数据仓库

5.Hive的使用场景

1.即使查询:利用CLI或者类似HUE之类的工具,可以对Hive中的数据做即时查询,如果底层的引擎使用的MR耗时会很久,可以替换成Tez或者Spark;

2.离线的数据分析:通过执行定时调度或者脚本去执行HQL语句,并将结果保存

3.构建数仓时用于组织管理数据和表

6. Hive的特点

优点:

​ 1.可扩展性,横向扩展,Hive可以自由的扩展集群的规模,一般情况下不需要重启服务,横向扩展:通过分担压力的方式扩展集群的规模;纵向扩展:升级一台服务器的硬件

​ 2.延展性,Hive支持自定义函数,用户可以根据自己的需求来实现自己的函数

​ 3.良好的容错性,可以保障即使有节点出现问题,SQL语句仍可完成执行

缺点:

​ 1.Hive不支持记录级别的增删改操作,但是用户可以通过查询生成新表或者将查询结果导入到文件中

​ 2.Hive的查询延时很严重,因为MRJ的启动过程消耗很长时间,所以不能用在交互查询系统中

​ 3.Hive不支持事务,因为没有增删改,所以主要用来做OLAP(联机分析处理),而不是OLTP(联机事务处理),这就是出局处理的两大级别。

7.Hive和传统数据库比较

1.数据存储位置

​ hive存储在HDFS。数据库将数据保存在块设备或者本地文件系统中。

2.数据更新

​ hive中不建议对数据的改写,而数据库中的数据通常是需要经常进行修改的

3.执行延迟

​ hive执行延迟较高,数据的执行延迟较低。当然,这个是有条件的,即数据规模较小,当数据

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值