【大数据运维】Hbase shell 常见操作

先进入到shell中 ./bin/hbase shell


-- 查看Hbase服务器状态
status


-- 查看当前数据库中有哪些表
list


-- 列出一些表的详细信息
describe 'book'

 

一. DDL

1. 表的DDL

1.1. 创建表


创建student表, 包含base_f1、base_f2两个列族

create 'student', 'base_f1', 'base_f2' 
或者 
create 'user', {NAME => 'base_f1', VERSIONS => '1'},{NAME => 'base_f2'}

 

1.2. 删除表

-- 先disable 再drop hbase
disable 'student' 
drop 'student' 

-- 如果不进行disable,直接drop会报错 ERROR: Table student is enabled. Disable it first.

 

2. 列族的DDL

2.1. 增加一个列簇


alter 'book','date'

2.2. 删除列族

alter 'student', 'delete' => 'base_f1'

 

2.3. 修改列族版本(ing)


alter 'book',{NAME=>'date',VERSIONS=>3}}

 

二. DML

1. 插入与更新数据

-- put '表名称', 'rowkey', '列族:列名', '值'
-- 因为表中只定义了列族,所以列族下的新列可以直接在插入数据下添加
-- 向表中添加数据,在想HBase的表中添加数据的时候,只能一列一列的添加,不能同时添加多列。

put 'staff1','0101','info2:nnn1','test'

更新操作同插入操作一模一样,只不过有数据就更新(实际是加了一个版本),没数据就添加

更新版本号


-- 将student表的 base_info 列族版本号改为5

alter 'student', NAME => 'base_f1', VERSIONS => 5

 

2. 删除数据


-- 删除student表 rowkey为rk01,列标示符为 base_f1:name 的数据

delete 'student', 'rk01', 'base_f1:name'


-- 指定时间戳删除
delete 'student', 'rk01', 'base_f1:name', 1392383705316

 

3. 清空表


truncate 'book'

 

三. DQL

1. scan:查一批数据

1.1. 查询全部

scan 'staff1'

ROW                         COLUMN+CELL
 0101                       column=info1:sea, timestamp=1711098585861, value=test
 0102                       column=info2:addr, timestamp=1711098585993, value=test1
 0102                       column=info2:name, timestamp=1711098585923, value=test1
 0102                       column=info2:sea1, timestamp=1711098585895, value=test1  


-- 过滤查询
scan 'book',{LIMIT=>2}


-- 包含STARTROW,不包含ENDROW
scan 'book',{STARTROW=>'1',ENDROW=>'3'}

1.2. 过滤rowkey

-- 查询student表中row key以rk字符开头的

scan 'student',{FILTER=>"PrefixFilter('rk')"}

1.3. 过滤列

-- 查询student表中列族为 base_f1 和 base_f2且列标示符中含有aa字符的信息

scan 'student', {COLUMNS => ['base_f1 ', 'base_f2'], FILTER => "(QualifierFilter(=,'substring:aa'))"}

1.4. 列族查询


-- 列族
scan 'student', {COLUMNS => ['base_f1', 'base_f2']} 

--列族:列
scan 'student', {COLUMNS => ['base_f1:name', 'base_f2:address']}


-- 列族:列 并指定最新的三个版本
scan 'student', {COLUMNS => 'base_f1:name', VERSIONS => 3}

 

2. get:查询一条

1.1. 指定rowkey


--获取student表中row key为rk01的所有信息
get 'student', 'rk01'


-- 获取user表中row key为rk0001,base_info列族的所有信息
get 'student', 'rk01', 'base_f1'


-- 获取student表中row key为rk0001,base_info列族的name、age列标示符的信息
get 'student', 'rk01', 'base_f1:name', 'base_f2:address'

 

1.2. 过滤值

-- 获取student表中row key为rk01,值为zhangsan的信息

get 'student', 'rk01', {FILTER => "ValueFilter(=, 'name:zhangsan')"}

 

1.3. 过滤列


-- 获取student表中row key为rk01,列中含有a的信息
get 'student', 'rk01', {FILTER => (QualifierFilter(=,'substring:a'))"}

 

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CDH大数据运维,也就是Cloudera的分布式数据平台运维。CDH是Cloudera公司基于Apache Hadoop开发的商业版分布式数据平台,主要用于存储和处理大规模数据。CDH大数据运维通常包括以下几个方面: 1. 集群部署和配置:CDH运维首先要进行集群的部署和配置,包括选择合适的硬件、安装操作系统、配置网络环境等。此外,还需要对CDH的各个组件进行适当的配置,如Hadoop、HBase、Impala等,以满足各种数据处理需求。 2. 资源管理和调度:CDH运维需要对集群中的资源进行管理和调度,以确保任务的顺利执行。这包括对CPU、内存、磁盘等资源的监控和分配,以及对任务的调度和优化。 3. 数据备份和恢复:CDH大数据运维还需要对存储在集群中的数据进行备份和恢复。这可以通过设置合适的数据备份策略和使用分布式文件系统来实现。当数据丢失或损坏时,可以快速恢复数据,确保数据的完整性和可靠性。 4. 性能优化:CDH大数据运维需要进行性能优化,以提高数据处理的效率和响应速度。这包括对集群中的各个组件进行调优和配置优化,以减少资源消耗和提高数据处理能力。 总之,CDH大数据运维是一个综合性的工作,需要对分布式数据平台进行部署、配置、资源管理、备份恢复和性能优化等方面的工作。它的目标是确保集群的稳定运行,保障数据的安全性和可用性,提高数据处理的效率和性能。CDH大数据运维对于企业来说非常重要,可以帮助他们更好地利用大数据进行业务决策和创新。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

roman_日积跬步-终至千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值