hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析Facebook公司最早完成并开源了hive框架,可以将sql语句直接翻译成MapReduce程序。Hive是基于Hadoop的一个数据仓库工具,可以将结构化数据文件映射成一张表,并提供类似SQL的查询功能。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端。
今天的Hive就聊到这里啦,需要学习怎么安装Hive,麻烦大家自行百度了哈,小编与百度已达成长期合作,有问题请百度一下,如果百度不到的话,也可以加群跟大牛一起学习。哈哈,最后,祝大家工作顺利!
閱讀更多 大數據開發工程師 的文章