Hadoop 之Hbase命令

HBASE基础知识*
HBASE的集群的搭建*
HBASE Shell***
HBASE的批量导入***
HBASE的Java客户端***
HBASE的表设计*
HBASE的底层存储模型*
HBASE优化*
HBASE协处理器*

1.Hbase简介

HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

HBase利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协调工具。

分布式开源数据库,基于hadoop分布式文件系统(HDFS)

模仿提供了Google文件系统的BigTable数据库所有功能

处理非常庞大的表

普通计算机处理10亿条数据

利用mapreduce计算数据,利用zookeeper协调资源

2. 列式数据库的概述

列式数据库,从数据存储方式上有别于行式数据库,所有数据按列存取。

行式数据库在做一些列分析时,必须将所有列的信息全部读取出来

而列式数据库由于其是按列存取,因此只需在特定列做I/O即可完成查询与分析,效率节省90%。

此外,列式数据库在每列上还有专门的列压缩算法进一步提高数据库性能,这是行式数据库不具备的。

3.Hbase数据模型-逻辑模型

表(table) 字符串
行(row) 行由行健(rowkey)唯一标识
列族(column failmy)行的数据按列族分组cf,创建表的时候定义,不轻易修改
列限定符(column qualifier)列里面的数据定位通过列限定符
单元(cell)行健,列族和列限定符一起确定一个单元,value
时间版本(vesion)单元值有时间版本,用时间戳来标识默认3个。

1)行键(RowKey)
行键是字节数组, 任何字符串都可以作为行键;
表中的行根据行键进行排序,数据按照Row key的字节序(byte order)排序存储
所有对表的访问都要通过行键
(单个RowKey访问,或RowKey范围访问,或全表扫描)

2)列族(ColumnFamily)CF必须在表定义时给出
数据按CF分开存储,HBase所谓的列式存储就是根据CF分开存储
(每个CF对应一个Store),这种设计非常适合于数据分析的情形

3)列限定符(column qualifier)
列里面的数据定位通过列限定符 每个CF可以有一个或多个列成员(ColumnQualifier),
列成员不需要在表定义时给出,新的列族成员可以随后按需、动态加入
4)时间戳(TimeStamp)
每个Cell可能又多个版本,它们之间用时间戳区分

5)单元格(Cell)Value
Cell 由行键,列族:限定符,时间戳唯一决定
Cell中的数据是没有类型的,全部以字节码形式存贮

4. hbase 数据模型-物理模型

物理数据模型其实就是将逻辑模型中的一个Row分割成为根据Column family存储的物理模型。

对于BigTable的数据模型操作的时候,会锁定Row,并保证Row的原子操作。

Hbase由行和列组成行按照((列族))    划分

每个列族在硬盘上都自己的HFile(二进制文件,不能直接读取)

HFile:一个列族可以有多个HFile,但是一个HFile不能储存多个列族(Column),每个列族都有一个MemStore

一行中的一个列族数据不一定存放在同一个HFile里,一行中的列族数据需要物理的存放在一起

HBase表是横向划分为很多region的

region是存放在不同的region server的。

5.

时间: 2024-11-05 11:55:16

Hadoop 之Hbase命令的相关文章

hadoop(九) - hbase shell命令

1. 进入hbase命令行  ./hbase shell 2. 显示hbase中的表  list 3. 创建user表,包含info.data两个列族 create 'user', 'info1', 'data1' create 'user', {NAME => 'info', VERSIONS => '3'} 4. 向表中插入信息: 向user表中插入信息,row key为rk0001,列族info中添加name列标示符,值为zhangsan put 'user', 'rk0001', 'i

hadoop(九) - hbase shell命令及Java接口

一. shell命令 1. 进入hbase命令行  ./hbase shell 2. 显示hbase中的表  list 3. 创建user表,包括info.data两个列族 create 'user', 'info', 'data' create 'user', {NAME => 'info', VERSIONS => '3'} 4. 向表中插入信息: 向user表中插入信息.row key为rk0001.列族info中加入name列标示符,值为zhangsan put 'user', 'rk

CentOS系统下Hadoop、Hbase、Zookeeper安装配置

最近两天给一个项目搭建linux下的大数据处理环境,系统是CentOS 6.3.主要是配置JDK,安装Tomcat,Hadoop.HBase和Zookeeper软件,本人在Hadoop这方面也是新手,配置这个环境遇到过许多问题,查了许多资料,这里做一个总结,以便日后回顾. 首先是账户权限的修改,安装软件环境需要上传文件和一些系统文件的修改权限,所以最好设置成root权限 权限修改方法:http://www.linuxidc.com/Linux/2012-03/55629.htm 软件的安装,网上

基于Hadoop的数据分析综合管理平台之Hadoop、HBase完全分布式集群搭建

能够将热爱的技术应用于实际生活生产中,是做技术人员向往和乐之不疲的事. 现将前期手里面的一个项目做一个大致的总结,与大家一起分享.交流.进步.项目现在正在线上运行,项目名--基于Hadoop的数据分析综合管理平台. 项目流程整体比较清晰,爬取数据(txt文本)-->数据清洗-->文本模型训练-->文本分类-->热点话题发现-->报表"实时"展示,使用到的技术也是当今互联网公司常用的技术:Hadoop.Mahout.HBase.Spring Data Had

Hbase总结(一)-hbase命令,hbase安装,与Hive的区别,与传统数据库的区别,Hbase数据模型

Hbase总结(一)-hbase命令 下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令表达式 创建表 create '表名称', '列名称1','列名称2','列名称N' 添加记录 put '表名称', '行名称', '列名称:', '值' 查看记录 get '表名称', '行名称' 查看表中的记录总数 count  '表名称' 删除记录 delete  '表名' ,'行名称' , '列名称' 删除一张表 先要屏蔽该表,才能对

R语言与Hadoop和Hbase的联合使用

HBase和rhbase的安装与使用,分为3个章节. 1. 环境准备及HBase安装 2. rhbase安装 3. rhbase程序用例 每一章节,都会分为"文字说明部分"和"代码部分",保持文字说明与代码的连贯性. 注:Hadoop环境及RHadoop的环境,请查看同系列前二篇文章,此文将不再介绍. 1. 环境准备及HBase安装 文字说明部分: 首先环境准备,这里我选择了Linux Ubuntu操作系统12.04的64位版本,大家可以根据自己的使用习惯选择顺手的

hadoop+zookeeper+hbase 开机自启动

hadoop2.7.3+zookeeper3.4.9+hbase1.2.6 我想让它们实现开机自启动,需要2个脚本实现.h1.sh 和h2.sh. #!/bin/bash #discribe: 实现hadoop+zookeeper+hbase  开机自启动 #对我非常有用的链接:ssh 到其他机器,实现zk启动.https://zhidao.baidu.com/question/1447196109490350780.html #while true 我会用,但不熟. #有小人挡路,不要怕.也不

ZooKeeper原理及其在Hadoop和HBase中的应用

简介 ZooKeeper是一个开源的分布式协调服务,由雅虎创建,是Google Chubby的开源实现.分布式应用程序可以基于ZooKeeper实现诸如数据发布/订阅.负载均衡.命名服务.分布式协调/通知.集群管理.Master选举.分布式锁和分布式队列等功能. 基本概念 本节将介绍ZooKeeper的几个核心概念.这些概念贯穿于之后对ZooKeeper更深入的讲解,因此有必要预先了解这些概念. 集群角色 在ZooKeeper中,有三种角色: Leader Follower Observer 一

Hadoop、Hbase、ZooKeeper的搭建

文章转载自博客 http://edu.dataguru.cn/thread-241488-1-1.html.(写的很详细,留待以后实践.) 这里有几个主要关系: 1.经过Map.Reduce运算后产生的结果看上去是被写入到HBase了,但是其实HBase中HLog和StoreFile中的文件在进行flush to disk操作时,这两个文件存储到了HDFS的DataNode中,HDFS才是永久存储. 2.ZooKeeper跟Hadoop Core.HBase有什么关系呢?ZooKeeper都提供