HBase의 기본 동작 명령

1. 기본 작동 명령

명령 의미
상태 표시 상태 상태 'hadoop1'
Whoami HBase의 현재 사용자 표시 Whoami
명부 모든 현재 테이블 표시 명부
카운트 지정된 테이블의 레코드 수 계산 '사용자'계산
설명 테이블 구조 정보 표시 '사용자'설명
존재 테이블이 있는지 확인 '사용자'존재
활성화 됨 / 비활성화 됨 테이블이 활성화 / 비활성화되었는지 확인 is_enabled '사용자'
바꾸다 테이블 또는 컬럼 패밀리의 모드 변경 '사용자'변경, NAME => 'CF2', VERSIONS => 2
활성화, 비활성화 테이블 활성화 / 비활성화 '사용자'비활성화
하락 표 삭제 '사용자'삭제
자르다 테이블 비활성화 '사용자'변환
  • HBase 셸을 엽니 다.

    cd /export/servers/hbase-2.0.0
    bin/hbase shell
    
  • 테이블 생성, 데이터 추가

    # 创建表
    create 'user', 'info', 'data'
    
    # 向user表中插入信息,row key为rk0001,列族info中添加name列标示符,值为zhangsan
    put 'user', 'rk0001', 'info:name', 'zhangsan'
    # 向user表中插入信息,row key为rk0001,列族info中添加gender列标示符,值为female
    put 'user', 'rk0001', 'info:gender', 'female'
    # 向user表中插入信息,row key为rk0001,列族info中添加age列标示符,值为20
    put 'user', 'rk0001', 'info:age', 20
    # 向user表中插入信息,row key为rk0001,列族data中添加pic列标示符,值为picture
    put 'user', 'rk0001', 'data:pic', 'picture'
    
  • 계산되는 데이터 행 수

    count 'user'
    

    여기에 사진 설명 삽입

2. 쿼리 작업

  • get으로 쿼리 (get rowkey)

    # 获取user表中row key为rk0001的所有信息
    get 'user', 'rk0001'
    

    여기에 사진 설명 삽입

    # 获取user表中row key为rk0001,info列族的信息
    get 'user', 'rk0001', 'info'
    

    여기에 사진 설명 삽입

    # 获取user表中row key为rk0001,info列族的name、age列标示符的信息
    get 'user', 'rk0001', 'info:name', 'info:age'
    

    여기에 사진 설명 삽입

    # 获取user表中row key为rk0001,info、data列族的信息, 两种写法
    get 'user', 'rk0001', 'info', 'data'
    get 'user', 'rk0001', {
          
          COLUMN => ['info', 'data']}
    

    여기에 사진 설명 삽입

    #获取user表中row key为rk0001,cell的值为zhangsan的信息
    get 'user', 'rk0001', {
          
          FILTER => "ValueFilter(=, 'binary:zhangsan')"}
    

    여기에 사진 설명 삽입

    # 获取user表中row key为rk0001,列标示符中含有a的信息
    get 'user', 'rk0001', {
          
          FILTER => "(QualifierFilter(=,'substring:a'))"}
    

    여기에 사진 설명 삽입

  • 스캔 별 쿼리 (스캔 조건)

    테이블의 모든 정보를 얻을 수 없으며 테이블의 모든 정보를 얻으려면 스캔을 통과해야합니다.

    # 查询user表中的所有信息
    scan 'user'
    

    여기에 사진 설명 삽입

    # 查询user表中列族为info的信息
    scan 'user', {
          
          COLUMNS => 'info'}
    

    여기에 사진 설명 삽입

    # 查询user表中列族为info和data的信息
    scan 'user', {
          
          COLUMNS => ['info', 'data']}
    # 查询user表中列族为info列为name和列族为data列为pic的信息
    scan 'user', {
          
          COLUMNS => ['info:name', 'data:pic']}
    

    여기에 사진 설명 삽입

    # 查询user表中列族为info、列标示符为name的信息,并且版本最新的5个
    scan 'user', {
          
          COLUMNS => ['info', 'data'], FILTER => "(QualifierFilter(=,'substring:a'))"}
    
    # 查询user表中列族为info,rk范围是[rk0001, rk0003)的数据
    scan 'user', {
          
          COLUMNS => 'info', STARTROW => 'rk0001', ENDROW => 'rk0003'}
    
    # 查询user表中row key以rk字符开头的
    scan 'user',{
          
          FILTER=>"PrefixFilter('rk')"}
    
    # 查询user表中指定范围的数据
    scan 'user', {
          
          TIMERANGE => [1582873430274, 1582873430774]}
    

    여기에 사진 설명 삽입

3. 업데이트 작업

  • 데이터 업데이트 : 작업은 삽입과 동일합니다.

  • 업데이트 된 버전

    # 将user表的f1列族版本号改为5
    alter 'user', NAME => 'info', VERSIONS => 5
    

4. 작업 삭제

  • 삭제할 행 키 및 열 이름 지정

    # 删除user表row key为rk0001,列标示符为info:name的数据
    delete 'user', 'rk0001', 'info:name'
    
    scan 'user'
    

    여기에 사진 설명 삽입

  • 삭제할 행 키, 열 이름 및 필드 값 지정

    # 删除user表row key为rk0001,列标示符为data:pic,timestamp为1392383705316的数据
    delete 'user', 'rk0001', 'data:pic', 1582873430274
    
  • column family 삭제

    alter 'user', NAME => 'info', METHOD => 'delete' 
    或 alter 'user', 'delete' => 'info'
    
  • 테이블 데이터 지우기

    truncate 'user'
    scan 'user'
    

    여기에 사진 설명 삽입

  • 표 삭제

    # 首先需要先让该表为disable状态
    disable 'user'
    # 删除表
    drop 'user'
    
    list
    

    여기에 사진 설명 삽입

추천

출처blog.csdn.net/qq_24852439/article/details/104561488