HBase是什么?和Hadoop有什么关系?

HBase是一个分布式的、面向列的,适用于非结构化数据存储的开源数据库。

其是Apache Hadoop中的一个子项目,依托于Hadoop的HDFS作为最基本存储基础单元。可以通过hadoop的DFS工具看到这些数据存储文件夹的结构,还可以通过Map/Reduce的框架(算法)对HBase进行操作。

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

下面说一下,操作HBase必须知道的20个命令,建议先收藏再阅读。

1个命令轻松进入HBase

  1. 进入hbase shell console

$HBASE_HOME/bin/hbase shell


如何用这****5个命令对表进行管理?

1.查看有哪些表

list

2.创建表

# 语法:create

, {NAME => , VERSIONS => }

# 例如:创建表t1,有两个family name:f1,f2,且版本数均为2

> create ’t1’,{NAME => ‘f1’, VERSIONS => 2},{NAME => ‘f2’, VERSIONS => 2}

3.删除表

# 分两步:首先disable,然后drop

# 例如:删除表t1

> disable ’t1’

> drop ’t1’

4.查看表的结构

# 语法:describe

# 例如:查看表t1的结构

> describe ’t1'

5.修改表结构

# 修改表结构必须先disable

# 语法:alter ’t1’, {NAME => ‘f1’}, {NAME => ‘f2’, METHOD => ‘delete’}

# 例如:修改表test1的cf的TTL为180天

> disable ’test1’

> alter ’test1’,{NAME=>‘body’,TTL=>‘15552000’},{NAME=>‘meta’, TTL=>‘15552000’}

> enable ’test1’

想搞定权限管理只要这3个命令

1.分配权限

# 语法 : grant

参数后面用逗号分隔

# 权限用五个字母表示: “RWXCA”.

# READ(‘R’), WRITE(‘W’), EXEC(‘X’), CREATE(‘C’), ADMIN(‘A’)

# 例如,给用户‘test’分配对表t1有读写的权限,

> grant ’test’,‘RW’,’t1’

2.查看权限

# 语法:user_permission

# 例如,查看表t1的权限列表

> user_permission ’t1’

3.收回权限

# 与分配权限类似,语法:revoke

# 例如,收回test用户在表t1上的权限

> revoke ’test’,’t1’

(hadoop组,hadoop组,hadoop组,hadoop组,hadoop组,hadoop组,hadoop组,hadoop组,hadoop组)

只用这7个命令如何玩转表数据的增删改查

1.添加数据

# 语法:put

,, family:column,,

# 例如:给表t1的添加一行记录:rowkey是rowkey001,family name:f1,column name:col1,value:value01,timestamp:系统默认

> put ’t1’,‘rowkey001’,‘f1:col1’,‘value01’

2.查询数据——查询某行记录

# 语法:get

,,[ family:column,….]

# 例如:查询表t1,rowkey001中的f1下的col1的值

> get ’t1’,‘rowkey001’, ‘f1:col1’

# 或者:

> get ’t1’,‘rowkey001’, {COLUMN=>‘f1:col1’}

# 查询表t1,rowke002中的f1下的所有列值

hbase(main)> get ’t1’,‘rowkey001’

3.查询数据——扫描表

# 语法:scan

, {COLUMNS => [ family:column,…. ], LIMIT => num}

# 另外,还可以添加STARTROW、TIMERANGE和FITLER等高级功能

# 例如:扫描表t1的前5条数据

> scan ’t1’,{LIMIT=>5}

4.查询表中的数据行数

# 语法:count

, {INTERVAL => intervalNum, CACHE => cacheNum}

# INTERVAL设置多少行显示一次及对应的rowkey,默认1000;CACHE每次去取的缓存区大小,默认是10,调整该参数可提高查询速度

# 例如,查询表t1中的行数,每100条显示一次,缓存区为500

> count ’t1’, {INTERVAL => 100, CACHE => 500}

5.删除数据——删除行中的某个列值

# 语法:delete

, , family:column , ,必须指定列名

# 例如:删除表t1,rowkey001中的f1:col1的数据

> delete ’t1’,‘rowkey001’,‘f1:col1’

6.删除数据——删除行

# 语法:deleteall

, , family:column , ,可以不指定列名,删除整行数据

# 例如:删除表t1,rowk001的数据

> deleteall ’t1’,‘rowkey001’

7.删除数据——删除表中的所有数据

# 语法: truncate

# 其具体过程是:disable table -> drop table -> create table

# 例如:删除表t1的所有数据

> truncate ’t1’

掌握Region管理这4个命令只要5分钟,却能每天节省2小时!

1.移动Region

# 语法:move ’encodeRegionName’, ‘ServerName’

# encodeRegionName指的regioName后面的编码,ServerName指的是master-status的Region Servers列表

# 示例

>move ‘4343995a58be8e5bbc739’, ‘db-41.xxx.xxx.org,60020,139’

2.开启/关闭region

# 语法:balance_switch true|false

hbase(main)> balance_switch

3.手动split

# 语法:split ‘regionName’, ‘splitKey’

4.手动触发major compaction

#语法:

#Compact all regions in a table:

> major_compact ’t1’

#Compact an entire region:

> major_compact ‘r1’

#Compact a single column family within a region:

> major_compact ‘r1’, ‘c1’

#Compact a single column family within a table:

> major_compact ’t1’, ‘c1’

参考:

https://www.cnblogs.com/zhao-teng-ass/p/9781095.html



更多相关文章推荐


10分钟快速了解hadoop MapReduce 编程模型

hadoop
mapreduce是hadoop的核心之一,mapreduce经常让我们产生各种困惑 什么是map,什么是renduce ? MapReduce 基础编程模型:把一个大任务拆分成小任务,再进行汇总 MR任务:Job = Map + Reduce Map的输出是Reduc……

10分钟快速熟悉hive操作命令

hive
hive是什么 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。HBase是Hadoop的数据库,一……

10分钟熟悉hadoop 操作

hadoop
启动相关 启动zookeeper: zkServer.sh start 启动HDFS : 不管在集群中的那个节点都可以 start-dfs.sh 启动YARN : 只能在YARN主节点中进行启动 start-yarn.sh HDFS : http://hadoop02:50070 YARN : http://hadoop05:8088 HDFS的常用命令及示例 ls: 显示目录信息 hadoop fs -ls / hadoop fs -ls -R / ---->级联递归的……

10小时Hadoop基础快速入门

hadoop
基础概念 大数据的本质 一、数据的存储:分布式文件系统(分布式存储) 二、数据的计算:分部署计算 学习路线 (1)Java基础和Linux基础 (2)Hadoop的学习:体系结构、原理、编程 第一阶段:HDFS、MapReduce、H……

HBase 和 RDBMS的比较

hbase
与传统数据库的对比 1、传统数据库遇到的问题: 1)数据量很大的时候无法存储; 2)没有很好的备份机制; 3)数据达到一定数量开始缓慢,很大的话基本无法支撑; 2、HBASE优势: 1)线性扩展,随着数据量增多可以通过节点扩展进行支……

HDFS在上传文件的时候,如果其中一个块突然损坏了怎么办

hadoop
其中一个块坏了,只要有其它块存在,会自动检测还原。……

HDFS文件上传流程细解

hadoop
HDFS文件上传流程 1 用户即客户端想要上传文件,就先要给namenode发个请求,告诉它说我要上传文件了(即写数据), 2 然后namenode会返回一个响应,这个响应是namenode根据自身情况,比如会先查一下namen……

HMaster的作用

hbase
hbase中hmaster的作用: 管理用户对表的增删改查操作为region server分配region. 负责region server的负载均衡。 发现失效的region server并重新分配其上的region. Gfs上的垃……

Hadoop的Shuffle是什么

hadoop
map 端的细节图 Shuffle的作用 首先来看看Shuffle在reduce端的过程,也能用图上标明的三点来概括。当前reduce copy数据的前提是它要从JobTracker获得有哪些map task已执行结束,这段过程不表,……

Hadoop的作业提交流程细节

hadoop
hadoop任务的提交常用的两种,一种是测试常用的IDE远程提交,另一种就是生产上用的客户端命令行提交。 这个过程中的一些实体: 1. 客户端:提交MapReduce作业; 2. 资源管理器:协调集群上计算资源的分配。 3. 节点管理器:负……


随机文章


热门专题

分类

福利派送

标签

其它

休闲室