Hive最初是Facebook为了满足对海量社交网络数据的管理和机器学习的需求而产生和发展的。马云在退休的时候说互联网现在进入了大数据时代,大数据是现在互联网的趋势,而hadoop就是大数据时代里的核心技术,但是hadoop的mapreduce操作专业性太强,所以facebook在这些基础上开发了hive框架,毕竟世界上会sql的人比会java的人多的多,下面一篇文章带领大家去查看一下hive到底是什么。
1. 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可以作为ETL工具(有一个常见的开源ETL工具,kettle)、报表工具 和数据分析工具。Hive可以访问HBase数据。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端。
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2018 群英 版权所有 茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号-36 粤公网安备 44090202000006号 粤工商备P091701000595