NoSQL 数据库 HBase

在这里插入图片描述

5.1HBase 原理

  • 既可以存储结构化数据,也可以存储非结构化数据或半结构化数据

5.1.1 HBase 概述

HBase 是基于 Apache Hadoop 的面向列的 NoSQL 数据库,是 Google 的 BigTable 的开源实现。HBase 是一个针对半结构化数据的开源的、多版本的、可伸缩的、高可靠的、高性能的、分布式的和面向列的动态模式数据库。

5.1.2 HBase 核心概念

  • HBase 是一个稀疏、多维度、有序的映射表。

表的每一行由一个或多个列族组成,一个列族中可以包含任意多个列。在同一个表模式下,每行所包含的列族是相同的,也就是说,列族的个数与名称都是相同的,但是每一行中的每个列族中列的个数可以不同,如图

在这里插入图片描述

  • 数据模型的基本概念
Table
Row
Column
ColumnFamily
ColumnQualifier
Cell
Timestamp
  1. 表(Table)

  2. 行关键字

  3. 列关键字

  4. 列族

  5. 列限定符

  6. cell(单元格)

  7. 时间戳

  • 两个视图
  1. 概念视图
    在这里插入图片描述

  2. 物理视图

在这里插入图片描述

5.1.3 HBase 的关键流程

  1. Region的分配

  2. RegionSercer 上线

  3. RegionServer 下线

  4. Master 上线

  5. Master 下线

  6. 写请求处理过程

5.2 HBase 伪分布式安装

解压
配置环境变量
配置HBase参数

5.2.1 安装 HBase 的前提条件

Hadoop 已经安装并成功启动,如图:

在这里插入图片描述

5.2.2 解压并配置环境变量

  1. 解压
tar -xvf hbase-[版本号]-bin.tar.gz

在这里插入图片描述

  1. 配置环境变量
vi /etc/profile

在这里插入图片描述

  • 使环境变量生效
source /etc/profile

在这里插入图片描述

5.2.3 配置 HBase 参数

  1. 配置hbase-env.sh
    在这里插入图片描述

  2. 配置hbase-site.xml 添加以下内容

添加以下 代码

 <configuration>
        <property>    <!--设置的是hdfs的文件目录-->
                <name>hbase.rootdir</name>
                <value>hdfs://master:8020/hbase</value>
        </property>
        <property>    <!--集群模式,分布式true,单机模式false-->
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
         <property>    <!--zookeeper集群的URL配置-->
                <name>hbase.zookeeper.quorum</name> 
                <value>master</value>
        </property>
        
       <property>
	            <name>zookeeper.znode.parent</name>
	            <value>/hbase</value>
       </property>
       <property>
               <name>hbase.zookeeper.property.dataDir</name>
               <value>/opt/zk_data</value>
       </property>
 </configuration>

5.2.4 验证 HBase

  1. 启动HBase
conf/start-hbase.sh

在这里插入图片描述
2. 启动 hbase shell 命令

hbase shell

在这里插入图片描述

  1. 输入list (显示所有表)

在这里插入图片描述

  1. 浏览器验证 [http://192.168.9.3:16010]

在这里插入图片描述

  1. 查看 HDFS 文件系统
hadoop fs -ls   /

在这里插入图片描述

  1. HBase 进程
jps

在这里插入图片描述

以上执行全部成功则 hbase 安装完成并运行正常

5.3 HBase Shell

  • HBase 为用户提供了一个非常方便的命令行使用方式——HBase Shell。

  • HBase Shell 提供了大多数的 HBase 命令,通过 HBase Shell,用户可以方便地创建、删除及修改表,还可以向表中添加数据,列出表中的相关信息等。

5.3.1 HBase Shell 常用命令

  1. create 命令

在这里插入图片描述

  1. list 命令

在这里插入图片描述

  1. describe 命令
    在这里插入图片描述

  2. put 命令

在这里插入图片描述

  1. get 命令

在这里插入图片描述

  1. scan 命令
    在这里插入图片描述
    在这里插入图片描述

  2. count 命令
    在这里插入图片描述

  3. exists 命令
    在这里插入图片描述

  4. 修改表结构

在这里插入图片描述

  1. delete 命令

在这里插入图片描述

delete all 'scores'      //删除全部数据   
  1. truncate 命令 (清空表中数据,保留表结构)
truncate 'scores' 
  1. disable、drop 命令
// 彻底删除表中数据和表结构-->先disable再drop
disable 'scores'
drop  'scores'
  1. status 命令

在这里插入图片描述

  1. version 命令

在这里插入图片描述

5.3.2 HBase Shell 综合示例

  1. 根据row key 查询

在这里插入图片描述

  1. row key + 列族

在这里插入图片描述

  1. row key + 列族+列

在这里插入图片描述

  1. 查看时间戳

在这里插入图片描述

  1. 根据版本查询

在这里插入图片描述

  1. 根据时间戳查询

在这里插入图片描述

  1. 删除列

在这里插入图片描述

  1. 删除行
    在这里插入图片描述

  2. 统计记录条数

在这里插入图片描述

  1. 清空表

在这里插入图片描述

5.3.3 HBase Shell 全部命令

help //列出全部的 hbase shell 命令

general、 ddl 、namespace、 dml 、tool…

好的,下面是一个简单的 HBase 课程设计: 1. 课程概述 在本课程设计中,我们将学习如何使用 HBase 数据库进行数据管理和操作。我们将学习如何安装和配置 HBase,如何创建表和列族,如何插入、查询和删除数据,以及如何使用 HBase 的高级功能如过滤器、计数器和扫描器等。 2. 实验环境 - 操作系统:Windows 或 Linux - Hadoop 版本:2.7.x 或更高版本 - HBase 版本:1.2.x 或更高版本 - 编程语言:Java 3. 实验内容 3.1 安装和配置 HBase 首先,我们需要下载并安装 HBase。安装过程可以参考 HBase 官方文档。安装完成后,我们需要配置 HBase 的环境变量和配置文件,使其可以正常运行。 3.2 创建表和列族 接下来,我们将学习如何使用 HBase Shell 或 Java API 创建表和列族。我们可以使用 create 命令创建表,并使用 add 命令添加列族。例如: ``` create 'test_table', 'cf1', 'cf2' ``` 这样就创建了一个名为 test_table 的表,并添加了两个列族 cf1 和 cf2。 3.3 插入、查询和删除数据 一旦表和列族创建完成,我们就可以开始向表中插入数据了。插入数据可以使用 put 命令或 Java API。例如: ``` put 'test_table', 'row1', 'cf1:col1', 'value1' ``` 这样就向 test_table 表的 row1 行的 cf1 列族的 col1 列插入了一个值为 value1 的数据。 查询数据可以使用 get 命令或 Java API。例如: ``` get 'test_table', 'row1' ``` 这样就可以查询 test_table 表的 row1 行的所有数据。 删除数据可以使用 delete 命令或 Java API。例如: ``` delete 'test_table', 'row1', 'cf1:col1' ``` 这样就可以删除 test_table 表的 row1 行的 cf1 列族的 col1 列的数据。 3.4 使用高级功能 除了基本的插入、查询和删除操作,HBase 还提供了许多高级功能,如过滤器、计数器和扫描器等。我们可以使用 HBase Shell 或 Java API 来使用这些功能。例如,使用过滤器来查询特定条件下的数据: ``` scan 'test_table', {FILTER => "ValueFilter(=,'substring:value')"} ``` 这样就可以查询 test_table 表中所有包含子串 value 的数据。 4. 实验总结 通过本次课程设计,我们学习了如何使用 HBase 进行数据管理和操作。我们学习了如何安装和配置 HBase,如何创建表和列族,如何插入、查询和删除数据,以及如何使用 HBase 的高级功能。这些知识对于日后的大数据处理和分析工作都非常重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值