大数据开发:Hive基础知识点介绍

Hadoop生态下的各个组件,Hive的出现是为了解决海量日志数据分析而诞生,最初出自Facebook,后来归到了Apache旗下进行开源,本质上来说,Hive是一个帮助提升数据处理的工具。今天的大数据开发分享,我们来讲讲Hive的基础知识点。
 

大数据开发:Hive基础知识点介绍_第1张图片


Hive简介

根据官方文档的定义,Hive是一种用类SQL语句来协助读写、管理那些存储在分布式存储系统上大数据集的数据仓库软件。

Hive的特点

Hive最大的特点是通过类SQL来分析大数据,而避免了写MapReduce程序来分析数据,这样使得分析数据更容易。

而基于Hadoop生态,数据是存储在HDFS上的,Hive本身并不提供数据的存储功能。Hive是将数据映射成数据库和一张张的表,库和表的元数据信息一般存在关系型数据库上(比如MySQL)。

Hive基础架构

Hive的底层存储

Hive的数据是存储在HDFS上的。Hive中的库和表可以看作是对HDFS上数据做的一个映射。所以Hive必须是运行在一个Hadoop集群上的。

Hive语句的执行过程

Hive中的执行器,是将最终要执行的MapReduce程序放到YARN上以一系列Job的方式去执行。

Hive的执行过程,是需要系统平台协作的。Hive数据存储依赖于HDFS,HiveSQL的执行引擎依赖于MapReduce、Spark、Tez等分布式计算引擎,Hive作业的资源调度依赖于YARN、Mesos等大数据资源调度管理组件。

Hive的元数据存储

Hive的元数据保存在Hive的metastore数据中,里面记录着Hive数据库、表、分区和列的一些当前状态信息,通过收集这些状态信息,可以帮助我们更好地监控Hive数据库当前的状态,提前感知可能存在的问题;可以帮助基于成本代价的SQL 查询优化,做更为正确的自动优化操作。

另外,在Hive 3.0以后,可以在Hive的sys数据库中找到元数据表。

本质上来说,Hive依托于Hadoop大数据平台,其架构随着Hadoop版本的迭代和自身的发展也在不断地演变,但在Hadoop步入2.x版本、Hive步入1.x版本后,整体架构稳定,后续的迭代版本就没有太多重大的调整,更多的只是功能增强了。

例如,Hive 2.x引入的LLAP,Hive 3.x 在2.x的基础上加大了对LLAP和Tez的支持。

关于大数据开发,Hive基础知识点,以上就为大家做了简单的介绍了。在大数据学习当中,尤其是Hadoop生态的学习当中,Hive是必备的,也是相对门槛较低,比较好入手的一个组件。

你可能感兴趣的:(大数据,数据库,hive,数据仓库)