区别结论
服务架构上
Hive是Hadoop(HDFS+YARN)生态中的数据仓库·计算框架(YARN.MR是它的机械手臂/可换)(单机查询)
HBase则是一整套正规军(HMaster+HRegionServer+ZooKeeper)高可用分布式NoSQL数据库服务基于HDFS存储
物理存储上
Hive只是读取HDFS文件标记类型并维护一个元数据库(对于Hadoop数据仓库内的结构性数据)
HBase则是将输入数据解析然后转换成自己独特的Cell{rowKey,column,version}/KV存储结构(k=RowKey+CF+CQ+TS+T)
查询语法上
Hive支持标准SQL查询
HBase不支持SQL,有自己的语法规则
查询速度上
Hive使用YARN架构的MR计算体系(文件以行切分读取处理输出),m分钟级,缓慢
HBase使用Key-Value的形式,s秒级,接近实时要求
表结构上
Hive仍然是传统RDBMS.database+table+columnqualify二维表概念
HBase则是NoSQL.Namespace+table+ColumnFamily+ColumnQualify,新增列族概念[建表后列可动态扩展]
开发目的
Hive存在意义 => 让程序员能够通过SQL来分析统计HDFS上的结构化数据[修改某行某列数据,都要跑MR等待20-30s左右]
HBase存在意义 => 高可用,分布式,可横向扩展,超大型表(数十亿行X数百万列)存储以及进行随机,实时的读/写访问
是什么
Hive 是 对存储至HDFS离线批量数据 SQL标准/替代MR(Driver/Map/Reduce)代码的 运算操作集合
HBase 是 存储 超大型表(数十亿行X数百万列)数据集合 数据库服务
使用关系
源数据生产者 -Flume/Kafka-> Flume/消费者 -write-> HDFS -Hive.load-> Hive -ETL/Analyze-> HBase
源数据生产者 -Kafka-> SparkStreaming/消费者 -write-> HDFS [-SparkSQL-> Hive] && [-SparkSQL-> HBase]
技术演变
Hive(MR计算引擎) => Hive(Tez引擎) => Spark计算引擎(多种数据源不仅Hive,仍使用YARN)
Hive只适合海量结构性数据查询分析统计 => HBase可随机查询修改CRUD超大型表某行某列
【技术领悟】Hive HBase 区别 2020_1_11
最新推荐文章于 2023-03-05 23:03:51 发布
194

被折叠的 条评论
为什么被折叠?



