HBase入门(三)——HBase远程连接+HBase常用命令

IDSW集群中Hbase的访问

环境

内容
版本hbase-1.4.9
hadoop版本hadoop2.6.5
安装目录/data/hbase-1.4.9
机器10.111.25.140(主)
10.111.25.138
10.111.25.139
zookeeper使用hbase自带的zk

访问

在10.111.25.140中
hbase shell
注:hbase shell中用“Ctrl+Backspace”进行删除

http://10.111.25.140:16010

远程连接

pom.xml

<!-- https://mvnrepository.com/artifact/org.apache.hbase/hbase-client -->
<dependency>
    <groupId>org.apache.hbase</groupId>
    <artifactId>hbase-client</artifactId>
    <version>1.4.9</version>
</dependency>
参数内容
集群ip10.111.25.140(主)
10.111.25.138
10.111.25.139
hbase.zookeeper.quorumidsw-dev-03(或10.111.25.140)
hbase.zookeeper.property.clientPort2181(默认)

访问代码:

package Utils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
 
public class HbaseTest {
    private HBaseAdmin admin = null;
    // 定义配置对象HBaseConfiguration
    private static Configuration configuration;
    public HbaseTest() throws Exception {
        configuration = HBaseConfiguration.create();
        configuration.set("hbase.zookeeper.quorum","10.111.25.140");  //hbase 服务地址
        configuration.set("hbase.zookeeper.property.clientPort","2181"); //端口号
        admin = new HBaseAdmin(configuration);
    }
    // Hbase获取所有的表信息
    public List getAllTables() {
        List<String> tables = null;
        if (admin != null) {
            try {
                HTableDescriptor[] allTable = admin.listTables();
                if (allTable.length > 0)
                    tables = new ArrayList<String>();
                for (HTableDescriptor hTableDescriptor : allTable) {
                    tables.add(hTableDescriptor.getNameAsString());
                    System.out.println(hTableDescriptor.getNameAsString());
                }
            }catch (IOException e) {
                e.printStackTrace();
            }
        }
        return tables;
    }
    public static void main(String[] args) throws Exception {
        HbaseTest hbaseTest = new HbaseTest();
        hbaseTest.getAllTables();
    }
}

Hbase常用命令

名称命令表达式
查看hbase状态status
创建表create '表名','列族名1','列族名2','列族名N'
查看所有表list
描述表describe '表名'
判断表存在exists '表名'
判断是否禁用启用表is_enabled '表名' 
is_disabled '表名'
添加记录put '表名','rowkey','列族:列','值'
查看记录rowkey下的所有数据get '表名','rowkey'
查看所有记录scan '表名'
查看表中的记录总数count '表名'
获取某个列族get '表名','rowkey','列族:列'
获取某个列族的某个列get '表名','rowkey','列族:列'
删除记录delete '表名','行名','列族:列'
删除整行deleteall '表名','rowkey'
删除一张表先要屏蔽该表,才能对该表进行删除
第一步 disable '表名',第二步 drop '表名'
清空表truncate '表名'
查看某个表某个列中所有数据scan '表名',{COLUMNS=>'列族名:列名'}
更新记录就是覆盖,hbase没有修改,都是追加

表操作的命令

  1. list
  2. create
  3. describe
  4. enable
  5. disable
  6. is_disabled
  7. is_enabled
  8. drop

表数据相关操作的命令

命令说明实例
scan就相当于selectscan 'test'
count计数有几行(row)一共count 'test'
put添加put 'test','row1','info:age','30'
get取出某一列的数据get 'test','0001','info:name'
delete删除某列delete 'test','0001','info:age'
truncate格式化某个表
默认执行下述操作
disable 'test'
drop 'test'
create 'test'
truncate 'test'
alter修改alter 'xingoo:test_v',NAME=>'v',VERSIONS=>5
create_namespace创建命名空间create_namespace 'xingoo'

版本相关操作命令

修改版本数

alter 'xingoo:test_v',NAME=>'v',VERSIONS=>5  
describe 'xingoo:test_v'

写入多版本

put 'xingoo:test_v','1','v:c1','value1'
put 'xingoo:test_v','1','v:c1','value2'
put 'xingoo:test_v','1','v:c1','value3'
put 'xingoo:test_v','1','v:c1','value4'
put 'xingoo:test_v','1','v:c1','value5'
put 'xingoo:test_v','1','v:c1','value6'
put 'xingoo:test_v','1','v:c1','value7'

读取多版本

get 'xingoo:test_v','1',{COLUMN => 'v:c1',VERSIONS=>5}

另外,还可以把版本字段当做一个时间字段来进行范围查询,如:

get 't1', 'r1', {COLUMN => 'c1', TIMERANGE => [ts1, ts2], VERSIONS => 4}
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值