【云计算】大数据之Hive详解
小标 2018-12-05 来源 : 阅读 772 评论 0

摘要:本文主要向大家介绍了【云计算】大数据之Hive详解,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

本文主要向大家介绍了【云计算】大数据之Hive详解,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。


1. Hive是什么


Hive是基于Hadoop的数据仓库解决方案。由于Hadoop本身在数据存储和计算方面有很好的可扩展性和高容错性,因此使用Hive构建的数据仓库也秉承了这些特性。


这是来自官方的解释。,大家可关注weixin公众号:大数据技术工程师 有更多大数据精彩内容等你来看,还有大数据学习资料免费领取哦,回复关键字即可。


简单来说,Hive就是在Hadoop上架了一层SQL接口,可以将SQL翻译成MapReduce去Hadoop上执行,这样就使得数据开发和分析人员很方便的使用SQL来完成海量数据的统计和分析,而不必使用编程语言开发MapReduce那么麻烦。


先上一张经典的Hive架构图:



Hive架构图


如图中所示,Hive通过给用户提供的一系列交互接口,接收到用户的指令(SQL),使用自己的Driver,结合元数据(MetaStore),将这些指令翻译成MapReduce,提交到Hadoop中执行,最后,将执行返回的结果输出到用户交互接口。


在使用过程中,至需要将Hive看做是一个数据库就行,本身Hive也具备了数据库的很多特性和功能。


2. Hive擅长什么


Hive可以使用HQL(Hive SQL)很方便的完成对海量数据的统计汇总,即席查询和分析,除了很多内置的函数,还支持开发人员使用其他编程语言和脚本语言来自定义函数。


但是,由于Hadoop本身是一个批处理,高延迟的计算框架,Hive使用Hadoop作为执行引擎,自然也就有了批处理,高延迟的特点,在数据量很小的时候,Hive执行也需要消耗较长时间来完成,这时候,就显示不出它与Oracle,Mysql等传统数据库的优势。


此外,Hive对事物的支持不够好,原因是HDFS本身就设计为一次写入,多次读取的分布式存储系统,因此,不能使用Hive来完成诸如DELETE、UPDATE等在线事务处理的需求。


因此,Hive擅长的是非实时的、离线的、对响应及时性要求不高的海量数据批量计算,即席查询,统计分析。


3. Hive的数据单元


Databases:数据库。概念等同于关系型数据库的Schema,不多解释; Tables:表。概念等同于关系型数据库的表,不多解释; Partitions:分区。概念类似于关系型数据库的表分区,没有那么多分区类型,只支持固定分区,将同一组数据存放至一个固定的分区中。 Buckets(orClusters):分桶。同一个分区内的数据还可以细分,将相同的KEY再划分至一个桶中,这个有点类似于HASH分区,只不过这里是HASH分桶,也有点类似子分区吧。

4. Hive的数据类型


既然是被当做数据库来使用,除了数据单元,Hive当然也得有一些列的数据类型。这里先简单描述下,后续章节会有详细的介绍。


4.1 原始数据类型


整型 TINYINT — 微整型,只占用1个字节,只能存储0-255的整数。 SMALLINT– 小整型,占用2个字节,存储范围–32768 到 32767。 INT– 整型,占用4个字节,存储范围-2147483648到2147483647。 BIGINT– 长整型,占用8个字节,存储范围-2^63到2^63-1。 布尔型 BOOLEAN — TRUE/FALSE 浮点型 FLOAT– 单精度浮点数。 DOUBLE– 双精度浮点数。 字符串型 STRING– 不设定长度。

4.2 复合数据类型


Structs:一组由任意数据类型组成的结构。比如,定义一个字段C的类型为STRUCT {a INT; b STRING},则可以使用a和C.b来获取其中的元素值; Maps:和Java中的Map没什么区别,就是存储K-V对的; Arrays:就是数组而已;

在这里我为大家介绍一个大数据的交流群,615997810 大家有兴趣的话可以加进来,每周每晚都有大数据基础与项目实战的课程更新,也可以和大家一起相互学习交流讨论,群里的这些我整理了一些,可以加群直接找群主免费领取哦、



          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程