简述 Hbase && Hive

  • Hbase数据模型
  • Hbase架构
  • Hbase传统关系数据库的区别
  • Hive的体系结构
  • HIve部署类型

 

 

Hbase数据模型

 

      • 表中仅有一行数据,行的唯一标识为com.cnn.www,对这行数据的每一次逻辑修改都有一个时间戳关联对应。

      • 表中共有四列:contents:htmlanchor:cnnsi.comanchor:my.look.camime:type,每一列以前缀的方式给出其所属的列族。

 

  元素由行健、列(<列族>:<限定符>)和时间戳唯一确定,元素中的数据以字节码的形式存储,没有类型之分。

  行键是数据行在表中的唯一标识,并作为检索记录的主键。

 

  在Hbase中访问表中的行有三种方式:通过单个行键访问,给定行键的范围访问,全表扫描。

 

  Hbase提供了两个版本的回收方式

    1.对每个数据单元,只存储指定个数的最新版本;

     2.保存最近一段时间内的版本(如七天),客户端可以按需查询。

 

物理模型

   概念模型中的一个行进行分割并按照列族存储。

   表中的空值是不被存储的;如果没有指名时间戳,则返回指定列的最新数据值;可以随时向表中的任何一个列添加新列,而不需要事先声明。

 

 

Hbase架构

   Hbase采用master/slave架构,主节点运行的服务称为HMaster,从节点服务称为HRegionServer,底层采用HDFS存储数据。


 

      1) Client

          Client端使用Hbase的RPC机制与HMaster和HRegionServer进行通信。

      2) ZooKeeper

          存储了ROOT表的地址、HMaster的地址和HRegionServer地址。

      3) HMaster

          Hbase主节点,将Region分配给HRegionServer,协调HRegionServer的负载并维护集群状态。

      4) HRegionServer

          HRegionServer主要负责响应用户I/O请求,向HDFS文件系统中读写数据。

 

 

 Hbase和关系型数据库的区别: 

   · Hbase只提供字符串这一种数据类型,其他数据类型的操作只能靠用户自行处理,而关系型数据库有丰富的数据类型;

   · Hbase数据操作只有很简单的插入、查询、删除、修改、清空等操作,不能实现表与表关联操作,而关系型数据库有大量此类SQL语句和函数; 

   · Hbase基于列式存储,每个列族都由几个文件保存,不同列族的文件是分离的,关系型数据库基于表格设计和行模式保存;

   · Hbase修改和删除数据实现上是插入带有特殊标记的新纪录,而关系型数据库是数据内容的替换和修改;·Hbase为分布式而设计,可通过增加机器实现性能和数据增长,而关系型数据库很难做到这一点。 

 

 

 

Hive

     Hive是一个构建在Hadoop上的数据仓库框架,它起源于Facebook内部信息处理平台。

    设计目的:让Facebook内精通SQL(但Java编程相对较弱)的分析师能够以类SQL的方式查询存放在HDFS的大规模数据集。

 

Hive 基本框架

Hive包含Shell环境、元数据库、解析器和数据仓库的组件,其体系结构如图所示:

 

                      用户接口:包括HiveShellThrift客户端、Web接口。

                      Thrift服务器:包括HiveShellThrift客户端、Web接口。

                      元数据库:Hive元数据(如表信息)的集中存放地。

                      解析器:将Hive语句翻译成MapReduce操作。

                      Hadoop:底层分布式存储和计算引擎。

 

Hive部署

    按照元数据库(Metastore)存储位置的不同,分为:内嵌模式、本地模式和完全远程模式。

 

内嵌模式

     此模式是安装时的默认部署模式,此时元数据存储在一个内存数据库Derby中,并且所有组件(如数据库、元数据服务)都运行在同一个进程内。这种模式下,一段时间内只支持一个活动用户这种模式配置简单,所需机器较少。

 

本地模式

      此模式是Hive元数据服务依旧运行在Hive服务主进程中,但元数据存储在独立数据库中(可以是远程机器),当涉及元数据操作时,Hive服务中的元数据服务模块会通过JDBC和存储于DB里的元数据数据库交互。

 

完全远程模式

     元数据服务以独立进程运行,并且元数据存储在一个独立的数据库里。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会依次回答你的问题,不会透露你的要求。 1. MapReduce工作原理: MapReduce是一种分布式计算框架,可以处理大规模数据集,主要用于数据的批量处理。它的工作原理可以分为两个阶段:Map阶段和Reduce阶段。 在Map阶段,MapReduce将输入数据集分割成若干个小数据块,每个数据块由一个Map任务处理,Map任务对每个数据块进行处理并输出一系列键值对。这些键值对作为中间结果,会被存储在分布式文件系统中,供Reduce阶段使用。 在Reduce阶段,MapReduce将Map阶段输出的键值对根据键进行分组,每个组由一个Reduce任务进行处理。Reduce任务对每个组进行处理,并输出最终的结果。 2. Spark工作原理: Spark是一种快速、通用的大数据处理引擎,它支持多种数据处理模式,包括批处理、交互式查询、流处理等。Spark的工作原理可以分为三个阶段:数据的输入、数据的转换和数据的输出。 在数据的输入阶段,Spark从外部数据源(例如Hadoop HDFS、Apache Cassandra等)读取数据,并将数据分割成多个数据块,存储在内存中。 在数据的转换阶段,Spark通过各种转换算子(例如map、filter、reduce等)对数据进行转换处理,生成新的数据集。这些新的数据集可以被进一步转换或输出。 在数据的输出阶段,Spark将转换后的数据集写入外部数据源,或将结果返回给应用程序。 1. HBase工作原理: HBase是一种列式存储数据库,它基于Hadoop分布式文件系统(HDFS)进行存储。HBase的工作原理可以分为三个层次:RegionServer层、HMaster层和ZooKeeper层。 在RegionServer层,HBase将数据划分成多个区域(Region),每个区域由一个RegionServer进行管理。当数据需要写入或读取时,客户端会与对应的RegionServer进行交互。 在HMaster层,HBase将RegionServer进行管理,并负责对Region进行负载均衡和分裂处理。 在ZooKeeper层,HBase使用ZooKeeper进行协调和管理,例如协调HMaster和RegionServer之间的通信。 2. Hive工作原理: Hive是一种基于Hadoop的数据仓库工具,它可以将结构化数据映射到Hadoop HDFS上,并提供类SQL查询的接口。Hive的工作原理可以分为三个步骤:数据的导入、数据的存储和数据的查询。 在数据的导入阶段,Hive将外部数据导入到Hadoop HDFS上,并将数据进行格式化和存储,生成Hive表。 在数据的存储阶段,Hive将数据存储在Hadoop HDFS上,同时生成元数据信息,包括表结构、列信息、分区信息等。 在数据的查询阶段,Hive通过类SQL查询语言对数据进行查询和分析,生成查询结果,并将结果返回给用户。查询语言会被转化为MapReduce任务,在Hadoop集群上执行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值