01-Hive简介

Hive是一个基于Hadoop的数据仓库工具,提供类SQL查询语言HQL,简化大数据处理。它适合离线分析和扩展性需求,但效率较低且不适用于实时查询。Hive与数据库的主要区别在于其为批处理设计,不支持事务处理,适用于大规模不可变数据的场景。其架构将HQL转换为MapReduce任务执行,允许用户自定义函数并具备良好的容错性。
摘要由CSDN通过智能技术生成

Hive简介

什么是hive

hive是一个构建在Hadoop上的数据仓库工具(框架),可以将结构化的数据文件映射成一张数据表,并可以使用类sql的方式来对这样的数据文件进行读,写以及管理(包括元数据)。这套HIVE SQL简称HQL。hive的执行引擎可以是MR。spark、tez。

如果执行引擎是MapReduce的话,hive会将Hql翻译成MR进行数据的计算。用户可以使用命令行工具或JDBC驱动程序来连接到hive。

为什么要使用hive

- 人员学习成本高
- 项目周期要求太短
- MapReduce实现复杂查询逻辑开发难度大

hive优缺点

hive优点

1.学习成本低
	提供了类SQL查询语言HQLC简单,容易上手),避免了直接写MopReduce(适合java语言不好的。sql熟练的人),减少开发人员的学习成本。
2.可扩展性好
	为超大数据集设计了计算/扩展能力(NR作为计算引擎,HDFS作为存储系统),Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。
3.适合做离线分析处理OLAP
	Hive的执行延迟比较高因此Hive常用于数据分析,对实时性要求不高的场合。
4.延展性好
	Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函致。
5.良好的容错性
	某个数据节点出现问题HQL仍可完成执行。
6.统计管理
	提供了统一的元数据管理

hive缺点

1. hive的HQL表达能力有限
	迭代式算法无法表达,比如PogeRankC网页排名)
	数据挖掘方面,比如kmeansKk均值聚类算法
2. hive的效率比较低
	hive自动生成的mapreduce作业,通常情况下不够智能化
	hive调优比较困难。粒度较粗

Hive的架构与工作原理

在这里插入图片描述

包含的全表查询,比如select * from table 不会生成MapRedcue任务
包含
的limit查询,比如select * from table limit 3 不会生成MapRedcue任务

hive和mysql的区别

1.Hive采用了类SQL的查询语言HQL,因此很容易将Hive理解为数据库。其实从结构上来看,Hive和数据库除了拥有类似的查询语言,再无类似之处。

2.数据库可以用在OLTP的应用中,但是Hive是为数据仓库而设计的,清楚这一点,有助于从应用角度理解Hive的特性。

3.Hive不适合用于联机事务处现(OLTP),也不提供实时查询功能。它最适合应用在基于大量不可变数据的批处理作业,Hive的特点是可伸缩(在Hodoop的集群上动态的添加设备),可扩展、容错、输入格式的松散耦合。Hive 的入口是DRTIVER,执行的SQL语句首先提交到DRTVER驱动,然后调COMPILER解释驱动,最终解释成MapReduce任务执行,最后将结果返回。

4.MapReduce开发人员可以把自己写的Mopper和Reducer作为插件支持Hive做更复杂的数据分析。它与关系型数据库的$QL略有不同,但支持了绝大多数的语句(如DDL、DML)以及常见的聚合函数、连接查询、条件查询等操作。

hive和数据库的比较如下表

在这里插入图片描述

Hive和mysql的比较

mysql用自己的存储存储引擎,hive使用的hdfs来存储。
mysql使用自己的执行引擎,而hive使用的是mapreduce来执行。
mysql使用环境几乎没有限制,hive是基于hadoop的。
mysql的低延迟,hive是高延迟。
mysql的handle的数据量较小,而hive的能handle数据量较大。
mysql的可扩展性较低,而hive的扩展性较高。
mysql的数据存储格式要求严格,而hive对数据格式不做严格要求。
mysql可以允许局部数据插入、更新、删除等,而hive不支持局部数据的操作。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值