hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce、Tez任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
Hive将元数据存储在数据库(RDBMS)中,比如MySQL、Derby中。Hive有三种模式连接到数据,其方式是:单用户模式,多用户模式和远程服务模式。(也就是内嵌模式、本地模式、远程模式)
Hive是什么
1、它是由FaceBook开源,最初用于解决海量结构化的日志数据统计问题,它可以作为ETL工具。
2、它是构建在Hadoop之上的数据仓库。
3、数据计算是MapReduce、Tez
4、数据存储时HDFS
5、它定义了一种类SQL的查询语言——HQL
6、它适合离线数据处理
7、它是将HQL转换为MR、Tez的语言翻译器。
8、HQL语言:简单易用的类SQL查询语言;编程模型:允许开发者自定义UDF、Trasform、Mapper、Reducer,来更简单地完成复杂MapReduce无法完成的工作
9、数据格式:处理Hadoop上任意数据格式的数据,或则使用优化的格式存储Hadoop上的数据,RCFile、ORCFile、Parquest
10、数据服务:HiveServer2,多种API访问Hadoop上的数据,JDBC、ODBC
11、元数据服务:数据什么样,数据在哪里,Hadoop上的唯一标准
Hive的常见应用场景
1、日志分析
2、统计网站一个时间段内的pv、uv
3、从不同维度进行数据分析
4、海量结构化数据离线分析
Hive的优点/缺点
1、优点
1、简单容易上手
2、它是为超大数据集而设计的计算和扩展能力
3、提供统一的元数据管理
2、缺点
Hive的HQL的表达能力有限
迭代式算法无法表达,比如PageRank;数据挖掘方面,比如K-means
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/9066.html