Hive 是什么?场景? vs RDBMS

1.Hive 是什么

是Facebook开源的,用于解决海量的结构化日志统计问题

Hive是构建在Hadoop之上的数据仓库,

HDFS:Hive的业务数据是存放在HDFS上的(元数据存放在关系型数据库,例如:MySQL)

YARN:Hive的作业是提交到YARN上面去运行的

MR    :Hive作业(SQL)是通过Hive的框架翻译成MR作业,MR只是一个计算引擎,现在还支持Tez、Spark引擎

======================================================================================

Hive其实就是一个客户端(提交机器),没有集群概念

任务执行流程:SQL --> Hive --> MR --> YARN

======================================================================================

Hive职责:将SQL翻译成底层对应的执行引擎作业

有统一的元数据(matedata)管理

元数据:描述数据的数据 schema

======================================================================================

架构:SQL on Hadoop

CLI、JDBC:客户端入口,编写sql语句的地方

2.Hive应用场景

批处理/离线处理,延时性很大;

尽量少涉及到update或者delete这种操作,虽然是支持的。

3.Hive vs RDBMS

分布式:都可以部署成分布式场景;

节点数:关系型数据库节点数比较少,Hive节点数不固定;

成本:关系型数据库成本比较高;

数据量:Hive > RDBMS ;

数据修改和删除:关系型数据库支持,Hive 1.4版本之后才支持,但是不建议使用;

事务:都支持,但是Hive不建议,也没有必要使用;

延时性:Hive延时性比较高;

原文地址:https://www.cnblogs.com/chuijingjing/p/14388619.html