大数据技术Hbase列数据库——topic3

启动Hadoop

1.到Hadoop安装目录下输入命令

sbin/start-all.sh

[root@localhost hadoop-2.7.1]# sbin/start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
Starting namenodes on [localhost]
root@localhost's password: 
localhost: starting namenode, logging to /usr/local/hadoop-2.7.1/logs/hadoop-root-namenode-localhost.localdomain.out
root@localhost's password: 
localhost: starting datanode, logging to /usr/local/hadoop-2.7.1/logs/hadoop-root-datanode-localhost.localdomain.out
Starting secondary namenodes [0.0.0.0]
root@0.0.0.0's password: 
0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop-2.7.1/logs/hadoop-root-secondarynamenode-localhost.localdomain.out
starting yarn daemons
starting resourcemanager, logging to /usr/local/hadoop-2.7.1/logs/yarn-root-resourcemanager-localhost.localdomain.out
root@localhost's password: 
localhost: starting nodemanager, logging to /usr/local/hadoop-2.7.1/logs/yarn-root-nodemanager-localhost.localdomain.out

2.jps查看,在此过程中需要四次输入password

[root@localhost hadoop-2.7.1]# jps
7493 NameNode
8261 ResourceManager
8022 SecondaryNameNode
8809 Jps
8620 NodeManager
7726 DataNode

启动Hbase

  1. 到Hbase安装目录下输入命令
bin/start-hbase.sh

[root@localhost opt]# cd hbase-2.1.0/
[root@localhost hbase-2.1.0]# bin/start-hbase.sh 
root@localhost's password: 
localhost: running zookeeper, logging to /opt/hbase-2.1.0/bin/../logs/hbase-root-zookeeper-localhost.localdomain.out
running master, logging to /opt/hbase-2.1.0/logs/hbase-root-master-localhost.localdomain.out
: running regionserver, logging to /opt/hbase-2.1.0/logs/hbase-root-regionserver-localhost.localdomain.out

2.jps查看

[root@localhost hbase-2.1.0]# jps
11714 Jps
7493 NameNode
8261 ResourceManager
11397 HQuorumPeer
8022 SecondaryNameNode
11494 HMaster
8620 NodeManager
11596 HRegionServer
7726 DataNode

Hbase常用Shell命令

基本命令

  1. 打开Hbase Shell
hbase shell
  1. 获取帮助
help
  1. 查看服务器状态
status
  1. 查看版本
version

关于表的操作

  1. 查看所有表
list
  1. 创建表
create 'Student','baseInfo','schoolInfo'
  1. 查看表基本信息
desc 'Student'
  1. 表的启用和禁用
#禁用表
disable 'Student'
#检查表是否被禁用
is_disabled 'Student'
#启动表
enable 'Student'
#检查表是否被禁用
is_enable 'Student'
  1. 检查表是否存在
exists 'Student'
  1. 删除表
#删除表前需要禁用表
disable 'Student’
#删除表
drop ‘Student’

增删改

  1. 添加列族
alter 'Student','teacherInfo'
  1. 删除列族
alter 'Student',{NAME =>'teacherInfo',METHOD=>'delete'}
alter 'Student','delete'=>'teacherInfo'
  1. 更改列族存储版本的限制
 alter 'Student',{NAME=>'baseInfo',VERSION=>3}
  1. 插入数据
    命令格式:put ‘表名’,‘行键’,‘列族;列’,'值’
 put 'Student', 'rowkey1','baseInfo:name','tom'
 put 'Student', 'rowkey1','baseInfo:birthday','1990-01-09'
 put 'Student', 'rowkey1','baseInfo:age','29'
 put 'Student', 'rowkey1','schoolInfo:name','Havard'
 put 'Student', 'rowkey1','schoolInfo:localtion','Boston'
 
 put 'Student', 'rowkey2','baseInfo:name','jack'
 put 'Student', 'rowkey2','baseInfo:birthday','1998-08-22'
 put 'Student', 'rowkey2','baseInfo:age','21'
 put 'Student', 'rowkey2','schoolInfo:name','yale'
 put 'Student', 'rowkey2','schoolInfo:localtion','New Haven'
 
 put 'Student', 'rowkey3','baseInfo:name','maike'
 put 'Student', 'rowkey3','baseInfo:birthday','1995-01-22
 put 'Student', 'rowkey3','baseInfo:age','24'
 put 'Student', 'rowkey3','schoolInfo:name','yale'
 put 'Student', 'rowkey3','schoolInfo:localtion','New Haven'
  1. 获取指定行、指定行中的列族、列信息
#获取指定行中的所有列的数据信息
get 'Student','rowkey3'
#获取指定行中的所有列族下所有列的数据信息
get 'Student','rowkey3','baseInfo'
#获取指定行中指定列的数据信息
get 'Student','rowkey3','baseInfo:name'
  1. 删除指定行、指定行中的列
#删除指定行
deleteall 'Student','rowkeys'
#删除指定行中指定列的数据
delete 'Student','rowkey3','baseInfo:name'

查询

hbase中访问数据的两个基本方式:

  • 按指定rowkey获取数据:get方法
  • 按指定条件获取数据:scan方法

scan可以设置begin和end参数来访问一个范围内的所有数据。get本质上就是begin和end相等的特殊情况的scan

  1. Get查询
#获取指定行中所有列的数据信息
get 'Student','rowkey1'
#获取指定行中指定列族的所有列信息
get 'Student','rowkey1','baseInfo'
#获取指定行的指定列的数据信息
get 'Student','rowkey1','baseInfo:name'
#获取指定行
get 'Student','rowkey1',{COLUMN=>'baseInfo:name',VERSION=>3}
  1. 查询整表数据
scan 'Student'
  1. 查询指定列族的数据
scan 'Student',{COLUMN=>'baseInfo'}
  1. 条件查询
#查询指定列的数据
scan ‘Student',{COLUMN=>'baseInfo:birthday'}

HBase 还支持 Limit(限制查询结果行数),STARTROW(ROWKEY 起始行,会先根据这个 key 定位到 region,再向后扫描)、STOPROW(结束行 不包含此行)、TIMERANGE(限定时间戳范围)、VERSIONS(版本数)、和 FILTER(按条件过滤行)等。
如下代表从 rowkey2 这个 rowkey 开始,查找下两个行的最新 3 个版本的 name 列的数据

scan 'Student', {COLUMNS=> 'baseInfo:name',STARTROW => 'rowkey2',STOPROW => 
'rowkey4',LIMIT=>2, VERSIONS=>3}
  1. 条件过滤
  • Filter 可以设定一系列条件来进行过滤。如我们要查询值等于 24 的所有数据
scan 'Student', FILTER=>"ValueFilter(=,'binary:24')"
  • 值包含 yale 的所有数据:
 scan 'Student', FILTER=>"ValueFilter(=,'substring:yale')"
  • 列名中的前缀为 birth 的:
scan 'Student', FILTER=>"ColumnPrefixFilter('birth')"
  • FILTER 中支持多个过滤条件通过括号、AND 和 OR 进行组合
 FILTER 中支持多个过滤条件通过括号、AND 和 OR 进行组合
 scan 'Student', FILTER=>"ColumnPrefixFilter('birth') AND ValueFilter 
ValueFilter(=,'substring:1998')"
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值