`

一篇文章让你了解Hive和HBase的区别

 
阅读更多

相信做大数据开发的朋友对hive和HBase一定不会陌生。

 

一篇文章让你了解Hive和HBase的区别

 

HBASE

 

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。HBase是Hadoop的数据库,一个分布式、可扩展、大数据的存储。单个的从字面意思上或许很难看出二者的区别,别急,下面我们就对二者做个详细的介绍。

 

两者的特点

 

Hive帮助熟悉SQL的人运行MapReduce任务。因为它是JDBC兼容的,同时,它也能够和现存的SQL工具整合在一起。运行Hive查询会花费很长时间,因为它会默认遍历表中所有的数据。虽然有这样的缺点,一次遍历的数据量可以通过Hive的分区机制来控制。分区允许在数据集上运行过滤查询,这些数据集存储在不同的文件夹内,查询的时候只遍历指定文件夹(分区)中的数据。这种机制可以用来,例如,只处理在某一个时间范围内的文件,只要这些文件名中包括了时间格式。

 

HBase通过存储key/value来工作。它支持四种主要的操作:增加或者更新行,查看一个范围内的cell,获取指定的行,删除指定的行、列或者是列的版本。版本信息用来获取历史数据(每一行的历史数据可以被删除,然后通过Hbase compactions就可以释放出空间)。虽然HBase包括表格,但是schema仅仅被表格和列簇所要求,列不需要schema。Hbase的表格包括增加/计数功能。

 

限制

 

Hive目前不支持更新操作。另外,由于hive在hadoop上运行批量操作,它需要花费很长的时间,通常是几分钟到几个小时才可以获取到查询的结果。Hive必须提供预先定义好的schema将文件和目录映射到列,并且Hive与ACID不兼容。

 

HBase查询是通过特定的语言来编写的,这种语言需要重新学习。类SQL的功能可以通过Apache Phonenix实现,但这是以必须提供schema为代价的。另外,Hbase也并不是兼容所有的ACID特性,虽然它支持某些特性。最后但不是最重要的–为了运行Hbase,Zookeeper是必须的,zookeeper是一个用来进行分布式协调的服务,这些服务包括配置服务,维护元信息和命名空间服务。

 

应用场景

 

Hive适合用来对一段时间内的数据进行分析查询,例如,用来计算趋势或者网站的日志。Hive不应该用来进行实时的查询。因为它需要很长时间才可以返回结果。

 

Hbase非常适合用来进行大数据的实时查询。Facebook用Hbase进行消息和实时的分析。它也可以用来统计Facebook的连接数。

 

总结

 

Hive和Hbase是两种基于Hadoop的不同技术–Hive是一种类SQL的引擎,并且运行MapReduce任务,Hbase是一种在Hadoop之上的NoSQL 的Key/vale数据库。当然,这两种工具是可以同时使用的。就像用Google来搜索,用FaceBook进行社交一样,Hive可以用来进行统计查询,HBase可以用来进行实时查询,数据也可以从Hive写到Hbase,设置再从Hbase写回Hive。

 

分享到:
评论

相关推荐

    hbase-1.3.0.tar.gz

    在本篇文章中,我们将深入探讨HBase 1.3.0在Hadoop 2.7.7、Hive 2.3.6和Zookeeper 3.4.6环境下的部署与应用。 首先,Hadoop 2.7.7是Hadoop生态系统的核心组成部分,提供了分布式存储和计算的基础。HBase依赖于HDFS...

    Interactive SQL query on HBase (孙元浩)

    《交互式SQL查询在HBase上》这篇文章由孙元浩撰写,主要探讨了为什么需要在HBase上实现交互式查询,以及如何通过架构和HBase SQL操作符来实现这一需求。文章详细介绍了HBase SQL的功能特点和性能。 在介绍为什么...

    Hadoop和HIVE面试题

    本篇文章将深入探讨Hadoop和Hive的相关知识点,为面试做准备。 首先,我们来了解一下Hadoop。Hadoop是Apache软件基金会的一个开源项目,它提供了一个分布式文件系统(HDFS),用于存储和处理大规模数据。HDFS的设计...

    Hbase 高可用分布式搭建

    本篇文章将深入探讨如何进行HBase的高可用分布式搭建,以便实现数据存储和访问的稳定性与可靠性。 一、HBase概述 HBase是Google Bigtable的开源实现,是Apache Hadoop生态系统中的一个关键组件。它为海量结构化数据...

    Hadoop和hive大数据面试题

    本篇文章将详细探讨Hadoop和Hive的相关面试知识点,帮助求职者更好地准备大数据领域的面试。 首先,我们来了解Hadoop。Hadoop是一个开源的分布式计算框架,它允许在廉价硬件上存储和处理海量数据。Hadoop的核心组成...

    第7集-Hadoop环境搭建 - linux(centos7) - 安装配置hive2.1.1.pdf

    本篇文章将详细介绍如何在CentOS 7环境下安装配置Hive 2.1.1版本,为后续的大数据分析应用打下坚实的基础。 #### 二、环境准备 在开始安装Hive之前,确保已经完成了以下步骤: 1. **SSH免密码登录**: 通过公钥...

    kettle7.1连接hive1所需jar

    在IT行业中,Kettle(Pentaho Data Integration)是一款强大的数据集成工具,它允许开发者进行数据抽取...正确配置后,你可以使用Kettle执行Hive SQL,进行数据的提取、转换和加载任务,充分利用Hive的大数据处理能力。

    关于大数据的面试题,包括hadoop、hbase、hive、spark、storm、zookeeper、kafka、.zip

    本篇文章将深入探讨在面试中可能会遇到的一些核心知识点,主要涵盖Hadoop、HBase、Hive、Spark、Storm、Zookeeper以及Kafka。 1. **Hadoop**: Hadoop是Apache基金会的一个开源项目,是大数据处理的基础框架,其...

    Apache Hive.zip

    本篇文章将深入探讨Apache Hive的核心概念、架构、功能以及实际应用。 ### 一、Hive核心概念 1. **元数据(Metadata)**: Hive中的元数据包括表名、列名、分区信息、表的存储位置等,这些信息存储在传统的数据库...

    hbase的优点共6页.pdf.zip

    本篇文章将深入探讨HBase的六大优点,以揭示其在大数据处理领域的核心价值。 1. **分布式存储**: HBase是一种分布式数据库,可以横向扩展以适应不断增长的数据量。它将数据分布在网络中的多个节点上,通过负载均衡...

    阿里HBase的数据管道设施实践与演进_阿里巴巴.zip

    本篇文章将深入探讨阿里在HBase上的数据管道设施的实践与演进,帮助我们理解如何在大型企业环境中构建和优化数据处理流程。 首先,我们需要理解HBase的基本概念。HBase是基于Google的Bigtable设计的开源非关系型...

    一篇文章读懂大数据中台架构.docx

    3. **Sink**:目的地,支持将数据发送到HDFS、HBase、Hive等多种存储系统。 例如,在一个实时处理系统中,Flume Agent部署在Web服务器上,一旦产生新的日志数据,Flume程序即可监听并将其传输到Kafka的Topic中,供...

    sparksql-for-hbase:了解如何使用Spark SQL和HSpark连接器软件包创建驻留在HBase区域服务器中的查询数据表

    本篇文章将详细介绍如何利用Spark SQL和HSpark连接器,实现对驻留在HBase区域服务器上的数据进行高效查询。 首先,我们需要理解Spark SQL的核心功能。它允许开发者用SQL语法或者DataFrame/Dataset API对数据进行...

    李剑彪:安全即服务

    通过李剑彪的这篇文章,我们可以了解到,安全即服务不仅是一种理念,而且是一种涉及复杂技术集成和管理的服务模式。从安全服务需求的收集,到服务内容的设计与构建,再到服务平台的搭建与优化,以及服务之间的协作和...

    云计算分布式大数据Hadoop深入浅出案例驱动实战.pptx

    本篇文章主要讲述了云计算、大数据和Hadoop技术的相关知识点,涵盖了云计算的定义、特征、分类、核心技术、Hadoop的安装和配置、HDFS原理及开发、MapReduce原理及开发、Hbase的安装和配置、原理、开发等方面的内容。...

    大数据学习环境搭建系列(一)大数据集群平台介绍.docx

    本篇将介绍大数据集群平台的基本知识,为后续的系列文章奠定基础。 首先,我们要了解大数据集群平台的基本构成。在搭建过程中,通常会用到虚拟机技术,如Vmware,通过虚拟机在个人计算机上模拟多台服务器环境。在这...

    cdh6.3.2 集成 Phoenix

    本篇文章将详细讲解如何在CDH 6.3.2版本中集成Phoenix,以便充分利用其功能。 **一、CDH 6.3.2与Phoenix的兼容性** CDH 6.3.2是Cloudera公司发布的基于Apache Hadoop的一个特定版本,它已经经过优化,能够很好地...

    Flink如何实时分析Iceberg数据湖的CDC数据.pdf

    综合来看,这篇文章探讨的是如何利用Apache Flink处理来自Apache Iceberg数据湖的实时变更数据,以实现高效、实时的数据分析。在大数据环境中,这样的解决方案对于实时监控和快速响应数据库变化至关重要,特别是在...

    hadoop之shell操作及查案元数据

    本篇文章将深入探讨如何利用Shell命令行工具在Hadoop环境中进行元数据操作以及批量查询与导出表结构的实用技巧。 元数据在Hadoop生态系统中扮演着至关重要的角色,它包含了关于数据存储位置、格式、分区等关键信息...

    hadoop 二次排序 插入数据库

    这篇博客文章(虽然链接无法直接访问,但我们可以根据常规知识来解释这个概念)可能探讨了如何实现Hadoop MapReduce任务中的二次排序,并将其结果插入到数据库中。 **一、Hadoop二次排序** 在Hadoop MapReduce的...

Global site tag (gtag.js) - Google Analytics