大数据组件之初识Hive

不念不忘少年蓝@ 2022-01-13 10:17 272阅读 0赞

现在在互联网行业,稍微和大数据研发或者数据分析工作沾边的,都会有听到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 条评论,272人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Hive

    一、Hive简介 1. **Facebook为了解决海量日志数据的分析而开发了Hive,后来开源给了Apache软件基金会。** 2. Hive是一种用类SQL语...

    相关 vue-02-组件

    组件化是 mvvm 开发的核心思想,主要是在于将复杂页面拆分称为一个个可复用的小组件,若是存在多个页面需要用到这个小组件,那么只需要传递不同的数据进去,然后在小组件内部处理数据

    相关 数据

    1.大数据的类型结构? 四种。 ①结构化数据。包括预定义的数据类型、格式和结构的数据。例关系型数据库中的数据。 ②半结构化数据。具有可识别的模式并可解析的文本数据文件。

    相关 数据组件Hive

    现在在互联网行业,稍微和大数据研发或者数据分析工作沾边的,都会有听到Hive这个工具。那么Hive是什么呢,是什么情况出现了Hive这个工具,它用来处理什么样的问题,哪些是它不