【HBase】HBase学习笔记

一、简介

1. HDFS&HBase&Hive

1.1 HDFS

  • HDFS是一个非常适合存储大型文件的分布式文件系统
  • HDFS它不是一个通用的文件系统,也无法在文件中快速查询某个数据

1.2 HBase

  • HBase构建在HDFS之上,并为大型表提供快速记录查找(和更新)
  • HBase内部将大量数据放在HDFS中名为「StoreFiles」的索引中,以便进行高速查找
  • Hbase比较适合做快速查询等需求,而不适合做大规模的OLAP应用

1.3 Hive

  • 数据仓库工具(类SQL的引擎)
    Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询
  • 用于数据分析、清洗
    Hive适用于离线的数据分析和清洗,延迟较高
  • 基于HDFS、MapReduce
    Hive存储的数据依旧在DataNode上,编写的HQL语句终将是转换为MapReduce代码执行

2. HBase

2.1 结构

  • 以表形式存在
  • 支持HDFS文件系统
  • 使用行键(row key)
  • 原生支持分布式存储、计算引擎
  • 使用行、列、列族和单元格

2.2 功能

  • 支持向外扩展
  • 使用API和MapReduce、Spark、Flink来访问HBase表数据
  • 面向列蔟,即每一个列蔟都是一个连续的单元
  • 数据总量不依赖具体某台机器,而取决于机器数量
  • HBase不支持ACID(Atomicity、Consistency、Isolation、Durability)
  • 适合结构化数据和非结构化数据
  • 一般都是分布式的
  • HBase不支持事务,支持的是单行数据的事务操作
  • 不支持Join
    在这里插入图片描述

二、集群启动

1. HDFS

一个节点启动:

start-dfs.sh # 启动hdfs
start-yarn.sh # 启动yarn
mr-jobhistory-daemon.sh start historyserver

关闭:

stop-dfs.sh
stop-yarn.sh
mr-jobhistory-daemon.sh stop historyserver

2. HBase

第一台:

start-hbase.sh
hbase-daemon.sh start thrift

在这里插入图片描述
在这里插入图片描述

3. 查看状态

http://node01:60010/master-status
在这里插入图片描述

三、HBase数据模型

1.简介

在HBASE中,数据存储在具有行和列的表中。这是看起来关系数据库(RDBMS)一样,但将HBASE表看成是多个维度的Map结构更容易理解。
在这里插入图片描述

2. 术语

2.1 表(Table)

  • HBase中数据都是以表形式来组织的
  • HBase中的表由多个行组成

2.2 行键(row key)

  • HBASE中的行由一个rowkey(行键)和一个或多个列组成,列的值与rowkey、列相关联
  • 行在存储时按行键按字典顺序排序(数值顺序或字典顺序)
  • 行键的设计非常重要,尽量让相关的行存储在一起
  • 例如:存储网站域。如行键是域,则应该将域名反转后存储(org.apache.www、org.apache.mail、org.apache.jira)。这样,所有Apache域都在表中存储在一起,而不是根据子域的第一个字母展开

2.3 列(Column)

  • HBASE中的列由列簇(Column Family)和列限定符(Column Qualifier)组成
  • 表示如下——列族名:列限定符名。例如:C1:USER_ID、C1:SEX

3.3 列簇(Column Family)

列族将一组列及其值组织在一起

2.4 列标识符(Column Qualifier)

列族中包含一个个的列限定符,这样可以为存储的数据提供索引

2.5 单元格(Cell)

  • 单元格是行、列系列和列限定符的组合
  • 包含一个值和一个时间戳(表示该值的版本)
  • 单元格中的内容是以二进制存储
    在这里插入图片描述

四、Hbase Java编程

1. Api

在这里插入图片描述

2. HBase基本操作

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值