目录

  • 一、基本命令
    • 1.1获取帮助
    • 1.2查看服务器状态
    • 1.3查看版本信息
  • 二、表操作
    • 2.1创建表
    • 2.2删除表
    • 2.3修改表名
    • 2.4查看所有的表
    • 2.5查看表的基本信息
    • 2.6检查表是否存在
    • 2.7表的启用和禁用
  • 三、增删改
    • 3.1添加列簇
    • 3.2删除列簇
    • 3.3更改列簇存储版本的限制
    • 3.4插入数据
    • 3.5获取指定行、指定行中的列族、列的信息
    • 3.6删除指定行、指定行中的列
  • 四、查询
    • 4.1get查询
    • 4.2scan查询
  • 五、用户权限
  • 六、批量导入文件
  • 七、命令空间
    • 7.1 创建命名空间
    • 7.2 查看命名空间
    • 7.3 命名空间下建表
    • 7.4 查看命名空间下的表

一、基本命令

打开Hbase Shell:

hbase shell

1.1获取帮助

#获取帮助
help
#获取命令的详细信息
help 'status'

1.2查看服务器状态

status

1.3查看版本信息

version

二、表操作

2.1创建表

命令格式1:create ‘表名’,‘列簇名1’,‘列簇名2’…
命名格式2:create ‘表名’,{NAME=>‘列簇名1’},{NAME=>‘列簇名2’}…

#创建一张名为Student的表,包含基本信息(baseinfo)、学校信息(schoolinfo)两个列簇
create 'student','haseinfo','schoolinfo'

2.2删除表

#删除表前需要先禁用表
disable 'student'
#删除表
drop 'student'

2.3修改表名

命令格式:
snapshot '表名’,‘镜像名’
clone_snapshot ‘镜像名’,‘新表名’
delect_snapshot ‘镜像名’

snapshot 'student','temp'
clone_snapshot 'temp','stu'
delect_snapshot 'temp'

注:可以将原表删除,删除命令参照2.2删除表

2.4查看所有的表

list

2.5查看表的基本信息

命令格式:desc ‘表名’

desc 'Student'

2.6检查表是否存在

exists 'student'

2.7表的启用和禁用

#禁用表
disable 'student'
#检查表是否被禁用
is_disabled 'student'
#启用表
enable 'student'
#检查表是否被启用
is_enabled 'student'

三、增删改

3.1添加列簇

命令格式:alter ‘表名’,‘列簇名’

alter 'student','teacherinfo'

3.2删除列簇

命令格式:alter ‘表名’,{NAME=>‘列簇名’,METHOD=‘delete’}

alter 'student', {NAME => 'teacherinfo', METHOD => 'delete'}

3.3更改列簇存储版本的限制

默认情况下列族只存储一个版本的数据,如果需要存储多个版本的数据,则需要修改列族的属性。修改后可通过 desc 命令查看。

alter 'student',{NAME=>'baseinfo',VERSIONS=>3}

3.4插入数据

命令格式:put ‘表名’,‘行键’,‘列簇名:列名’,‘值’[,时间戳]

put 'student', '1','baseinfo:name','tom'
put 'student', '1','baseinfo:birthday','1990-01-09'
put 'student', '1','baseinfo:age','29'
put 'student', '1','schoolinfo:name','Havard'
put 'student', '1','schoolinfo:localtion','Boston'put 'student', '2','baseinfo:name','jack'
put 'student', '2','baseinfo:birthday','1998-08-22'
put 'student', '2','baseinfo:age','21'
put 'student', '2','schoolinfo:name','yale'
put 'student', '2','schoolinfo:localtion','New Haven'put 'student', '3','baseinfo:name','maike'
put 'student', '3','baseinfo:birthday','1995-01-22'
put 'student', '3','baseinfo:age','24'
put 'student', '3','schoolinfo:name','yale'
put 'student', '3','schoolinfo:localtion','New Haven'put 'student', '4','baseinfo:name','maike-jack'

3.5获取指定行、指定行中的列族、列的信息

# 获取指定行中所有列的数据信息
get 'student','3'
# 获取指定行中指定列族下所有列的数据信息
get 'student','3','baseInfo'
# 获取指定行中指定列的数据信息
get 'student','3','baseinfo:name'

3.6删除指定行、指定行中的列

# 删除指定行
delete 'student','3'
# 删除指定行中指定列的数据
delete 'student','3','baseinfo:name'

四、查询

hbase 中访问数据有两种基本的方式:

  • 按指定 rowkey 获取数据:get 方法;
  • 按指定条件获取数据:scan 方法。
    scan 可以设置 begin 和 end 参数来访问一个范围内所有的数据。get 本质上就是 begin 和 end 相等的一种特殊的 scan。

4.1get查询

# 获取指定行中所有列的数据信息
get 'student','3'
# 获取指定行中指定列族下所有列的数据信息
get 'student','3','baseinfo'
# 获取指定行中指定列的数据信息
get 'student','3','baseinfo:name'

4.2scan查询

#查询整表数据
scan 'student'
#查询指定列簇的数据
scan 'student', {COLUMN=>'baseinfo'}
# 查询指定列的数据
scan 'student', {COLUMNS=> 'baseinfo:birthday'}
# 查看指定列两个版本的数据(3.3中我们设置了3个版本)
scan 'student', {COLUMNS=> 'baseinfo:birthday',VERSIONS=>2}
# 查看前3条数据
scan 'student',{LIMIT=>3}

五、用户权限

user_permission ['表名'..]
grant '用户名' ,'RWXCA'

设置用户权限需要配置hbase-site.xml

<property><name>hbase.security.authorization</name><value>true</value>
</property>
<property><name>hbase.coprocessor.master.classes</name><value>org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property><name>hbase.coprocessor.region.classes</name><value>org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property><name>hbase.superuser</name><value>hadoop</value>
</property>

六、批量导入文件

1、建表:表名为emp_basic

create 'emp_basic',{NAME=>'emp'},{NAME=>'time'}

2、上传文件到hdfs

hdfs dfs -put emp_basic.csv /test

3、将文档数据导入HBase

hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator="," -Dimporttsv.columns="HBASE_ROW_KEY,emp:name,emp:job_title,emp:company,time:sDate,time:eDate" "emp_basic" /test/emp_basic.csv

七、命令空间

7.1 创建命名空间

create_namespace 'events_db'

7.2 查看命名空间

list_namespace

7.3 命名空间下建表

create 'events_db:user_friend','uf'

7.4 查看命名空间下的表

list_namespace_tables 'events_db'

HBase常用命令(超全超详细)相关推荐

  1. linux命令行开头是sh,shell脚本语言的使用(超全超详细)

    1.shell的概述 shell 是一种脚本语言 脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译) shell 既是应用程序 又 ...

  2. linux中写脚本一般用语言,shell脚本语言的使用(超全超详细)

    1.shell的概述 shell 是一种脚本语言 脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译) shell 既是应用程序 又 ...

  3. 超全超详细的HTTP状态码大全

    超全超详细的HTTP状态码大全 本部分余下的内容会详细地介绍 HTTP 1.1中的状态码.这些状态码被分为五大类: 100-199 用于指定客户端应相应的某些动作. 200-299 用于表示请求成功. ...

  4. ensp启动设备蓝屏_超全超详细的电脑蓝屏问题解决方案汇总

    生活太难了!每天搬砖已经够不容易,电脑还作妖: 设计图还差最后一个图层,蓝屏了!!财务工资表格马上统计完,蓝屏了?!熬了一宿马上写完1万字稿件,蓝屏了- 今天,我就带大家轻松搞定蓝屏. 什么是蓝屏 蓝 ...

  5. linux 查看hbase是否启动命令,linux、hdfs、hive、hbase常用命令

    linux常用命令 pwd 查看当前工作目录的绝对路径 cat input.txt 查看input.txt文件的内容 ls 显示当前目录下所有的文件及子目录 rm recommender-dm-1.0 ...

  6. lisp调用qleader端点_CAD常用命令大全全解.doc

    CAD常用命令大全全解 1.3darray 3a 三维阵列 2.3dclip 设置剪切平面位置 3.3dcorblt 继续执行3DORBIT命令 4.3DDISTANCE 距离调整 5.3DFACE ...

  7. 史上最全的Uboot常用命令汇总(超全面!超详细!)收藏这一篇就够了

    Linux 系统要启动就必须需要一个 bootloader 程序,也就说芯片上电以后先运行一段bootloader程序.这段bootloader程序会先初始化DDR等外设,然后将Linux内核从fla ...

  8. 2021年超全超详细的最新大数据开发面试题,附答案解析

    版本 时间 描述 V1.0 2020-12-18 创建 V1.2 2021-01-17 新增 spark 面试题 V1.3 2021-01-18 新增 kafka 面试题 V1.4 2021-01-2 ...

  9. Linux系统超全超实惠的命令行工具

    Linux工具 Linux下还是有很多超棒的开发工具的. 在Linux日常使用中,最常用的命令自然是sudo, ls, cp, mv, cat等,但作为后台开发者,上述命令远远不够.从我的理解来看,合 ...

  10. Awesome Adb——一份超全超详细的 ADB 用法大全【转】

    本文转载自:https://juejin.im/entry/57c00fe4c4c971006179838a ADB,即 Android Debug Bridge,它是 Android 开发/测试人员 ...

最新文章

  1. 薅资本主义羊毛新姿势,英伟达GPU免费用
  2. abs 不会整数 方法 溢出_在 Golang 中针对 int64 类型优化 abs()
  3. 《Java 7程序设计入门经典》一3.14 像使用goto语句一样使用break语句
  4. Cpp 对象模型探索 / delete 运算符内部调用过程分析
  5. HTML5 + CSS 左右排版自适应高
  6. final 在 java 中有什么作用?
  7. Hibernate脏检查的剖析
  8. 转 IDEA 解决代码提示功能消失
  9. delphi framerect 画透明_闭上眼睛一起进入彩色画的梦境,幻彩花精灵,彩铅手绘教程...
  10. Transfrom在64bit服务下面无法运行
  11. Django REST Framework API Guide 05
  12. 软件开发模式之敏捷开发模型,应用之DevOps
  13. 利用 Python分析北京雾霾天,发现这么秘密
  14. C语言控制台美化教程
  15. 在python中如何生成随机手机号码
  16. WordCloud 中英文词云图绘制,看这一篇就够了
  17. NVIDIA NGC镜像使用笔记
  18. 数位dp算法——洛谷p1980
  19. 怎样在电脑上录制ppt课件?如何录制课件讲解视频
  20. vue 中 mixins 的使用

热门文章

  1. 我要转行,考CPDA数据分析师证书有哪些帮助?
  2. Java编写五线谱上的音符_新手读懂五线谱
  3. c++复习日记3 模板和流
  4. asterisk 服务器文档,用 Asterisk 搭建自己的免费 VoIP 服务器
  5. tomcat日志设置与详解
  6. Android实现ping功能
  7. 分析137份大数据简历-统计技术名词词频
  8. Windows上搭建SFTP服务器
  9. 广数25i系统倒刀回刀m代码_史上最全数控系统代码信息!错过没有了!
  10. pwnable.tw dubblesort