首页 > 其他分享 >hbase 常见命令

hbase 常见命令

时间:2024-02-28 17:27:15浏览次数:23  
标签:f1 Group name 列族 常见 t1 命令 版本 hbase

  1. 进入 hbase shell 命令行

    ./hbase shell
    
  2. 查看帮助

    #查看帮助,会列出 命令组
    help
    
    #有哪些命令组,常见的CRUD命令在 ddl 和 dml下面
    COMMAND GROUPS:
      Group name: general
      
      Group name: ddl
      
      Group name: namespace
      
      Group name: dml
      
      Group name: tools
    
      Group name: replication
    
      Group name: snapshots
    
      Group name: configuration
    
      Group name: quotas
    
      Group name: security
    
      Group name: procedures
    
      Group name: visibility labels
    
      Group name: rsgroup
    
      Group name: storefiletracker
    
    
  3. hbase shell 里面 字符串可以用 '' 或者 ""表示

  4. hbase的参数格式

    命令 参数1,参数2,参数3,...格式
    命令 参数1,参数2,{属性1=>值,属性2=>值},...格式
    
    如果参数是多个属性的{属性1=>值,属性2=>值}表示,所有属性都需要大写,属性不能用""包裹
    
  5. 命名空间操作(类似数据库)

    • help "namespace" #查看命名空间相关命令用法
    • list_namespace #查看有哪些命名空间
    • create_namespace 命名空间名字 #创建命名空间
    • drop_namespace 命名空间名字 #删除命名空间
  6. 表的操作

    • help "ddl" #查看ddl相关命名

    • hbase有两个自带命名空间 hbase 和 default
      如果是default命名空间的表可以省略命名空间

    • alter 't1', 'f1', {NAME => 'f2', IN_MEMORY => true}, {NAME => 'f3', VERSIONS => 5} #修改表定义

       alter "goods",{NAME=>"f1:name",VERSIONS=>3}
      
    • create "命名空间.表名","列族1","列族2" #创建一个表,有两个列族(简写)

    • create "t1", {NAME => "f1", VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true}
      创建一个表t1,创建列族f1,这个列族保留1个版本

    • disable "ns1:t1" #禁用一个表

    • enable "ns1:t1" #启用一个表

    • drop "ns1:t1" #删除一个表(删除前必须要禁用)

    • desc "ns1:t1" #查看表的结构

    • truncate "ns1:t1" #清空一个表的数据

    • exists "ns1.t1" #表是否存在

    • list "goo.*" #查看指定看开头的表

  7. 表数据的操作

    • help "dml" #查看dml相关命名
    • put "表名","rowId","列族:列名","0003name" #添加数据(一次添加一个cell,一行数据需要多次添加)
      put 可以添加也可以修改,修改实际就是添加一个新版本的数据
    • get "表名","rowId" #查询指定行记录
    • get 't1', 'r1', {COLUMN => ['c1', 'c2', 'c3']} #查询的时候只查询只指定列族
    • scan "goods",{STARTROW=>"开始ID",ENDROW=>"结束ID"} #扫描一个表(分页查询)
    • scan "goods",{STARTROW=>"开始ID",LIMIT=>每页多少条} #分页查询
    • scan "goods" #查询全部
    • count "表名" #查看有多少条记录
    • deleteall "表名", "rowId" #删除一条记录
    • deleteall "表名", "rowId" ,"f1" #删除一个列族里面的数据
    • incr "表名","rowId","列族:列名" #指定列自增(需要long类型才可以)
    • incr "表名","rowId","列族:列名" ,10 #指定列自增10
  8. 列族属性

    • NAME #列族名字

    • VERSIONS #保留几个版本
      默认0

    • MIN_VERSIONS # 最小版本数

    • IN_MEMORY # 激进缓存

    • BLOOMFILTER # 布隆过滤器

    • TTL #保存时间(s)
      默认永久

    • BLOCKCACHE #是否启用块缓存

    • BLOCKSIZE # 数据块大小
      默认64K

    • DATA_BLOCK_ENCODING # 数据块编码

    • CONFIGURATION #

    • COMPRESSION # 压缩方式

    • NUMREGIONS #region的数量

    • SPLITS_FILE #使用指定文件拆分region

      实际是更具 rowkey 的字段顺序拆分的,所以rowkey的前面几个字符的设计应该考虑分区
      
      
      #比如文件是这样
      1
      2
      3
      
      表示
      rowkey小于1的一个区,
      1-2的一个区
      2-3的一个区
      3以上的一个区
      
      这里的区间是字段排序的区间不是数字的区间
      
    • REGION_REPLICATION #region的副本数

    • SPLITS #指定分区

      SPLITS => [‘1000’,‘2000’,‘3000’,‘4000’]
      
    • SPLITALGO #按照16进制分区

      SPLITALGO=>'HexStringSplit'
      
    • OWNER #所属人

  9. 查看历史版本

    • hbase里面的数据实际是不能修改的,修改实际是新增数据,并且保留指定version数量个版本.
      超过version数量的版本会在合并数据的时候被删除.

    • 指定保存多少个版本是在列族上指定的

      #goods表,的f1列族,保留5个最新版本
      alter 'goods', {NAME => 'f1', VERSIONS => 5} 
      
    • 所以查询历史版本也是要指定到列族,不指定版本都是指显示最新的一个版本(时间最大的版本)

      #查看goods表,rowKey="0003"的记录,里面列族是f1,列是name的cell,并且查看最新的两个版本
      get "goods","0003",{COLUMN=>"f1:name",VERSIONS=>2}
      
  10. delete 和 deleteall 的区别

    • deleteall 删除的全部版本数据,
      deleteall 可以删除整行数据,也可以删除指定列族或者列的数据

    • delete 删除最新的版本
      版本是定义在列族上面的,所以不能删除行,只能删除列数据,并且删除列族也无效

      #删除的是 0003这列,里面 f1:name 最新的一个版本的数据
      delete "goods","0003","f1:name
      

标签:f1,Group,name,列族,常见,t1,命令,版本,hbase
From: https://www.cnblogs.com/cxygg/p/18041103

相关文章

  • docker常见的命令
    一:docker命令格式:docker选项命令选项:短格式和长格式短格式:一个连字符(-)加上单个字符-d-v-i等长格式:2个连字符(--)加上字符串--version注意:1:多个短格式的单字符可以组成起来一起使用dockerrun-ditubuntu/bin/bash 二:docker的一个完整的案例1:创建运行一个容器......
  • tar 命令
    tar命令是一个在Linux和Unix系统中常用的命令,用于将多个文件或目录打包成一个文件,或者将打包好的文件解压缩到指定目录。常用的tar命令选项包括:-c:创建新的归档文件;-x:从归档文件中提取文件;-v:显示正在处理的文件列表;-f:指定归档文件的名称;-z:使用gzip压缩;-j:使用bzip......
  • Linux 常用维护命令
    1、检查cat/etc/passwd这个文件里面有没有异常用户名2、通过命令top查看是否有异常进程,按M键对进程进行排序3、通过命令netstat-lnpt,查看是否有异常端口号4、通过命令ll-a/proc/PID,查看异常进程执行文件所在位置5、通过命令kill-9PID,杀掉该进程6、通过命令find/usr/lo......
  • dos命令
    dos打开cmdwin+Rcmd开始+系统+命令提示符常见Dos命令#盘符切换例如D:F:冒号是英文格式/d#查看目录全部文件dir#切换目录cdchangedirectory#cd..返回上一级#清理屏幕cls#退出终端exit#查看电脑ipipconfig#打开应用calcmspaintnotepad#ping命令......
  • orangepi zero3 使用dd命令进行SD卡系统备份与还原
    1.使用dd命令备份整个sd卡首先使用df-h命令查看sd卡挂载名,如下所示,sd卡挂载为/dev/sdcmeng@meng:~/桌面/code$df-h文件系统大小已用可用已用%挂载点tmpfs1.6G2.9M1.6G1%/run/dev/sda339G18G20G48%/tmpfs......
  • centos7安装hbase
    hbase离线包安装节点分配:实测一个节点2G内存勉强可以跑起来ip主机名节点类型192.168.1.200vm200hmaster192.168.1.201vm201HRegionServer192.168.1.202vm202HRegionServer安装hbase之前,需要有jdk环境,有hadoop集群,有zookeeperjdk安装:https://w......
  • Linux使用命令行编译并用st-link烧录STM32
    创建工程在STM32CubeMX中配置,选择Makefile并生成。环境安装编译工程需要用到arm-none-eabi,去官网下载对应系统版本,下载后解压到任意位置。添加环境变量添加环境变量到.bashrc文件:echo'exportPATH="/toolchain/arm-none-eabi/bin:$PATH"'>>~/.bashrc我解压的位置为/too......
  • linux基本知识汇总1(基础命令) 20000字汇总
    linux版本号主版本号.次版本号.修正次数2.6.30--次版本号为偶数:稳定版奇数:测试版$$$$命令选项查看方式1.内建命令(help)格式:help+内建命令####help命令//命令使用说明2.外部命令(–help)一般是Linux命令自带的帮助信息,并不是所有命令都自带这个......
  • Qt 开发经验常见问题及优化100条
    01:001-010当编译发现大量错误的时候,从第一个看起,一个一个的解决,不要急着去看下一个错误,往往后面的错误都是由于前面的错误引起的,第一个解决后很可能都解决了。比如我们可能就写错了一行代码,编译提示几百个错误,你只要把这一行纠正了,其他错误也就没了。定时器是个好东西,学会好使......
  • windows上的快捷键以及常见dos指令
    有关windows常用的快捷键普通ctrl+c复制ctrl+v粘贴ctrl+x截切ctrl+s保存ctrl+z撤销ctrl+a全选进阶alt+tab切换窗口win+tab后台win+r运行命令窗口win+e打开我的电脑ctrl+alt+esc任务管理器dos指令打开cmd的方式win键+run+cmd在任意文件夹下面按住shift键+单击......