浅谈Hbase和Hive的区别
Hbase和Hive都是大数据处理的重要工具,但两者在大数据架构中处于不同位置,Hbase主要应用于实时数据查询问题,Hive则主要解决数据处理与计算方面。在一般的大数据处理中,两者可以配合使用。下面简单概括一下两者的区别。
一、区别:
1.Hbase即 HadoopDatabase 的简称,也就是基于Hadoop数据库,是一种NoSQL数据库,主要适用于海量明细数据(十亿、百亿)的随机实时查询,如交易清单、日志明细、轨迹行为等。
2. Hive是Hadoop的数据仓库,严格地讲并非数据库,主要是让开发人员能够通过SQL来计算和处理HDFS上的结构化数据,适用于离线的批量数据计算。
3.通过元数据来描述HDFS上的结构化文本数据,通俗点来说,就是定义一张表来描述HDFS上的结构化文本,包括各列数据名称、数据类型等内容,便于处理数据,当前很多SQL ON Hadoop的计算引擎均用的是Hive的元数据,例如Spark SQL、Impala等;
4.基于第一点,通过SQL来处理和计算HDFS的数据,Hive会将SQL翻译为MapReduce来处理数据。
二、关系
在大数据架构中,Hive和HBase是协作关系,总结起来有以下四点:
1.通过Hive清洗、处理和计算原始数据;
2.通过ETL工具将数据源抽取到HDFS存储;
3.HIve清洗处理后的结果,如果是面向海量数据随机查询场景的可存入Hbase;
4.数据应用从HBase查询数据。
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。
HBase是Hadoop的数据库,一个分布式、可扩展、大数据的存储。单个的从字面意思上或许很难看出二者的区别,别急,下面我们就对二者做个详细的介绍。
两者的特点
Hive帮助熟悉SQL的人运行MapReduce任务。因为它是JDBC兼容的,同时,它也能够和现存的SQL工具整合在一起。运行Hive查询会花费很长时间,因为它会默认遍历表中所有的数据。虽然有这样的缺点,一次遍历的数据量可以通过H

本文探讨了Hbase和Hive在大数据处理中的不同角色。Hbase作为NoSQL数据库,适用于海量实时查询,而Hive作为数据仓库工具,通过SQL处理HDFS上的结构化数据,适合离线批量计算。两者在大数据架构中相辅相成,Hive用于数据清洗和计算,处理后的数据可存入Hbase进行实时查询。
最低0.47元/天 解锁文章
3250

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



