大数据组件之初识Hive

现在在互联网行业,稍微和大数据研发或者数据分析工作沾边的,都会有听到Hive这个工具。那么Hive是什么呢,是什么情况出现了Hive这个工具,它用来处理什么样的问题,哪些是它不能处理的,本文打算从以上角度来简单介绍一下Hive。

Hive是什么

企业中,一般的大数据仓库都是基于关系型数据库来存储数据的。比如我们的日志数据,一般会通过消息队列导入给数据仓库同学,由其加工解析,建表,存储关键字段的信息。Hive就是提供用来利用SQL语句来查询存储在Hadoop分布式文件系统(HDFS)中的数据库中的大数据组件。

为什么会出现Hive

因为是大数据,由于数据量庞大,数据仓库的数据会存储在分布式文件系统HDFS中,这样,针对于HDFS中的数据,需要分布式的计算,这里主要指的是Hadoop的MapReduce计算模型,如果没有HIve,针对于数据的分析计算就得去编写一些MapReduce代码或者去调用Hadoop提供的MapReduce的API去完成。很显然,习惯于用SQL来分析数据的一些数据分析人员就一时无从下手。那么,如果能够将一些主要的查询分析的API抽象出来,上层通过SQL进行交互,那么是不是就可以方便一些习惯于SQL的数据分析人员能够快速的进行分析查询呢,由此,HIve应运而生。

Hive的特点

  1. 类似于SQL的语法,很接近MySQL。
  2. 面向数据仓库对数据进行查询分析,不支持行级别的增删改查,一般都是批量写入。
  3. 底层依赖于Hadoop批处理,主要是MapReduce的计算模型,不能实时响应查询结果,会有延迟。
  4. 不支持事务

Hive和Hadoop的关系

首先,简要说明一下Hadoop,这个是一个基于大数据海量存储与计算的模型,核心模块包括分布式计算模型MapReduce和分布式文件系统HDFS。主要思想是将大数据量的计算分割成一个个的计算单元,然后在各个低廉成本的计算机节点上执行,最后将结算结果输出。那么Hive是面向大数据的查询分析工具,其底层的计算实现也是依赖于MapReduce的API的,数据也都是存储在HDFS上面的。如果没有Hive,那么对于数据的分析计算,就得需要自己来调用MapReduce的API来完成,这样,原来基于SQL的数据分析师就需要有更多的学习成本,或者说依赖于一些专业的Java开发人员来实现这些查询分析工作。Hive通过将一些常用的MapReduce的API进行封装,向上提供一个可以基于SQL进行分析的工具,这样,数据分析人员还可以用原有的SQL知识进行操作,这也是Hive出现的原因。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值