直白的分析hive,小白也能够快速理解什么是hive

对于大数据的火爆程度,我们这里就不过多的的去分析。今天,我们主要来为大家分析一下hive是什么?其凭借什么成为大数据领域内必学的一个项目呢?也为何受到各个领域商家的关注呢?

其实想要理解hive很简单,简单的说:hive是基于hadoop的数据仓库。之所以说hive是构建在Hadoop之上的数据仓库,简单的说是因为:1、数据存储在hdfs上;2数据计算用mapreduce。

下面,我们就来具体解释一下什么是hive。Hive是一种建立在Hadoop文件系统上的数据仓库架构,并对存储在HDFS中的数据进行分析和管理;它可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运行,通过自己的 SQL 去查询分析需要的内容,这套 SQL 简称 Hive SQL(HQL),使不熟悉 MapReduce 的用户也能很方便地利用 SQL 语言对数据进行查询、汇总、分析。

同时,这个语言也允许熟悉 MapReduce 开发者们开发自定义的mappers和reducers来处理内建的mappers和reducers无法完成的复杂的分析工作。

Hive还允许用户编写自己定义的函数UDF,用来在查询中使用。Hive中有3种UDF:User Defined Functions(UDF)、User Defined Aggregation Functions(UDAF)、User Defined Table Generating Functions(UDTF)。也就是说对存储在HDFS中的数据进行分析和管理,我们不想使用手工,我们建立一个工具吧,那么这个工具就可以是hive。

那么关于Hive设计的目的是什么?你知道吗?其实hive就是让熟悉和精通SQL的人能够轻松的分析存储在HDFS上的海量数据。而hive的数据存储特点主要有以下三个:

(1)数据存储是基于hadoop的HDFS;

(2)没有专门的数据存储格式;

(3)存储结构主要有:数据库、文件(默认可以直接加载文本文件)、表、视图、索引;

对于hive的特点和优势主要有以下四个方面:

(1)使用成本:编写MapReduce很繁琐、效率低;

(2)人员成本:会SQL的肯定比会编程的人多,人多就相对便宜;

(3)数据规模:GB -> TB -> PB,传统数据仓库处理手段不堪重负;

(4)数据结构:除了适合结构化数据,Hive也比较适合半结构化数据或非结构化数据。

Hive的特点和优势有很多,但是关于hive的不足你了解多少呢?1、Hive只支持离线计算,延迟高、调优困难。Spark SQL或impala,微批处理来解决这些问题。延迟较小很多。2、HQL的表达能力依然有限,由于本身SQL的不足不支持迭代计算。比如Spark MLlib能解决(对于Hive)机器学习的需求 。

Hive如今在企业中扮演者越来越重要的角色,其功能和特点,正在为企业的快速发展提供巨大的助力。所以,对于求学者和从业者而言学懂hive至关重要,毕竟对接市场需求,才能够获取到更多的工作机会。

                                                                   本文转自:海牛学院

猜你喜欢

转载自blog.csdn.net/hainiubuluo/article/details/81240038