当前位置:   article > 正文

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

大数据技术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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

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

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

启动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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

Hbase常用Shell命令

基本命令

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

关于表的操作

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

增删改

  1. 添加列族
alter 'Student','teacherInfo'
  • 1
  1. 删除列族
alter 'Student',{NAME =>'teacherInfo',METHOD=>'delete'}
alter 'Student','delete'=>'teacherInfo'
  • 1
  • 2
  1. 更改列族存储版本的限制
 alter 'Student',{NAME=>'baseInfo',VERSION=>3}
  • 1
  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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  1. 获取指定行、指定行中的列族、列信息
#获取指定行中的所有列的数据信息
get 'Student','rowkey3'
#获取指定行中的所有列族下所有列的数据信息
get 'Student','rowkey3','baseInfo'
#获取指定行中指定列的数据信息
get 'Student','rowkey3','baseInfo:name'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  1. 删除指定行、指定行中的列
#删除指定行
deleteall 'Student','rowkeys'
#删除指定行中指定列的数据
delete 'Student','rowkey3','baseInfo:name'
  • 1
  • 2
  • 3
  • 4

查询

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  1. 查询整表数据
scan 'Student'
  • 1
  1. 查询指定列族的数据
scan 'Student',{COLUMN=>'baseInfo'}
  • 1
  1. 条件查询
#查询指定列的数据
scan ‘Student',{COLUMN=>'baseInfo:birthday'}
  • 1
  • 2

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
  • 2
  1. 条件过滤
  • Filter 可以设定一系列条件来进行过滤。如我们要查询值等于 24 的所有数据
scan 'Student', FILTER=>"ValueFilter(=,'binary:24')"
  • 1
  • 值包含 yale 的所有数据:
 scan 'Student', FILTER=>"ValueFilter(=,'substring:yale')"
  • 1
  • 列名中的前缀为 birth 的:
scan 'Student', FILTER=>"ColumnPrefixFilter('birth')"
  • 1
  • FILTER 中支持多个过滤条件通过括号、AND 和 OR 进行组合
 FILTER 中支持多个过滤条件通过括号、AND 和 OR 进行组合
 scan 'Student', FILTER=>"ColumnPrefixFilter('birth') AND ValueFilter 
ValueFilter(=,'substring:1998')"
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/699150
推荐阅读
相关标签
  

闽ICP备14008679号