Hive究竟是什么?

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析Facebook公司最早完成并开源了hive框架,可以将sql语句直接翻译成MapReduce程序。Hive是基于Hadoop的一个数据仓库工具,可以将结构化数据文件映射成一张表,并提供类似SQL的查询功能。Hive相当于一个客户端。

1. Hive框架的作用:

Hive究竟是什么?

(1)可以让不懂java的数据分析人员使用hadoop进行数据分析;

(2)MapReduce开发非常繁琐复杂,使用hive可以提高效率。

(3)统一的元数据管理,可与impala/spark共享元数据。

2. Hive基础:

(1)使用HQL作为查询接口;使用MapReduce进行计算;数据存储在HDFS上;运行在Yarn上。

(2)Hive比较灵活和可扩展性,支持UDF和多种文件格式。

(3)Hive适合离线数据分析(批量处理、延时要求很大)。

2. SQL on Hadoop框架:

Hive是一种最常见、使用最为广泛的SQL on Hadoop框架。还包括几个其他常见的sql on hadoop框架:

1. Presto:

最早由Facebook开源,国内京东使用比较广泛。

2. Drill:

3. impala:

由Cloudera公司提供,基于内存的。hive是基于硬盘的。

4. Spark SQL:

3. Hive架构:

Hive究竟是什么?

Hive可以作为ETL工具(有一个常见的开源ETL工具,kettle)、报表工具 和数据分析工具。Hive可以访问HBase数据。Hive没有专门的数据存储格式。

Hive 体系结构

Hive究竟是什么?

(1)客户端:CLI:

Hive的使用场景中,99%的情况使用CLI,JDBC比较少用(因为Hive主要是用作离线分析的)。

(2)元数据MetaStore(企业一般使用MySQL;为了避免单点故障,搭建HA、主从结构): 存储数据库、表名、字段等。Spark、Impala也有自己的MetaStore,并且可以和Hive的MetaStore共享。

(3)驱动器Driver:

解析器、编译器、优化器、执行器。

(4)使用MapReduce计算

(5) 数据存储在HDFS上。

需要大数据学习资料的小伙伴可以加群:862879153,群内有免费的大数据实时交易监控系统,推荐系统理论,用户行为分析等等项目实战学习资料领取。

由于Hive只是一个客户端,在安装时,我们可以在Hadoop集群中,选择一台安装Hive。Hive没有集群的概念,但是可以搭建Server/Client端。

今天的Hive就聊到这里啦,需要学习怎么安装Hive,麻烦大家自行百度了哈,小编与百度已达成长期合作,有问题请百度一下,如果百度不到的话,也可以加群跟大牛一起学习。哈哈,最后,祝大家工作顺利!

Hive究竟是什么?


分享到:


相關文章: